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:at.irian.demo.jsfatwork.view.TestdataBuilder.java

@Inject
public TestdataBuilder(PlatformTransactionManager platformTransactionManager, UserService userService,
        GroupService groupService) {//from  w w  w  . ja v a  2  s  .c o m
    this.userService = userService;
    this.groupService = groupService;
    transactionTemplate = new TransactionTemplate(platformTransactionManager);
}

From source file:net.chrisrichardson.foodToGo.restaurantNotificationService.tsImpl.dao.OrderDAOIBatisImplTests.java

public void testFindOrdersToSend_pessimistic() throws Exception {
    DataSourceTransactionManager tm = new DataSourceTransactionManager(ds);
    TransactionTemplate tt = new TransactionTemplate(tm);

    // This has to be done in a transaction

    tt.execute(new TransactionCallback() {

        public Object doInTransaction(TransactionStatus status) {
            dao.setLockingMode(OrderDAOIBatisImpl.PESSIMISTIC_LOCKING);
            List orders = dao.findOrdersToSend();
            assertFalse(orders.isEmpty());
            return null;
        }//from www.  j a  va 2  s .co m
    });
}

From source file:org.statefulj.demo.ddd.customer.domain.impl.CustomerServiceImpl.java

@PostConstruct
private void init() {
    TransactionTemplate tt = new TransactionTemplate(transactionManager);
    tt.execute(new TransactionCallback<Object>() {

        @Override/*from  ww w  . j  av  a2 s  .c om*/
        public Object doInTransaction(TransactionStatus status) {
            return entityManager.createNativeQuery("CREATE SEQUENCE customer_sequence AS BIGINT START WITH 1")
                    .executeUpdate();
        }

    });
}

From source file:org.wso2.carbon.metrics.jdbc.reporter.JdbcReporterTest.java

@BeforeSuite
private static void init() throws Exception {
    dataSource = JdbcConnectionPool.create("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1", "sa", "");
    template = new JdbcTemplate(dataSource);
    ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
    populator.addScript(new ClassPathResource("dbscripts/h2.sql"));
    populator.populate(dataSource.getConnection());
    DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager(dataSource);
    transactionTemplate = new TransactionTemplate(dataSourceTransactionManager);
}

From source file:org.apache.camel.component.hibernate.DefaultTransactionStrategy.java

public static DefaultTransactionStrategy newInstance(SessionFactory sessionFactory,
        HibernateTemplate template) {//from www.ja  va2s .  com
    HibernateTransactionManager transactionManager = new HibernateTransactionManager(sessionFactory);
    transactionManager.afterPropertiesSet();

    TransactionTemplate tranasctionTemplate = new TransactionTemplate(transactionManager);
    tranasctionTemplate.afterPropertiesSet();

    return new DefaultTransactionStrategy(template, tranasctionTemplate);
}

From source file:dao.SchemaHistoryDAO.java

