Search in sources :

Example 21 with ITransaction

use of org.eclipse.scout.rt.platform.transaction.ITransaction in project scout.rt by eclipse.

the class AbstractTransactionalMapTest method testRollback.

@Test
public void testRollback() {
    ITransaction tr1 = createNewTransaction();
    ITransaction tr2 = createNewTransaction();
    Map<Integer, String> initalMap = new HashMap<Integer, String>();
    initalMap.put(1, "1");
    initalMap.put(2, "2");
    initalMap.put(3, "3");
    Map<Integer, String> map = createTransactionalMap(TRANSACTION_MEMBER_ID, true, initalMap);
    // shared
    ITransaction.CURRENT.set(null);
    assertMapStateSimple(map, 1, "1", 2, "2", 3, "3");
    // tr1
    ITransaction.CURRENT.set(tr1);
    map.put(2, "2.2");
    assertMapStateSimple(map, 1, "1", 2, "2.2", 3, "3");
    // tr2
    ITransaction.CURRENT.set(tr2);
    map.remove(3);
    assertMapStateSimple(map, 1, "1", 2, "2");
    // shared
    ITransaction.CURRENT.set(null);
    assertMapStateSimple(map, 1, "1", 2, "2", 3, "3");
    rollbackTransaction(tr1);
    assertMapStateSimple(map, 1, "1", 2, "2", 3, "3");
    rollbackTransaction(tr2);
    assertMapStateSimple(map, 1, "1", 2, "2", 3, "3");
}
Also used : HashMap(java.util.HashMap) ITransaction(org.eclipse.scout.rt.platform.transaction.ITransaction) Test(org.junit.Test)

Example 22 with ITransaction

use of org.eclipse.scout.rt.platform.transaction.ITransaction in project scout.rt by eclipse.

the class AbstractTransactionalMapTest method testIteratorRemove.

@Test
public void testIteratorRemove() {
    ITransaction tr1 = createNewTransaction();
    Map<Integer, String> initalMap = new HashMap<Integer, String>();
    initalMap.put(2, "2");
    initalMap.put(3, "3");
    Map<Integer, String> map = createTransactionalMap(TRANSACTION_MEMBER_ID, false, initalMap);
    ITransaction.CURRENT.set(tr1);
    map.put(1, "1");
    map.put(2, "2.2");
    map.put(4, "4");
    // remove entries while iterating (no concurrent modification exception is thrown)
    for (Iterator<Entry<Integer, String>> iterator = map.entrySet().iterator(); iterator.hasNext(); ) {
        iterator.next();
        iterator.remove();
    }
    assertTrue("Map must be empty", map.isEmpty());
}
Also used : Entry(java.util.Map.Entry) HashMap(java.util.HashMap) ITransaction(org.eclipse.scout.rt.platform.transaction.ITransaction) Test(org.junit.Test)

Example 23 with ITransaction

use of org.eclipse.scout.rt.platform.transaction.ITransaction in project scout.rt by eclipse.

the class AbstractTransactionalMapTest method testPut.

@Test
public void testPut() {
    ITransaction tr1 = createNewTransaction();
    ITransaction tr2 = createNewTransaction();
    Map<Integer, String> initalMap = new HashMap<Integer, String>();
    initalMap.put(1, "1");
    Map<Integer, String> map = createTransactionalMap(TRANSACTION_MEMBER_ID, false, initalMap);
    // shared
    ITransaction.CURRENT.set(null);
    assertMapStateSimple(map, 1, "1");
    // tr1
    ITransaction.CURRENT.set(tr1);
    assertMapStateSimple(map, 1, "1");
    map.put(2, "2");
    assertMapStateSimple(map, 1, "1", 2, "2");
    // shared
    ITransaction.CURRENT.set(null);
    assertMapStateSimple(map, 1, "1");
    // tr2
    ITransaction.CURRENT.set(tr2);
    assertMapStateSimple(map, 1, "1");
    map.put(3, "3");
    assertMapStateSimple(map, 1, "1", 3, "3");
    // shared
    ITransaction.CURRENT.set(null);
    assertMapStateSimple(map, 1, "1");
    commitTransaction(tr1);
    assertMapStateSimple(map, 1, "1", 2, "2");
    commitTransaction(tr2);
    assertMapStateSimple(map, 1, "1", 2, "2", 3, "3");
}
Also used : HashMap(java.util.HashMap) ITransaction(org.eclipse.scout.rt.platform.transaction.ITransaction) Test(org.junit.Test)

