Example usage for org.springframework.jdbc.core.support AbstractLobCreatingPreparedStatementCallback AbstractLobCreatingPreparedStatementCallback

List of usage examples for org.springframework.jdbc.core.support AbstractLobCreatingPreparedStatementCallback AbstractLobCreatingPreparedStatementCallback

Introduction

In this page you can find the example usage for org.springframework.jdbc.core.support AbstractLobCreatingPreparedStatementCallback AbstractLobCreatingPreparedStatementCallback.

Prototype

public AbstractLobCreatingPreparedStatementCallback(LobHandler lobHandler) 

Source Link

Document

Create a new AbstractLobCreatingPreparedStatementCallback for the given LobHandler.

Usage

From source file:io.lavagna.service.CardDataRepository.java

@Transactional(readOnly = false)
public int addUploadContent(final String digest, final long fileSize, final InputStream content,
        final String contentType) {
    LobHandler lobHandler = new DefaultLobHandler();
    return jdbc.getJdbcOperations().execute(queries.addUploadContent(),
            new AbstractLobCreatingPreparedStatementCallback(lobHandler) {

                @Override/*from   w  w w .  j  ava 2s.c  om*/
                protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                    ps.setString(1, digest);
                    ps.setLong(2, fileSize);
                    lobCreator.setBlobAsBinaryStream(ps, 3, content, (int) fileSize);
                    ps.setString(4, contentType);
                }
            });
}

From source file:bd.gov.forms.dao.FormDaoImpl.java

public void saveEntry(final Form form) {
    String cols = "entry_date, entry_time, entry_id, entry_status, ";
    String val = "CURDATE(), CURTIME(), ?, ?, ";

    for (Field field : form.getFields()) {
        if (fieldTypeIsNotFileOrNoteOrSection(field.getType())) {
            cols += field.getColName() + ", ";
            val += "? , ";
        }//from w  w w.j  a v  a2 s .  c  o  m

        if ("file".equals(field.getType())) {
            if (notEmpty(field.getByteVal())) {
                cols += field.getColName() + ", " + field.getColName() + "_fname, ";
                val += "? , ?, ";
            }
        }
    }

    cols = cols.substring(0, cols.length() - 2);
    val = val.substring(0, val.length() - 2);

    String sql = "INSERT INTO " + form.getTableName();
    sql += " (" + cols + ")";
    sql += " VALUES (" + val + ")";

    log.debug("SQL INSERT query: {}", sql);

    jdbcTemplate.execute(sql, new AbstractLobCreatingPreparedStatementCallback(lobHandler) {

        protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
            int i = 1;

            ps.setString(i++, form.getEntryId());
            ps.setString(i++, form.getEntryStatus());

            for (Field field : form.getFields()) {
                if (fieldTypeIsNotFileOrNoteOrSection(field.getType())) {
                    ps.setString(i++, field.getStrVal());
                }

                if ("file".equals(field.getType())) {
                    if (notEmpty(field.getByteVal())) {
                        lobCreator.setBlobAsBinaryStream(ps, i++, new ByteArrayInputStream(field.getByteVal()),
                                field.getByteVal().length);
                        ps.setString(i++, field.getStrVal());
                        log.debug("File Name: {}", field.getStrVal());
                    }
                }
            }
        }
    });
}

From source file:org.apache.camel.component.jdbc.aggregationrepository.JdbcAggregationRepository.java

@SuppressWarnings("unchecked")
public Exchange add(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
    return (Exchange) transactionTemplate.execute(new TransactionCallback() {

        public Exchange doInTransaction(TransactionStatus status) {
            String sql;//from w w  w . j av  a  2  s.  c  o m
            Exchange result = null;
            final String key = correlationId;

            try {
                final byte[] data = codec.marshallExchange(camelContext, exchange);

                if (LOG.isDebugEnabled()) {
                    LOG.debug("Adding exchange with key: [" + key + "]");
                }

                String insert = "INSERT INTO " + getRepositoryName() + " (" + EXCHANGE + ", " + ID
                        + ") VALUES (?, ?)";
                String update = "UPDATE " + getRepositoryName() + " SET " + EXCHANGE + " = ? WHERE " + ID
                        + " = ?";

                boolean present = jdbcTemplate.queryForInt(
                        "SELECT COUNT (*) FROM " + getRepositoryName() + " WHERE " + ID + " = ?", key) != 0;
                sql = present ? update : insert;

                // Recover existing exchange with that ID
                if (isReturnOldExchange() && present) {
                    result = get(key, getRepositoryName(), camelContext);
                }

                jdbcTemplate.execute(sql, new AbstractLobCreatingPreparedStatementCallback(getLobHandler()) {
                    @Override
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                        lobCreator.setBlobAsBytes(ps, 1, data);
                        ps.setString(2, key);
                    }
                });

            } catch (IOException e) {
                throw new RuntimeException("Error adding to repository " + repositoryName + " with key " + key,
                        e);
            }

            return result;
        }
    });

}

