Example usage for org.springframework.transaction.support TransactionTemplate TransactionTemplate

List of usage examples for org.springframework.transaction.support TransactionTemplate TransactionTemplate

Introduction

In this page you can find the example usage for org.springframework.transaction.support TransactionTemplate TransactionTemplate.

Prototype

public TransactionTemplate(PlatformTransactionManager transactionManager) 

Source Link

Document

Construct a new TransactionTemplate using the given transaction manager.

Usage

From source file:database.DataLoader.java

private void moveOrderTypes() throws SQLException, ClassNotFoundException, Exception {
    try {/*from www.  ja v  a 2 s.co  m*/
        final String tableName = TYPE;
        final ResultSet typeSet = getFromOldBase(getSelectAll(tableName));
        while (typeSet.next()) {

            TransactionTemplate temp = new TransactionTemplate(transactionManager);
            temp.execute(new TransactionCallbackWithoutResult() {

                @Override
                protected void doInTransactionWithoutResult(TransactionStatus ts) {
                    Long oldId = 0L;
                    try {
                        oldId = typeSet.getLong("id");

                        String name = typeSet.getString("name");
                        OrderType orderType = new OrderType();
                        orderType.setName(name);
                        saveObjectAndLink(orderType, oldId, tableName);
                    } catch (Exception e) {
                        ts.setRollbackOnly();
                        addErrorMessage("type: " + oldId + " " + StringAdapter.getStackExeption(e));
                    }
                }
            });

        }
    } catch (Throwable th) {
        log.warn("moveTypes " + StringAdapter.getStackExeption(th));
    }
}

From source file:database.DataLoader.java

private void moveAdminMessages() throws SQLException, ClassNotFoundException, Exception {
    try {//from  ww w . j a va  2  s  .  co m
        final String tableName = ADMIN_DISCUSS;
        final ResultSet resSet = getFromOldBase(getSelectAll(tableName));
        while (resSet.next()) {

            TransactionTemplate temp = new TransactionTemplate(transactionManager);
            temp.execute(new TransactionCallbackWithoutResult() {

                @Override
                protected void doInTransactionWithoutResult(TransactionStatus ts) {
                    Long oldId = 0L;
                    try {
                        oldId = resSet.getLong("id");
                        Long oldOrderId = resSet.getLong("order_id");
                        Long oldAdminId = resSet.getLong("admin_id");
                        Long newOrderId = getNewId(oldOrderId, ORDER);
                        Long newAdminId = getNewId(oldAdminId, USERS);
                        Timestamp date = resSet.getTimestamp("timestamp");
                        Order order = orderDao.find(newOrderId);
                        User admin = userDao.find(newAdminId);
                        String message = resSet.getString("message");
                        AdminMessage ent = new AdminMessage();
                        ent.setAdmin(admin);
                        ent.setMessageDate(date);
                        ent.setOrder(order);
                        ent.setText(message);

                        saveObjectAndLink(ent, oldId, tableName);
                    } catch (Throwable e) {
                        ts.setRollbackOnly();
                        addErrorMessage("admin: " + oldId + " "
                                + StringAdapter.transliterate(StringAdapter.getStackExeption(e)));
                    }
                }
            });

        }
    } catch (Throwable e) {
        log.warn("admin:  " + StringAdapter.transliterate(StringAdapter.getStackExeption(e)));
    }
}

From source file:com.formkiq.web.AbstractIntegrationTest.java

/**
 * Setup System.//from   w ww . ja  v a  2s.  co m
 * @return {@link Pair}
 */
@SuppressWarnings("unchecked")
private Pair<String, String> setupSystem() {
    TransactionTemplate transactionTemplate = new TransactionTemplate(this.transactionManager);

    Pair<String, String> client = (Pair<String, String>) transactionTemplate.execute(setupSystemTransaction());
    return client;
}

From source file:org.openvpms.component.business.service.archetype.ArchetypeServiceActTestCase.java

/**
 * Sets up the test case.//from  w ww . j a  va2  s .  c o  m
 */
@Before
public void setUp() {
    PlatformTransactionManager txnManager = (PlatformTransactionManager) applicationContext
            .getBean("txnManager");
    template = new TransactionTemplate(txnManager);
}

From source file:dao.SearchDAO.java

