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

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

Introduction

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

Prototype

public SimpleTransactionStatus() 

Source Link

Document

Create a new SimpleTransactionStatus instance, indicating a new transaction.

Usage

From source file:org.dalesbred.integration.spring.SpringTransactionContextTest.java

@Test
public void rollingBackDelegatesToOriginalContexts() throws SQLException {
    try (Connection connection = TestDatabaseProvider.createInMemoryHSQLDataSource().getConnection()) {
        SimpleTransactionStatus status = new SimpleTransactionStatus();
        SpringTransactionContext context = new SpringTransactionContext(status, connection);

        assertThat(context.getConnection(), is(connection));

        assertThat(context.isRollbackOnly(), is(false));
        assertThat(status.isRollbackOnly(), is(false));
        context.setRollbackOnly();//  w w w.  j a  va  2s  . c  o  m
        assertThat(context.isRollbackOnly(), is(true));
        assertThat(status.isRollbackOnly(), is(true));
    }
}

From source file:corner.transaction.services.impl.JpaTransactionDecoratorImplTest.java

@Test
public void void_method() {
    VoidService delegate = newMock(VoidService.class);
    PlatformTransactionManager transactionManager = newMock(PlatformTransactionManager.class);
    TransactionInterceptor transactionInterceptor = TransactionModule
            .buildTransactionInterceptor(transactionManager);
    TransactionAdvisor advisor = new SpringTransactionAdvisor(transactionInterceptor);
    TransactionDecorator decorator = new TransactionDecoratorImpl(aspectDecorator, advisor);
    VoidService interceptor = decorator.build(VoidService.class, delegate, "foo.Bar");

    TransactionStatus transactionStatus = new SimpleTransactionStatus();
    expect(transactionManager.getTransaction(EasyMock.isA(TransactionAttribute.class)))
            .andReturn(transactionStatus);//TransactionDefinition.PROPAGATION_REQUIRED);
    transactionManager.commit(transactionStatus);

    delegate.voidMethod();/*from w  w  w  .  j a  v a  2s  .  c  o  m*/

    replay();
    interceptor.voidMethod();
    verify();

}

From source file:com.thoughtworks.go.server.dao.PipelineSqlMapDaoCachingTest.java

@Test
public void savePipeline_shouldClearLatestPipelineIdCacheCaseInsensitively() {
    when(mockTemplate.queryForList(eq("getPipelineRange"), any())).thenReturn(Arrays.asList(99L));
    doAnswer(new Answer<Object>() {
        @Override/* w w w .  java 2 s . com*/
        public Object answer(InvocationOnMock invocation) {
            ((TransactionSynchronizationAdapter) invocation.getArguments()[0]).afterCommit();
            return null;
        }
    }).when(transactionSynchronizationManager).registerSynchronization(any(TransactionSynchronization.class));

    when(transactionTemplate.execute(any(TransactionCallback.class))).then(new Answer<Object>() {
        @Override
        public Object answer(InvocationOnMock invocation) {
            ((TransactionCallback) invocation.getArguments()[0]).doInTransaction(new SimpleTransactionStatus());
            return null;
        }
    });

    pipelineDao.save(PipelineMother.pipeline("pipelineName"));
    pipelineDao.findPipelineIds("pipelineName", 1, 0);
    pipelineDao.save(PipelineMother.pipeline("pipelineName".toUpperCase()));
    pipelineDao.findPipelineIds("pipelineName", 1, 0);
    verify(mockTemplate, times(2)).queryForList(eq("getPipelineRange"), any());
}

From source file:com.thoughtworks.go.server.dao.PipelineSqlMapDaoCachingTest.java