public static ObjectNode getPagedSchemaDataset(String name, Long datasetId, int page, int size) {
    ObjectNode result = Json.newObject();

    javax.sql.DataSource ds = getJdbcTemplate().getDataSource();
    DataSourceTransactionManager tm = new DataSourceTransactionManager(ds);
    TransactionTemplate txTemplate = new TransactionTemplate(tm);

    result = txTemplate.execute(new TransactionCallback<ObjectNode>() {
        public ObjectNode doInTransaction(TransactionStatus status) {

            List<SchemaDataset> pagedScripts = null;
            if (StringUtils.isNotBlank(name)) {
                if (datasetId != null && datasetId > 0) {
                    pagedScripts = getJdbcTemplate().query(GET_SPECIFIED_SCHEMA_DATASET_WITH_FILTER,
                            new SchemaDatasetRowMapper(), datasetId, "%" + name + "%", (page - 1) * size, size);

                } else {
                    pagedScripts = getJdbcTemplate().query(GET_PAGED_SCHEMA_DATASET_WITH_FILTER,
                            new SchemaDatasetRowMapper(), "%" + name + "%", (page - 1) * size, size);
                }//from  w w w. ja v  a 2 s  .c  om
            } else {
                if (datasetId != null && datasetId > 0) {
                    pagedScripts = getJdbcTemplate().query(GET_SPECIFIED_SCHEMA_DATASET,
                            new SchemaDatasetRowMapper(), datasetId, (page - 1) * size, size);
                } else {
                    pagedScripts = getJdbcTemplate().query(GET_PAGED_SCHEMA_DATASET,
                            new SchemaDatasetRowMapper(), (page - 1) * size, size);
                }
            }

            long count = 0;
            try {
                count = getJdbcTemplate().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("itemsPerPage", size);
            resultNode.put("totalPages", (int) Math.ceil(count / ((double) size)));
            resultNode.set("datasets", Json.toJson(pagedScripts));

            return resultNode;
        }
    });

    return result;
}

From source file:es.upm.fiware.rss.dao.loader.BmCurrencyLoader.java

@PostConstruct
public void init() {
    TransactionTemplate tmpl = new TransactionTemplate(txManager);
    tmpl.execute(new TransactionCallbackWithoutResult() {

        @Override//from www  .  ja  va2s  . c o  m
        protected void doInTransactionWithoutResult(TransactionStatus ts) {
            // Check if currencies has been loaded
            List<BmCurrency> currs = currencyDao.getAll();

            if (currs == null || currs.isEmpty()) {
                saveCurrency("EUR", "Euro", "", "978", 2);
                saveCurrency("GBP", "Esterlina", "", "826", 2);
                saveCurrency("BRL", "Verdadero brasileno", "R$", "986", 2);
                saveCurrency("ARS", "Peso argentino", "$a", "032", 2);
                saveCurrency("MXN", "Peso mexicano", "$", "484", 2);
                saveCurrency("CLP", "Peso chileno", "$", "152", 2);
                saveCurrency("PEN", "Nuevo sol", "S/.", "604", 2);
                saveCurrency("VEF", "Bolivar fuerte", "Bs.", "937", 2);
                saveCurrency("COP", "Peso colombiano", "$", "170", 2);
                saveCurrency("USD", "US Dolar", "$", "840", 2);
                saveCurrency("NIO", "Cordoba oro", "C$", "558", 2);
                saveCurrency("GTQ", "Quetzal", "Q", "320", 2);
                saveCurrency("SVC", "El Salvador Colon", "", "222", 2);
                saveCurrency("PAB", "Balboa", "B/.", "590", 2);
                saveCurrency("UYU", "Peso Uruguayo", "$", "858", 2);
                saveCurrency("MYR", "Malaysian ringgit", "RM", "458", 2);
                saveCurrency("NOK", "Norwegian krone", "kr", "578", 2);
                saveCurrency("HUF", "Hungarian forint", "Ft", "348", 2);
            }
        }
    });
}

From source file:org.ambraproject.user.EnsureRoleInterceptor.java

public String intercept(final ActionInvocation actionInvocation) throws Exception {
    log.debug("EnsureRoleInterceptor called");
    Map session = actionInvocation.getInvocationContext().getSession();
    final String authId = (String) session.get(Constants.AUTH_KEY);
    Boolean allowAdminAction = (Boolean) new TransactionTemplate(transactionManager)
            .execute(new TransactionCallback() {
                @Override//from   w  ww .  j  a v  a  2 s  . com
                public Object doInTransaction(TransactionStatus transactionStatus) {
                    return userService.allowAdminAction(authId);
                }
            });
    if (allowAdminAction)
        return actionInvocation.invoke();

    return Constants.ReturnCode.NOT_SUFFICIENT_ROLE;
}

From source file:com.mothsoft.alexis.service.security.AlexisApiAuthenticationProvider.java

public AlexisApiAuthenticationProvider(UserDetailsService userDetailsService, UserDao userDao,
        PlatformTransactionManager transactionManager) {
    this.userDetailsService = userDetailsService;
    this.userDao = userDao;
    this.transactionManager = transactionManager;
    this.transactionTemplate = new TransactionTemplate(this.transactionManager);
}

From source file:mojo.core.test.RepositoryTest.java

public void testCRUD() {
    TransactionTemplate template = new TransactionTemplate(transactionManager);
    template.execute(new TransactionCallback<Object>() {

        public Object doInTransaction(TransactionStatus status) {
            status.setRollbackOnly();//from   www .java  2s.  c o  m
            String tmp = null;

            // simple typed repository
            // entity class has been set on the repository instance

            log("Creating Person A");
            Person personA = new Person(tmp = "Person A");
            Insert<Person> insertPerson = new Insert<Person>(personA);
            personA = personRepository.insert(insertPerson);
            assertValidPerson(personA, tmp);

            log("Retrieving Person A #" + personA.getId());
            Select<Person> selectPerson = new Select<Person>(new ByKey(personA.getId()));
            personA = personRepository.select(selectPerson).unique();
            assertValidPerson(personA, tmp);

            log("Modifying Person A #" + personA.getId());
            personA.setName(tmp = "Mickey Mouse");
            Update<Person> updatePerson = new Update<Person>(personA);
            personA = personRepository.update(updatePerson);
            assertValidPerson(personA, tmp);

            log("Retrieving Person A #" + personA.getId());
            personA = personRepository.select(selectPerson).unique();
            assertValidPerson(personA, tmp);

            // simple untyped repository
            // entity class is being set on each of the statement instances

            log("Creating Person B");
            Person personB = new Person(tmp = "Person B");
            Insert<Object> insertObject = new Insert<Object>(Person.class, personB);
            personB = (Person) repository.insert(insertObject);
            assertValidPerson(personB, tmp);

            log("Retrieving Person B #" + personB.getId());
            Select<Object> selectObject = new Select<Object>(Person.class, new ByKey(personB.getId()));
            personB = (Person) repository.select(selectObject).unique();
            assertValidPerson(personB, tmp);

            log("Modifying Person B #" + personB.getId());
            personB.setName(tmp = "Jon Arbuckle");
            Update<Object> updateObject = new Update<Object>(Person.class, personB);
            personB = (Person) repository.update(updateObject);
            assertValidPerson(personB, tmp);

            log("Retrieving Person B #" + personB.getId());
            personB = (Person) repository.select(selectObject).unique();
            assertValidPerson(personB, tmp);

            // many-to-one repository

            log("Creating Pet A");
            Pet petA = new Pet(tmp = "Pet");
            petA = petRepository.insert(new InsertDetail<Pet>(personB.getId(), petA));
            assertValidPet(petA, tmp, personB);

            log("Modifying Pet A");
            petA.setName(tmp = "Pluto");
            petA = petRepository.update(new UpdateDetail<Pet>(personA.getId(), petA));
            assertValidPet(petA, tmp, personA);

            log("Creating Pet B");
            Pet petB = new Pet(tmp = "Garfield");
            petB = petRepository.insert(new InsertDetail<Pet>(personB.getId(), petB));
            assertValidPet(petB, tmp, personB);

            log("Creating Pet C");
            Pet petC = new Pet(tmp = "Odie");
            petC = petRepository.insert(new InsertDetail<Pet>(personB.getId(), petC));
            assertValidPet(petC, tmp, personB);

            // one-to-many repository

            log("Creating Phone 1");
            Phone phoneA = new Phone(tmp = "9876543210");
            phoneA = phoneRepository.insert(new InsertDetail<Phone>(personB.getId(), phoneA));
            assertValidPhone(phoneA, tmp);

            log("Modifying Phone 1");
            phoneA.setNumber(tmp = "0123456789");
            phoneA = phoneRepository.update(new UpdateDetail<Phone>(personA.getId(), phoneA));
            assertValidPhone(phoneA, tmp);

            log("Creating Phone 2");
            Phone phoneB = new Phone(tmp = "0011223344");
            phoneB = phoneRepository.insert(new InsertDetail<Phone>(personB.getId(), phoneB));
            assertValidPhone(phoneB, tmp);

            log("Creating Phone 3");
            Phone phoneC = new Phone(tmp = "5566778899");
            phoneC = phoneRepository.insert(new InsertDetail<Phone>(personB.getId(), phoneC));
            assertValidPhone(phoneC, tmp);

            // plain selects

            log("Retrieving all persons");
            DataPage<?> page = repository.select(new Select<Object>(Person.class));
            assertValidDataPage(page, 2);

            log("Retrieving persons by property");
            page = repository.select(new Select<Object>(Person.class, new ByText("buck", "name")));
            assertValidDataPage(page, 1);

            // many-to-one selects

            log("Retrieving all pets");
            page = petRepository.select(new SelectDetail<Pet>());
            assertValidDataPage(page, 3);

            log("Retrieving pets by property");
            page = petRepository.select(new SelectDetail<Pet>(null, new ByText("lut", "name")));
            assertValidDataPage(page, 1);

            log("Retrieving PersonA's pets by property");
            page = petRepository.select(new SelectDetail<Pet>(personA.getId(), new ByText("arfiel", "name")));
            assertValidDataPage(page, 0);

            log("Retrieving PersonB's pets by property");
            page = petRepository.select(new SelectDetail<Pet>(personB.getId(), new ByText("arfiel", "name")));
            assertValidDataPage(page, 1);

            log("Retrieving PersonB's pets with pagging");
            page = petRepository.select(new SelectDetail<Pet>(personB.getId()).page(0, 1));
            assertValidDataPage(page, 1, 2);

            // one-to-many selects

            log("Retrieving all phones");
            page = phoneRepository.select(new SelectDetail<Phone>());
            assertValidDataPage(page, 3);

            log("Retrieving phones by property");
            page = phoneRepository.select(new SelectDetail<Phone>(null, new ByText("1234", "number")));
            assertValidDataPage(page, 1);

            log("Retrieving PersonA's phones by property");
            page = phoneRepository
                    .select(new SelectDetail<Phone>(personA.getId(), new ByText("1122", "number")));
            assertValidDataPage(page, 0);

            log("Retrieving PersonB's phones by property");
            page = phoneRepository
                    .select(new SelectDetail<Phone>(personB.getId(), new ByText("1122", "number")));
            assertValidDataPage(page, 1);

            log("Retrieving PersonB's phones with paging");
            page = phoneRepository.select(new SelectDetail<Phone>(personB.getId()).page(0, 1));
            assertValidDataPage(page, 1, 2);

            return null;
        }
    });
}