public static ObjectNode getPagedJobByKeyword(String category, String keyword, int page, int size) {
    final List<FlowJob> pagedFlowJobs = new ArrayList<FlowJob>();
    final JdbcTemplate jdbcTemplate = getJdbcTemplate();
    javax.sql.DataSource ds = jdbcTemplate.getDataSource();
    DataSourceTransactionManager tm = new DataSourceTransactionManager(ds);

    TransactionTemplate txTemplate = new TransactionTemplate(tm);

    ObjectNode result;/*from  w w  w.java  2 s. c  om*/
    result = txTemplate.execute(new TransactionCallback<ObjectNode>() {
        public ObjectNode doInTransaction(TransactionStatus status) {
            String query = SEARCH_JOB_WITH_PAGINATION.replace("$keyword", keyword);
            List<Map<String, Object>> rows = null;

            rows = jdbcTemplate.queryForList(query, (page - 1) * size, size);
            for (Map row : rows) {

                FlowJob flowJob = new FlowJob();
                flowJob.flowId = (Long) row.get(FlowRowMapper.FLOW_ID_COLUMN);
                flowJob.jobId = (Long) row.get(FlowRowMapper.JOB_ID_COLUMN);
                flowJob.jobName = (String) row.get(FlowRowMapper.JOB_NAME_COLUMN);
                flowJob.jobPath = (String) row.get(FlowRowMapper.JOB_PATH_COLUMN);
                flowJob.jobType = (String) row.get(FlowRowMapper.JOB_TYPE_COLUMN);
                flowJob.flowName = (String) row.get(FlowRowMapper.FLOW_NAME_COLUMN);
                flowJob.flowPath = (String) row.get(FlowRowMapper.FLOW_PATH_COLUMN);
                flowJob.flowGroup = (String) row.get(FlowRowMapper.FLOW_GROUP_COLUMN);
                flowJob.appCode = (String) row.get(FlowRowMapper.APP_CODE_COLUMN);
                flowJob.appId = (Integer) row.get(FlowRowMapper.APP_ID_COLUMN);
                flowJob.displayName = flowJob.jobName;
                flowJob.link = "#/flows/name/" + flowJob.appCode + "/" + Long.toString(flowJob.flowId)
                        + "/page/1?urn=" + flowJob.flowGroup;
                flowJob.path = flowJob.appCode + "/" + flowJob.jobPath;

                pagedFlowJobs.add(flowJob);
            }
            long count = 0;
            try {
                count = jdbcTemplate.queryForObject("SELECT FOUND_ROWS()", Long.class);
            } catch (EmptyResultDataAccessException e) {
                Logger.error("Exception = " + e.getMessage());
            }

            ObjectNode resultNode = Json.newObject();
            resultNode.put("count", count);
            resultNode.put("isFlowJob", true);
            resultNode.put("page", page);
            resultNode.put("category", category);
            resultNode.put("itemsPerPage", size);
            resultNode.put("totalPages", (int) Math.ceil(count / ((double) size)));
            resultNode.set("data", Json.toJson(pagedFlowJobs));

            return resultNode;
        }
    });

    return result;
}

From source file:com.formkiq.web.AbstractIntegrationTest.java

/**
 * Resets Database./*from w  w  w.  j av a2  s  .  c o m*/
 */
protected void truncateDatabase() {

    TransactionTemplate transactionTemplate = new TransactionTemplate(this.transactionManager);
    transactionTemplate.execute(new TransactionCallback<Object>() {
        @Override
        public Object doInTransaction(final TransactionStatus arg0) {

            EntityManager em = AbstractIntegrationTest.this.entityManager;
            truncateDatabase(em);
            migrateSystemProperties(em);
            return null;
        }
    });
}

From source file:database.DataLoader.java

private void moveAuthorMessages() throws Exception {
    try {/* w w  w. j  av a 2 s.  c o  m*/
        String modelName = Z_BID_DISCUSS;
        ResultSet set = getFromOldBase(
                "select dis.*, bid.order_id, bid.author_id from z_zbid_discuss dis, z_zbid bid where dis.bid_id = bid.id order by dis.id limit 10000, 200000");
        while (set.next()) {
            final TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);
            transactionTemplate.execute(new AuthorMessageTransactionCallback(set, modelName));
        }
    } catch (Throwable th) {
        log.warn("moveAuthorMessages " + StringAdapter.getStackExeption(th));
    }
}

From source file:com.formkiq.web.AbstractIntegrationTest.java

/**
 * Resets Database.//from w  w  w. j a  va 2s .  c o m
 * @param tables {@link String}
 */
protected void truncateTables(final String... tables) {

    TransactionTemplate transactionTemplate = new TransactionTemplate(this.transactionManager);
    transactionTemplate.execute(new TransactionCallback<Object>() {
        @Override
        public Object doInTransaction(final TransactionStatus arg0) {

            EntityManager em = AbstractIntegrationTest.this.entityManager;
            truncateTables(em, Arrays.asList(tables));
            return null;
        }
    });
}

