Package org.apache.cayenne.testdo.mt

Examples of org.apache.cayenne.testdo.mt.ClientMtTable1


        clientServerInterceptor.runWithQueriesBlocked(new UnitTestClosure() {

            public void execute() {

                ClientMtTable1 o1 = results.get(0);
                assertEquals(PersistenceState.COMMITTED, o1.getPersistenceState());
                assertSame(clientContext, o1.getObjectContext());

                List<?> children1 = o1.getTable2Array();

                assertEquals(2, children1.size());
                Iterator<?> it = children1.iterator();
                while (it.hasNext()) {
                    ClientMtTable2 o = (ClientMtTable2) it.next();
View Full Code Here


/**
* This is a test primarily for CAY-1103
*/
public class RemoteRollbackTest extends RemoteCayenneCase {
    public void testRollbackNew() {
        ClientMtTable1 o1 = context.newObject(ClientMtTable1.class);
        o1.setGlobalAttribute1("a");

        ClientMtTable2 p1 = context.newObject(ClientMtTable2.class);
        p1.setGlobalAttribute("p1");
        p1.setTable1(o1);

        ClientMtTable2 p2 = context.newObject(ClientMtTable2.class);
        p2.setGlobalAttribute("p2");
        p2.setTable1(o1);

        ClientMtTable2 p3 = context.newObject(ClientMtTable2.class);
        p3.setGlobalAttribute("p3");
        p3.setTable1(o1);

        // before:
        assertEquals(o1, p1.getTable1());
        assertEquals(3, o1.getTable2Array().size());

        context.rollbackChanges();

        // after:
        assertEquals(PersistenceState.TRANSIENT, o1.getPersistenceState());

        // TODO: should we expect relationships to be unset?
        // assertNull(p1.getToClientMtTable1());
        // assertEquals(0, o1.getClientMtTable2Array().size());
    }
View Full Code Here

        // assertEquals(0, o1.getClientMtTable2Array().size());
    }

    public void testRollbackNewObject() {
        String o1Name = "revertTestClientMtTable1";
        ClientMtTable1 o1 = context.newObject(ClientMtTable1.class);
        o1.setGlobalAttribute1(o1Name);

        context.rollbackChanges();

        assertEquals(PersistenceState.TRANSIENT, o1.getPersistenceState());
        context.commitChanges();
    }
View Full Code Here

    // modifying the
    // collection the iterator was iterating over (ConcurrentModificationException)
    public void testRollbackWithMultipleNewObjects() {
        String o1Name = "rollbackTestClientMtTable1";
        String o2Title = "rollbackTestClientMtTable2";
        ClientMtTable1 o1 = context.newObject(ClientMtTable1.class);
        o1.setGlobalAttribute1(o1Name);

        ClientMtTable2 o2 = context.newObject(ClientMtTable2.class);
        o2.setGlobalAttribute(o2Title);
        o2.setTable1(o1);

        try {
            context.rollbackChanges();
        }
        catch (Exception e) {
            e.printStackTrace();
            fail("rollbackChanges should not have caused the exception " + e.getMessage());
        }

        assertEquals(PersistenceState.TRANSIENT, o1.getPersistenceState());
    }
View Full Code Here

    }

    public void testRollbackRelationshipModification() {
        String o1Name = "relationshipModClientMtTable1";
        String o2Title = "relationshipTestClientMtTable2";
        ClientMtTable1 o1 = context.newObject(ClientMtTable1.class);
        o1.setGlobalAttribute1(o1Name);
        ClientMtTable2 o2 = context.newObject(ClientMtTable2.class);
        o2.setGlobalAttribute(o2Title);
        o2.setTable1(o1);
       
        assertEquals(1, o1.getTable2Array().size());
        context.commitChanges();

        assertEquals(1, o1.getTable2Array().size());
        o2.setTable1(null);
        assertEquals(0, o1.getTable2Array().size());
        context.rollbackChanges();

        assertEquals(1, o1.getTable2Array().size());
        assertEquals(o1, o2.getTable1());
    }
View Full Code Here

        assertEquals(o1, o2.getTable1());
    }

    public void testRollbackDeletedObject() {
        String o1Name = "deleteTestClientMtTable1";
        ClientMtTable1 o1 = context.newObject(ClientMtTable1.class);
        o1.setGlobalAttribute1(o1Name);
        context.commitChanges();
        // Save... cayenne doesn't yet handle deleting objects that are uncommitted
        context.deleteObject(o1);
        context.rollbackChanges();

        //TODO: The state is committed for Cayenne context, but Hollow for DataContext?!
        // Now check everything is as it should be
        assertEquals(PersistenceState.COMMITTED, o1.getPersistenceState());
    }
View Full Code Here

        assertEquals(PersistenceState.COMMITTED, o1.getPersistenceState());
    }

    public void testRollbackModifiedObject() {
        String o1Name = "initialTestClientMtTable1";
        ClientMtTable1 o1 = context.newObject(ClientMtTable1.class);
        o1.setGlobalAttribute1(o1Name);
        context.commitChanges();

        o1.setGlobalAttribute1("a new value");

        context.rollbackChanges();

        // Make sure the inmemory changes have been rolled back
        assertEquals(PersistenceState.COMMITTED, o1.getPersistenceState());
        assertEquals(o1Name, o1.getGlobalAttribute1());
    }
View Full Code Here

        dbHelper.deleteAll("MT_TABLE1");
    }

    public void testValidate() throws Exception {

        ClientMtTable1 o1 = context.newObject(ClientMtTable1.class);
        o1.setGlobalAttribute1("G1");
        o1.resetValidation(false);

        // this one is not validating
        ClientMtTable2 o2 = context.newObject(ClientMtTable2.class);
        o2.setTable1(o1);

        context.commitChanges();
        assertTrue(o1.isValidatedForInsert());
        assertFalse(o1.isValidatedForDelete());
        assertFalse(o1.isValidatedForUpdate());

        o1.resetValidation(false);
        o1.setGlobalAttribute1("G2");

        context.commitChanges();
        assertFalse(o1.isValidatedForInsert());
        assertFalse(o1.isValidatedForDelete());
        assertTrue(o1.isValidatedForUpdate());

        o1.resetValidation(false);
        context.deleteObject(o1);
        context.deleteObject(o2);

        context.commitChanges();
        assertFalse(o1.isValidatedForInsert());
        assertTrue(o1.isValidatedForDelete());
        assertFalse(o1.isValidatedForUpdate());

        ClientMtTable1 o11 = context.newObject(ClientMtTable1.class);
        o11.setGlobalAttribute1("G1");
        o11.resetValidation(true);

        try {
            context.commitChanges();
            fail("Validation failure must have prevented commit");
        }
View Full Code Here

    public void testPeerObjectUpdatedTempOID() throws Exception {
        deleteTestData();
       
        ObjectContext peer1 = context.createChildContext();
        ClientMtTable1 a1 = peer1.newObject(ClientMtTable1.class);
        a1.setGlobalAttribute1("Y");
        ObjectId a1TempId = a1.getObjectId();

        ObjectContext peer2 = context.createChildContext();
        ClientMtTable1 a2 = (ClientMtTable1) peer2.localObject(a1TempId, a1);

        assertEquals(a1TempId, a2.getObjectId());

        peer1.commitChanges();
        assertFalse(a1.getObjectId().isTemporary());
        assertFalse(a2.getObjectId().isTemporary());
        assertEquals(a2.getObjectId(), a1.getObjectId());
    }
View Full Code Here

    }

    public void testPeerObjectUpdatedSimpleProperty() throws Exception {
        deleteTestData();

        ClientMtTable1 a = context.newObject(ClientMtTable1.class);
        a.setGlobalAttribute1("X");
        context.commitChanges();

        ObjectContext peer1 = context.createChildContext();
        ClientMtTable1 a1 = (ClientMtTable1) peer1.localObject(a.getObjectId(), a);

        ObjectContext peer2 = context.createChildContext();
        ClientMtTable1 a2 = (ClientMtTable1) peer2.localObject(a.getObjectId(), a);

        a1.setGlobalAttribute1("Y");
        assertEquals("X", a2.getGlobalAttribute1());
        peer1.commitChangesToParent();
        assertEquals("Y", a2.getGlobalAttribute1());

        assertFalse("Peer data context became dirty on event processing", peer2
                .hasChanges());
    }
View Full Code Here

TOP

Related Classes of org.apache.cayenne.testdo.mt.ClientMtTable1

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.