Package org.apache.cayenne.testdo.mt

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


    public void testPeerObjectUpdatedToOneRelationship() throws Exception {
        ClientMtTable1 a = clientContext.newObject(ClientMtTable1.class);
        ClientMtTable1 altA = clientContext.newObject(ClientMtTable1.class);

        ClientMtTable2 p = clientContext.newObject(ClientMtTable2.class);
        p.setTable1(a);
        p.setGlobalAttribute("PPP");
        a.setGlobalAttribute1("X");
        altA.setGlobalAttribute1("Y");
        clientContext.commitChanges();

        ObjectContext peer1 = runtime.newContext(clientContext);
        ClientMtTable2 p1 = peer1.localObject(p);
        ClientMtTable1 altA1 = peer1.localObject(altA);

        ObjectContext peer2 = runtime.newContext(clientContext);
        ClientMtTable2 p2 = peer2.localObject(p);
        ClientMtTable1 altA2 = peer2.localObject(altA);
        ClientMtTable1 a2 = peer2.localObject(a);

        p1.setTable1(altA1);
        assertSame(a2, p2.getTable1());
        peer1.commitChangesToParent();
        assertEquals(altA2, p2.getTable1());

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


    public void testPeerObjectUpdatedToManyRelationship() throws Exception {
        ClientMtTable1 a = clientContext.newObject(ClientMtTable1.class);
        a.setGlobalAttribute1("X");

        ClientMtTable2 px = clientContext.newObject(ClientMtTable2.class);
        px.setTable1(a);
        px.setGlobalAttribute("PX");

        ClientMtTable2 py = clientContext.newObject(ClientMtTable2.class);
        py.setGlobalAttribute("PY");

        clientContext.commitChanges();

        ObjectContext peer1 = runtime.newContext(clientContext);
        ClientMtTable2 py1 = peer1.localObject(py);
        ClientMtTable1 a1 = peer1.localObject(a);

        ObjectContext peer2 = runtime.newContext(clientContext);
        ClientMtTable2 py2 = peer2.localObject(py);
        ClientMtTable1 a2 = peer2.localObject(a);

        a1.addToTable2Array(py1);
        assertEquals(1, a2.getTable2Array().size());
        assertFalse(a2.getTable2Array().contains(py2));
View Full Code Here

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

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

        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();
       
        // let the events propagate to peers
        Thread.sleep(500);

        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();
       
        // let the events propagate to peers
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 testAddToList() throws Exception {

        ClientMtTable1 t1 = clientContext.newObject(ClientMtTable1.class);
        ClientMtTable2 t2 = clientContext.newObject(ClientMtTable2.class);

        t1.addToTable2Array(t2);
        assertEquals(1, t1.getTable2Array().size());
        assertSame(t1, t2.getTable1());

        // do it again to make sure action can handle series of changes
        ClientMtTable1 t3 = clientContext.newObject(ClientMtTable1.class);
        ClientMtTable2 t4 = clientContext.newObject(ClientMtTable2.class);

        t3.addToTable2Array(t4);
        assertEquals(1, t3.getTable2Array().size());
        assertSame(t3, t4.getTable1());
    }
View Full Code Here

    }

    public void testSetValueHolder() throws Exception {

        ClientMtTable1 t1 = clientContext.newObject(ClientMtTable1.class);
        ClientMtTable2 t2 = clientContext.newObject(ClientMtTable2.class);

        t2.setTable1(t1);
        assertEquals(1, t1.getTable2Array().size());
        assertSame(t1, t2.getTable1());
    }
View Full Code Here

            public void execute() {

                assertEquals(1, results.size());

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

                assertNull(o.getTable1());
            }
        });
    }
View Full Code Here

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

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

                    // TODO: fixme... reverse relationship is not connected and will
                    // cause a fetch
                    // assertEquals(o1, o.getTable1());
                }
View Full Code Here

        ObjectContext childContext = runtime.newContext(context);
        final ShallowMergeOperation op = new ShallowMergeOperation(childContext);

        ClientMtTable1 _new = context.newObject(ClientMtTable1.class);
        final ClientMtTable2 _new2 = context.newObject(ClientMtTable2.class);
        _new.addToTable2Array(_new2);

        queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {

            public void execute() {
                ClientMtTable2 child2 = op.merge(_new2);
                assertEquals(PersistenceState.COMMITTED, child2.getPersistenceState());
                assertNotNull(child2.getTable1());
                assertEquals(PersistenceState.COMMITTED, child2
                        .getTable1()
                        .getPersistenceState());
            }
        });
    }
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.