Example 24 with ITransaction

use of org.eclipse.scout.rt.platform.transaction.ITransaction in project scout.rt by eclipse.

the class AbstractTransactionalMapTest method testFastForward.

@Test
public void testFastForward() {
    ITransaction tr1 = createNewTransaction();
    ITransaction tr2 = createNewTransaction();
    Map<Integer, String> initalMap = new HashMap<Integer, String>();
    initalMap.put(1, "1");
    Map<Integer, String> map = createTransactionalMap(TRANSACTION_MEMBER_ID, true, initalMap);
    // shared
    ITransaction.CURRENT.set(null);
    assertMapStateSimple(map, 1, "1");
    // tr1
    ITransaction.CURRENT.set(tr1);
    assertMapStateSimple(map, 1, "1");
    map.put(2, "2");
    assertMapStateSimple(map, 1, "1", 2, "2");
    // shared
    ITransaction.CURRENT.set(null);
    assertMapStateSimple(map, 1, "1", 2, "2");
    // tr2
    ITransaction.CURRENT.set(tr2);
    assertMapStateSimple(map, 1, "1", 2, "2");
    map.put(3, "3");
    assertMapStateSimple(map, 1, "1", 2, "2", 3, "3");
    map.put(2, "2.2");
    assertMapStateSimple(map, 1, "1", 2, "2.2", 3, "3");
    // shared
    ITransaction.CURRENT.set(null);
    assertMapStateSimple(map, 1, "1", 2, "2", 3, "3");
    commitTransaction(tr1);
    assertMapStateSimple(map, 1, "1", 2, "2", 3, "3");
    commitTransaction(tr2);
    assertMapStateSimple(map, 1, "1", 2, "2.2", 3, "3");
}
Also used : HashMap(java.util.HashMap) ITransaction(org.eclipse.scout.rt.platform.transaction.ITransaction) Test(org.junit.Test)

Example 25 with ITransaction

use of org.eclipse.scout.rt.platform.transaction.ITransaction in project scout.rt by eclipse.

the class ServerTestRunnerDifferentSessionTest method test3.

@Test
@RunWithServerSession(value = JUnitServerSession2.class)
public void test3() {
    ISession serverSession = IServerSession.CURRENT.get();
    assertTrue(serverSession instanceof JUnitServerSession2);
    assertEquals("anna", serverSession.getUserId());
    m_serverSessions.add(serverSession);
    ITransaction transaction = ITransaction.CURRENT.get();
    assertNotNull(transaction);
    m_transactions.add(transaction);
}
Also used : ISession(org.eclipse.scout.rt.shared.ISession) ITransaction(org.eclipse.scout.rt.platform.transaction.ITransaction) Test(org.junit.Test)

Aggregations

ITransaction (org.eclipse.scout.rt.platform.transaction.ITransaction)37 Test (org.junit.Test)20 ISession (org.eclipse.scout.rt.shared.ISession)13 HashMap (java.util.HashMap)7 ITransactionMember (org.eclipse.scout.rt.platform.transaction.ITransactionMember)5 IRunnable (org.eclipse.scout.rt.platform.util.concurrent.IRunnable)5 JUnitServerSession1 (org.eclipse.scout.rt.testing.server.runner.ServerTestRunnerDifferentSessionTest.JUnitServerSession1)4 JUnitServerSession (org.eclipse.scout.rt.testing.server.runner.ServerTestRunnerDifferentSubjectTest.JUnitServerSession)4 JUnitServerSession (org.eclipse.scout.rt.testing.server.runner.ServerTestRunnerSameSessionTest.JUnitServerSession)4 AssertionException (org.eclipse.scout.rt.platform.util.Assertions.AssertionException)3 AfterClass (org.junit.AfterClass)3 BeforeClass (org.junit.BeforeClass)3 InvocationHandler (java.lang.reflect.InvocationHandler)2 Method (java.lang.reflect.Method)2 WebMethod (javax.jws.WebMethod)2 BooleanHolder (org.eclipse.scout.rt.platform.holders.BooleanHolder)2 Holder (org.eclipse.scout.rt.platform.holders.Holder)2 IServerSession (org.eclipse.scout.rt.server.IServerSession)2 AbstractSqlTransactionMember (org.eclipse.scout.rt.server.jdbc.AbstractSqlTransactionMember)2 Connection (java.sql.Connection)1