Package org.apache.cayenne.testdo.mt

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


        ObjectContext child = context.createChildContext();
        ClientMtTable1 childMt = (ClientMtTable1) DataObjectUtils.objectForPK(
                child,
                parentMt.getObjectId());
        childMt.setGlobalAttribute1("1183");
        ClientMtTable2 childMt2 = child.newObject(ClientMtTable2.class);
        childMt2.setGlobalAttribute("1183");
        childMt2.setTable1(childMt);

        child.commitChangesToParent();

        // fetching other relationship... this fails per CAY-1183
        childMt2.getTable3();
    }
View Full Code Here


        deleteTestData();

        ClientMtTable1 parentMt = context.newObject(ClientMtTable1.class);
        ObjectContext child = context.createChildContext();

        ClientMtTable2 childMt2 = child.newObject(ClientMtTable2.class);
        childMt2.setGlobalAttribute("222");

        ClientMtTable1 localParentMt = (ClientMtTable1) child.localObject(parentMt
                .getObjectId(), null);
        assertEquals(0, parentMt.getTable2Array().size());
        assertEquals(0, localParentMt.getTable2Array().size());

        childMt2.setTable1(localParentMt);

        assertEquals(0, parentMt.getTable2Array().size());
        assertEquals(1, localParentMt.getTable2Array().size());

        assertEquals(localParentMt.getTable2Array().get(0).getObjectContext(), child);
View Full Code Here

        deleteTestData();

        ObjectContext child = context.createChildContext();

        ClientMtTable1 master = child.newObject(ClientMtTable1.class);
        ClientMtTable2 dep = child.newObject(ClientMtTable2.class);
        master.addToTable2Array(dep);

        child.commitChangesToParent();

        ClientMtTable1 masterParent = (ClientMtTable1) context.getGraphManager().getNode(
                master.getObjectId());
        ClientMtTable2 depParent = (ClientMtTable2) context.getGraphManager().getNode(
                dep.getObjectId());

        assertNotNull(masterParent);
        assertNotNull(depParent);

        assertSame(masterParent, depParent.getTable1());
        assertTrue(masterParent.getTable2Array().contains(depParent));

        // check that arc changes got recorded in the parent context
        GraphDiff diffs = context.internalGraphManager().getDiffs();
View Full Code Here

        tMtTable2.insert(1, 1, "g1");

        CayenneContext c1 = (CayenneContext) runtime.getContext();
        CayenneContext c2 = (CayenneContext) runtime.getContext();

        ClientMtTable2 o1 = (ClientMtTable2) Cayenne.objectForQuery(
                c1,
                new ObjectIdQuery(new ObjectId("MtTable2", "TABLE2_ID", 1)));

        ClientMtTable2 o2 = (ClientMtTable2) Cayenne.objectForQuery(
                c2,
                new ObjectIdQuery(new ObjectId("MtTable2", "TABLE2_ID", 1)));

        assertEquals("g1", o1.getTable1().getGlobalAttribute1());
        assertEquals("g1", o2.getTable1().getGlobalAttribute1());

        ClientMtTable1 o1r = (ClientMtTable1) Cayenne.objectForQuery(
                c1,
                new ObjectIdQuery(new ObjectId("MtTable1", "TABLE1_ID", 2)));
        o1.setTable1(o1r);
        c1.commitChanges();

        assertEquals("g2", o2.getTable1().getGlobalAttribute1());
        assertEquals(o1r.getObjectId(), o2.getTable1().getObjectId());
        assertFalse(c1.internalGraphManager().hasChanges());
        assertFalse(c2.internalGraphManager().hasChanges());
    }
View Full Code Here

                new ObjectIdQuery(new ObjectId("MtTable1", "TABLE1_ID", 1)));

        assertEquals(1, o1.getTable2Array().size());
        assertEquals(1, o2.getTable2Array().size());

        ClientMtTable2 o1r = c1.newObject(ClientMtTable2.class);
        o1r.setGlobalAttribute("X");
        o1.addToTable2Array(o1r);

        c1.commitChanges();

        assertEquals(2, o1.getTable2Array().size());
View Full Code Here

        // do not resolve objects in question in the second context and see if the merge
        // causes any issues...

        assertEquals(1, o1.getTable2Array().size());

        ClientMtTable2 o1r = c1.newObject(ClientMtTable2.class);
        o1r.setGlobalAttribute("X");
        o1.addToTable2Array(o1r);

        c1.commitChanges();

        assertEquals(2, o1.getTable2Array().size());