From source file:org.apache.camel.component.jdbc.aggregationrepository.JdbcAggregationRepository.java

public void remove(final CamelContext camelContext, final String correlationId, final Exchange exchange) {
    transactionTemplate.execute(new TransactionCallbackWithoutResult() {
        protected void doInTransactionWithoutResult(TransactionStatus status) {
            final String key = correlationId;
            final String confirmKey = exchange.getExchangeId();
            try {
                final byte[] data = codec.marshallExchange(camelContext, exchange);

                if (LOG.isDebugEnabled()) {
                    LOG.debug("Removing key [" + key + "]");
                }/*w w  w .  j a v a 2s. c  o  m*/

                jdbcTemplate.update("DELETE FROM " + getRepositoryName() + " WHERE " + ID + " = ?",
                        new Object[] { key });

                jdbcTemplate.execute(
                        "INSERT INTO " + getRepositoryNameCompleted() + " (" + EXCHANGE + ", " + ID
                                + ") VALUES (?, ?)",
                        new AbstractLobCreatingPreparedStatementCallback(getLobHandler()) {
                            @Override
                            protected void setValues(PreparedStatement ps, LobCreator lobCreator)
                                    throws SQLException {
                                lobCreator.setBlobAsBytes(ps, 1, data);
                                ps.setString(2, confirmKey);
                            }
                        });
            } catch (IOException e) {
                throw new RuntimeException("Error removing key " + key + " from repository " + repositoryName,
                        e);
            }
        }
    });
}

From source file:org.easyrec.store.dao.plugin.impl.PluginDAOMysqlImpl.java

public void storePlugin(PluginVO plugin) {

    final PluginVO pluginParam = plugin;
    try {// ww w.  j  a va 2 s . c om

        getJdbcTemplate().execute(SQL_ADD_PLUGIN, new AbstractLobCreatingPreparedStatementCallback(lobHandler) {

            @Override
            protected void setValues(PreparedStatement ps, LobCreator lobCreator)
                    throws SQLException, DataAccessException {
                ps.setString(1, pluginParam.getDisplayName());
                ps.setString(2, pluginParam.getPluginId().getUri().toString());
                ps.setString(3, pluginParam.getPluginId().getVersion().toString());
                ps.setString(4, pluginParam.getOrigFilename());
                ps.setString(5, pluginParam.getState());
                lobCreator.setBlobAsBytes(ps, 6, pluginParam.getFile());
                ps.setTimestamp(7, new Timestamp(System.currentTimeMillis()));
            }
        });

    } catch (DataIntegrityViolationException e) {

        logger.info("Updating plugin!");
        getJdbcTemplate().execute(SQL_UPDATE_PLUGIN,
                new AbstractLobCreatingPreparedStatementCallback(lobHandler) {

                    @Override
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator)
                            throws SQLException, DataAccessException {
                        ps.setString(1, pluginParam.getDisplayName());
                        ps.setString(2, pluginParam.getOrigFilename());
                        ps.setString(3, pluginParam.getState());
                        lobCreator.setBlobAsBytes(ps, 4, pluginParam.getFile());
                        ps.setTimestamp(5, new Timestamp(System.currentTimeMillis()));
                        ps.setString(6, pluginParam.getPluginId().getUri().toString());
                        ps.setString(7, pluginParam.getPluginId().getVersion().toString());
                    }
                });
    } catch (Exception ex) {
        logger.error("An error occured storing the plugin! " + ex);
    }
}

From source file:org.easyrec.store.dao.web.impl.BatchUploadLogDAOMysqlImpl.java

@Override
public void storeBatchUploadLog(final BatchUploadLogVO batchUploadLog) {

    final BatchUploadLogVO batchUploadLogParam = batchUploadLog;
    try {/*from   w ww. j  a  va  2s .co  m*/

        getJdbcTemplate().execute(SQL_ADD_BATCHUPLOADLOG,
                new AbstractLobCreatingPreparedStatementCallback(lobHandler) {

                    @Override
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator)
                            throws SQLException, DataAccessException {
                        ps.setString(1, batchUploadLogParam.getFileType());
                        ps.setString(2, batchUploadLogParam.getFileName());
                        ps.setString(3, batchUploadLogParam.getLineCount().toString());
                        ps.setString(4, batchUploadLogParam.getStatus());
                        ps.setString(5, batchUploadLogParam.getTime().toString());
                        ps.setString(6, batchUploadLogParam.getMessage());
                        ps.setString(7, batchUploadLogParam.getTenantId());
                        ps.setString(8, batchUploadLogParam.getOperatorId());
                        ps.setString(9, batchUploadLogParam.getToken());
                        ps.setString(10, batchUploadLogParam.getApikey());

                    }
                });

    } catch (DataIntegrityViolationException e) {

        logger.error("An error occured storing the batchUploadLog! " + e);
    }
}