@Test
public void shouldInvalidateCacheOfPipelineInstancesTriggeredWithDependencyMaterial() {
    String cacheKey = pipelineDao.cacheKeyForPipelineInstancesTriggeredWithDependencyMaterial("p1", "p", 1);
    List<PipelineIdentifier> result = Arrays.asList(new PipelineIdentifier("p1", 1, "1"));
    when(mockTemplate.queryForList(eq("pipelineInstancesTriggeredOutOfDependencyMaterial"), anyString()))
            .thenReturn(new ArrayList());

    List<PipelineIdentifier> actual = pipelineDao.getPipelineInstancesTriggeredWithDependencyMaterial("p1",
            new PipelineIdentifier("p", 1));
    assertThat(actual, hasSize(0));/*w w w .  j  av a 2 s  .  co  m*/
    assertThat((List<PipelineIdentifier>) goCache.get(cacheKey), hasSize(0));

    MaterialRevisions materialRevisions = new MaterialRevisions(new MaterialRevision(
            new DependencyMaterial(new CaseInsensitiveString("p"), new CaseInsensitiveString("s")),
            new Modification("u", "comment", "email", new Date(), "p/1/s/1")));
    Pipeline pipeline = new Pipeline("p1", BuildCause.createWithModifications(materialRevisions, ""));

    doAnswer(new Answer<Object>() {
        @Override
        public Object answer(InvocationOnMock invocation) {
            ((TransactionSynchronizationAdapter) invocation.getArguments()[0]).afterCommit();
            return null;
        }
    }).when(transactionSynchronizationManager).registerSynchronization(any(TransactionSynchronization.class));

    when(transactionTemplate.execute(any(TransactionCallback.class))).then(new Answer<Object>() {
        @Override
        public Object answer(InvocationOnMock invocation) {
            ((TransactionCallback) invocation.getArguments()[0]).doInTransaction(new SimpleTransactionStatus());
            return null;
        }
    });

    pipelineDao.save(pipeline);
    assertThat(goCache.get(cacheKey), is(Matchers.nullValue()));
}

From source file:com.thoughtworks.go.server.dao.PipelineSqlMapDaoCachingTest.java

@Test
public void shouldInvalidateCacheOfPipelineInstancesTriggeredWithMaterialRevision() {
    GitMaterialInstance materialInstance = new GitMaterialInstance("url", null, "branch", "submodule",
            "flyweight");
    String cacheKey = pipelineDao.cacheKeyForPipelineInstancesTriggeredWithDependencyMaterial("p1",
            materialInstance.getFingerprint(), "r1");
    List<PipelineIdentifier> result = Arrays.asList(new PipelineIdentifier("p1", 1, "1"));
    when(mockTemplate.queryForList(eq("pipelineInstancesTriggeredOffOfMaterialRevision"), any()))
            .thenReturn((List) result);

    List<PipelineIdentifier> actual = pipelineDao.getPipelineInstancesTriggeredWithDependencyMaterial("p1",
            materialInstance, "r1");
    assertThat(actual, hasSize(1));// www  .  j a v a2 s . c  om
    assertThat((List<PipelineIdentifier>) goCache.get(cacheKey), hasSize(1));

    MaterialRevisions materialRevisions = new MaterialRevisions(new MaterialRevision(
            new GitMaterial("url", "branch"), new Modification("user", "comment", "email", new Date(), "r1")));
    Pipeline pipeline = new Pipeline("p1", BuildCause.createWithModifications(materialRevisions, ""));
    doAnswer(new Answer<Object>() {
        @Override
        public Object answer(InvocationOnMock invocation) {
            ((TransactionSynchronizationAdapter) invocation.getArguments()[0]).afterCommit();
            return null;
        }
    }).when(transactionSynchronizationManager).registerSynchronization(any(TransactionSynchronization.class));

    when(transactionTemplate.execute(any(TransactionCallback.class))).then(new Answer<Object>() {
        @Override
        public Object answer(InvocationOnMock invocation) {
            ((TransactionCallback) invocation.getArguments()[0]).doInTransaction(new SimpleTransactionStatus());
            return null;
        }
    });

    pipelineDao.save(pipeline);
    assertThat(goCache.get(cacheKey), is(Matchers.nullValue()));
}