View Full Code Here

    }

    public void testPrefetchingToOne() throws Exception {
        final ClientMtTable1 mt11 = clientContext.newObject(ClientMtTable1.class);
        clientContext.newObject(ClientMtTable1.class);
        ClientMtTable2 mt21 = clientContext.newObject(ClientMtTable2.class);
        ClientMtTable2 mt22 = clientContext.newObject(ClientMtTable2.class);

        mt21.setTable1(mt11);
        mt22.setTable1(mt11);

        clientContext.commitChanges();

        final ObjectContext child = clientContext.createChildContext();

        SelectQuery q = new SelectQuery(ClientMtTable2.class);
        q.addPrefetch(ClientMtTable2.TABLE1_PROPERTY);

        final List<?> results = child.performQuery(q);

        queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {

            public void execute() {
                assertEquals(2, results.size());
                Iterator<?> it = results.iterator();
                while (it.hasNext()) {
                    ClientMtTable2 o = (ClientMtTable2) it.next();
                    assertEquals(PersistenceState.COMMITTED, o.getPersistenceState());
                    assertSame(child, o.getObjectContext());

                    ClientMtTable1 o1 = o.getTable1();
                    assertNotNull(o1);
                    assertEquals(PersistenceState.COMMITTED, o1.getPersistenceState());
                    assertSame(child, o1.getObjectContext());
                    assertEquals(mt11.getObjectId(), o1.getObjectId());
                }
View Full Code Here

        mt11.setGlobalAttribute1("1");

        ClientMtTable1 mt12 = clientContext.newObject(ClientMtTable1.class);
        mt12.setGlobalAttribute1("2");

        ClientMtTable2 mt21 = clientContext.newObject(ClientMtTable2.class);
        ClientMtTable2 mt22 = clientContext.newObject(ClientMtTable2.class);

        mt21.setTable1(mt11);
        mt22.setTable1(mt11);

        clientContext.commitChanges();

        final ObjectContext child = clientContext.createChildContext();

        SelectQuery q = new SelectQuery(ClientMtTable1.class);
        q.addOrdering("globalAttribute1", SortOrder.ASCENDING);
        q.addPrefetch(ClientMtTable1.TABLE2ARRAY_PROPERTY);

        final List<?> results = child.performQuery(q);

        queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {

            public void execute() {
                ClientMtTable1 o1 = (ClientMtTable1) results.get(0);
                assertEquals(PersistenceState.COMMITTED, o1.getPersistenceState());
                assertSame(child, o1.getObjectContext());

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

                assertEquals(2, children1.size());
                Iterator<ClientMtTable2> it = children1.iterator();
                while (it.hasNext()) {
                    ClientMtTable2 o = it.next();
                    assertEquals(PersistenceState.COMMITTED, o.getPersistenceState());
                    assertSame(child, o.getObjectContext());

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

                ClientMtTable1 o2 = (ClientMtTable1) results.get(1);
                assertEquals(PersistenceState.COMMITTED, o2.getPersistenceState());
                assertSame(child, o2.getObjectContext());
View Full Code Here

        ObjectContext child = clientContext.createChildContext();

        ClientMtTable1 a = clientContext.newObject(ClientMtTable1.class);
        clientContext.commitChanges();

        ClientMtTable2 p = child.newObject(ClientMtTable2.class);
        ClientMtTable1 aChild = (ClientMtTable1) Cayenne.objectForPK(
                child,
                a.getObjectId());
        p.setGlobalAttribute("X");
        aChild.addToTable2Array(p);

        child.commitChangesToParent();

        child.deleteObjects(p);
View Full Code Here

    /**
     * A test case for CAY-698 bug.
     */
    public void testNullifyToOne() throws Exception {
        ClientMtTable1 a = clientContext.newObject(ClientMtTable1.class);
        ClientMtTable2 b = clientContext.newObject(ClientMtTable2.class);
        a.addToTable2Array(b);

        clientContext.commitChanges();

        final ObjectContext child = clientContext.createChildContext();
        ObjectContext childPeer = clientContext.createChildContext();

        final ClientMtTable2 childP1 = (ClientMtTable2) Cayenne.objectForPK(
                child,
                b.getObjectId());

        // trigger object creation in the peer nested DC
        Cayenne.objectForPK(childPeer, b.getObjectId());
        childP1.setTable1(null);

        queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {

            public void execute() {
                child.commitChangesToParent();
                assertEquals(PersistenceState.COMMITTED, childP1.getPersistenceState());

                ClientMtTable2 parentP1 = (ClientMtTable2) clientContext
                        .getGraphManager()
                        .getNode(childP1.getObjectId());

                assertNotNull(parentP1);
                assertEquals(PersistenceState.MODIFIED, parentP1.getPersistenceState());
                assertNull(parentP1.getTable1());

                // check that arc changes got recorded in the parent context
                GraphDiff diffs = clientContext.internalGraphManager().getDiffs();
                final int[] arcDiffs = new int[1];

View Full Code Here

TOP

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

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.