From source file:org.fireflow.engine.persistence.springjdbc.PersistenceServiceSpringJdbcImpl.java

public void saveOrUpdateWorkflowDefinition(final WorkflowDefinition workflowDef) {

    if (workflowDef.getId() == null || workflowDef.getId().equals("")) {
        Integer latestVersion = findTheLatestVersionNumberIgnoreState(workflowDef.getProcessId());
        if (latestVersion != null) {
            workflowDef.setVersion(new Integer(latestVersion.intValue() + 1));
        } else {/*ww  w  . j a  v a  2s .com*/
            workflowDef.setVersion(new Integer(1));
        }
    }

    // this.getHibernateTemplate().saveOrUpdate(workflowDef);

    if (workflowDef.getId() == null) {
        StringBuffer sql = new StringBuffer();
        sql.append(" INSERT INTO t_ff_df_workflowdef(");
        sql.append("id,definition_type,process_id,name,display_name,");
        sql.append("description,version,state,upload_user,upload_time,");
        sql.append("publish_user,publish_time,process_content )");
        sql.append(" VALUES(?,?,?,?,?, ?,?,?,?,?, ?,?,?)");

        if (show_sql) {
            System.out.println("FIREWORKFLOW_JDCB:" + sql.toString());
        }

        super.getJdbcTemplate().execute(sql.toString(),
                new AbstractLobCreatingPreparedStatementCallback(this.lobHandler) {
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {
                        ps.setString(1, java.util.UUID.randomUUID().toString().replace("-", ""));
                        ps.setString(2, workflowDef.getDefinitionType());
                        ps.setString(3, workflowDef.getProcessId());
                        ps.setString(4, workflowDef.getName());
                        ps.setString(5, workflowDef.getDisplayName());

                        ps.setString(6, workflowDef.getDescription());
                        ps.setInt(7, workflowDef.getVersion());
                        ps.setInt(8, workflowDef.getState() == true ? 1 : 0);
                        ps.setString(9, workflowDef.getUploadUser());
                        ps.setTimestamp(10, getSqlDateTime(workflowDef.getUploadTime()));

                        ps.setString(11, workflowDef.getPublishUser());
                        ps.setTimestamp(12, getSqlDateTime(workflowDef.getPublishTime()));
                        lobCreator.setClobAsString(ps, 13, workflowDef.getProcessContent());
                    }
                });

    } else {
        StringBuffer sql = new StringBuffer();
        sql.append(" update t_ff_df_workflowdef ");
        sql.append("set definition_type=?,process_id=?,name=?,display_name=?,");
        sql.append("description=?,version=?,state=?,upload_user=?,upload_time=?,");
        sql.append("publish_user=?,publish_time=?,process_content=? ");
        sql.append(" where id=? ");

        if (show_sql) {
            System.out.println("FIREWORKFLOW_JDCB:" + sql.toString());
        }

        super.getJdbcTemplate().execute(sql.toString(),
                new AbstractLobCreatingPreparedStatementCallback(this.lobHandler) {
                    protected void setValues(PreparedStatement ps, LobCreator lobCreator) throws SQLException {

                        ps.setString(1, workflowDef.getDefinitionType());
                        ps.setString(2, workflowDef.getProcessId());
                        ps.setString(3, workflowDef.getName());
                        ps.setString(4, workflowDef.getDisplayName());

                        ps.setString(5, workflowDef.getDescription());
                        ps.setInt(6, workflowDef.getVersion());
                        ps.setInt(7, workflowDef.getState() == true ? 1 : 0);
                        ps.setString(8, workflowDef.getUploadUser());
                        ps.setTimestamp(9, getSqlDateTime(workflowDef.getUploadTime()));

                        ps.setString(10, workflowDef.getPublishUser());
                        ps.setTimestamp(11, getSqlDateTime(workflowDef.getPublishTime()));
                        lobCreator.setClobAsString(ps, 12, workflowDef.getProcessContent());

                        ps.setString(13, workflowDef.getId());
                    }
                });
    }

}

From source file:org.springframework.integration.cluster.strictorder.JdbcEntityQueues.java

public void add(final String key, Message<?> message) {
    final ByteArrayOutputStream bos = new ByteArrayOutputStream();
    try {// www .ja v  a2s.co m
        ObjectOutputStream oos = new ObjectOutputStream(bos);
        oos.writeObject(message);
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
    this.jdbcOperations.execute(getInsertSql(),
            new AbstractLobCreatingPreparedStatementCallback(getLobHandler()) {
                protected void setValues(PreparedStatement ps, LobCreator lobCreator)
                        throws SQLException, DataAccessException {
                    ps.setString(1, key);
                    ps.setString(2, dispatcherName);
                    lobCreator.setBlobAsBytes(ps, 3, bos.toByteArray());
                }
            });
}