From source file:dao.SearchDAO.java

public static ObjectNode getPagedCommentsByKeyword(String category, String keyword, int page, int size) {
    List<Dataset> pagedDatasets = new ArrayList<Dataset>();
    final JdbcTemplate jdbcTemplate = getJdbcTemplate();
    javax.sql.DataSource ds = jdbcTemplate.getDataSource();
    DataSourceTransactionManager tm = new DataSourceTransactionManager(ds);

    TransactionTemplate txTemplate = new TransactionTemplate(tm);

    ObjectNode result;// www.java 2s  . c  o  m
    result = txTemplate.execute(new TransactionCallback<ObjectNode>() {
        public ObjectNode doInTransaction(TransactionStatus status) {
            List<Map<String, Object>> rows = null;
            String query = SEARCH_DATASET_BY_COMMENTS_WITH_PAGINATION.replace("$keyword", keyword);
            rows = jdbcTemplate.queryForList(query, (page - 1) * size, size);

            for (Map row : rows) {

                Dataset ds = new Dataset();
                ds.id = (long) row.get(DatasetRowMapper.DATASET_ID_COLUMN);
                ds.name = (String) row.get(DatasetRowMapper.DATASET_NAME_COLUMN);
                ds.source = (String) row.get(DatasetRowMapper.DATASET_SOURCE_COLUMN);
                ds.urn = (String) row.get(DatasetRowMapper.DATASET_URN_COLUMN);
                ds.schema = (String) row.get(DatasetRowMapper.DATASET_SCHEMA_COLUMN);
                pagedDatasets.add(ds);
            }
            long count = 0;
            try {
                count = jdbcTemplate.queryForObject("SELECT FOUND_ROWS()", Long.class);
            } catch (EmptyResultDataAccessException e) {
                Logger.error("Exception = " + e.getMessage());
            }

            ObjectNode resultNode = Json.newObject();
            resultNode.put("count", count);
            resultNode.put("page", page);
            resultNode.put("category", category);
            resultNode.put("itemsPerPage", size);
            resultNode.put("totalPages", (int) Math.ceil(count / ((double) size)));
            resultNode.set("data", Json.toJson(pagedDatasets));

            return resultNode;
        }
    });

    return result;
}

From source file:database.DataLoader.java

private void addPaymentsToOrders() throws Exception {
    String tableName = ORDER;/*  ww w .j  a  v  a 2  s. c o m*/
    final ResultSet set = getFromOldBase(getSelectAll(tableName));
    final List<Payment> paymentList = getAllPayments();
    while (set.next()) {

        Long oldOrderId = 0L;
        try {
            oldOrderId = set.getLong("id");

            final TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);
            transactionTemplate.execute(new TransactionCallbackWithoutResult() {

                @Override
                protected void doInTransactionWithoutResult(TransactionStatus ts) {
                    Long oldOrderId = 0L;
                    try {
                        oldOrderId = set.getLong("id");
                        Double prepay = set.getDouble("prepay");
                        Long newOrderId = getNewId(oldOrderId, ORDER);
                        Order order = getOrder(newOrderId);
                        if (!containsPayment(paymentList, order)) {
                            Payment payment = new Payment();
                            payment.setAmount(prepay);
                            payment.setOrder(order);
                            Date paymentDate;
                            if (order.getRealDate() != null) {
                                paymentDate = order.getRealDate();
                            } else if (order.getDeadlineDate() != null) {
                                paymentDate = order.getDeadlineDate();
                            } else if (order.getOrderDate() != null) {
                                paymentDate = order.getOrderDate();
                            } else {
                                paymentDate = new Date();
                            }
                            payment.setPaymentDate(paymentDate);
                            payment.setPaymentType(paymentTypeService.getStandartTypeFromOldDb());
                            payment.setUser(userService.getStandartAdmin());
                            if (payment.getAmount() != null && order.getCost() != null) {
                                if (payment.getAmount() >= order.getCost()) {
                                    payment.setFinalPayment(true);
                                }
                            }
                            paymentDao.save(payment);
                        }
                    } catch (Throwable e) {
                        ts.setRollbackOnly();
                        messageList
                                .add(" - " + oldOrderId + " " + StringAdapter.getStackExeption(e));
                        log.warn(" - " + oldOrderId + " " + StringAdapter.getStackExeption(e));
                    }
                }
            });

        } catch (Throwable e) {
            messageList.add(" - " + oldOrderId + " " + StringAdapter.getStackExeption(e));
            log.warn(" - " + oldOrderId + " " + StringAdapter.getStackExeption(e));
        }

    }
}