Package org.apache.cayenne.testdo.mt

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


    }

    public void testLocalObjectRelationship() throws Exception {
        final ObjectContext child = clientContext.createChildContext();

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

        queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {

            public void execute() {
                ClientMtTable2 child2 = (ClientMtTable2) child.localObject(_new2
View Full Code Here


    }

    public void testSelect() throws Exception {
        ObjectContext child = clientContext.createChildContext();

        ClientMtTable1 committed = clientContext.newObject(ClientMtTable1.class);
        ClientMtTable1 deleted = clientContext.newObject(ClientMtTable1.class);
        ClientMtTable1 modified = clientContext.newObject(ClientMtTable1.class);

        clientContext.commitChanges();
        int modifiedid = Cayenne.intPKForObject(modified);

        // test how different object states appear in the child on select

        clientContext.deleteObjects(deleted);
        modified.setGlobalAttribute1("a");

        ClientMtTable1 _new = clientContext.newObject(ClientMtTable1.class);

        assertEquals(PersistenceState.COMMITTED, committed.getPersistenceState());
        assertEquals(PersistenceState.MODIFIED, modified.getPersistenceState());
        assertEquals(PersistenceState.DELETED, deleted.getPersistenceState());
        assertEquals(PersistenceState.NEW, _new.getPersistenceState());

        List<?> objects = child.performQuery(new SelectQuery(ClientMtTable1.class));
        assertEquals("All but NEW object must have been included", 3, objects.size());

        Iterator<?> it = objects.iterator();
        while (it.hasNext()) {
            ClientMtTable1 next = (ClientMtTable1) it.next();
            assertEquals(PersistenceState.COMMITTED, next.getPersistenceState());

            int id = Cayenne.intPKForObject(next);
            if (id == modifiedid) {
                assertEquals("a", next.getGlobalAttribute1());
            }
        }
    }
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

            }
        });
    }

    public void testPrefetchingToMany() throws Exception {
        ClientMtTable1 mt11 = clientContext.newObject(ClientMtTable1.class);
        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());

                List<?> children2 = o2.getTable2Array();

                assertEquals(0, children2.size());
            }
        });
    }
View Full Code Here

    }

    public void testDeleteNew() throws Exception {
        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);
        aChild.removeFromTable2Array(p);

        child.commitChangesToParent();
    }
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();
View Full Code Here

        SelectQuery query = new SelectQuery(ClientMtTable1.class);
        List<?> objects = child.performQuery(query);

        assertEquals(4, objects.size());

        final ClientMtTable1 childNew = child.newObject(ClientMtTable1.class);
        childNew.setGlobalAttribute1("NNN");

        final ClientMtTable1 childModified = (ClientMtTable1) objects.get(0);
        childModified.setGlobalAttribute1("MMM");

        final ClientMtTable1 childCommitted = (ClientMtTable1) objects.get(1);

        final ClientMtTable1 childHollow = (ClientMtTable1) objects.get(3);
        child.invalidateObjects(childHollow);

        queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {

            public void execute() {
                child.commitChangesToParent();

                // * all modified child objects must be in committed state now
                // * all modifications should be propagated to the parent
                // * no actual commit should occur.

                assertEquals(PersistenceState.COMMITTED, childNew.getPersistenceState());
                assertEquals(PersistenceState.COMMITTED, childModified
                        .getPersistenceState());
                assertEquals(PersistenceState.COMMITTED, childCommitted
                        .getPersistenceState());
                assertEquals(PersistenceState.HOLLOW, childHollow.getPersistenceState());

                ClientMtTable1 parentNew = (ClientMtTable1) clientContext
                        .getGraphManager()
                        .getNode(childNew.getObjectId());
                final ClientMtTable1 parentModified = (ClientMtTable1) clientContext
                        .getGraphManager()
                        .getNode(childModified.getObjectId());
                ClientMtTable1 parentCommitted = (ClientMtTable1) clientContext
                        .getGraphManager()
                        .getNode(childCommitted.getObjectId());
                ClientMtTable1 parentHollow = (ClientMtTable1) clientContext
                        .getGraphManager()
                        .getNode(childHollow.getObjectId());

                assertNotNull(parentNew);
                assertEquals(PersistenceState.NEW, parentNew.getPersistenceState());
View Full Code Here

        List<?> objects = child.performQuery(query);

        assertEquals(4, objects.size());

        // delete AND modify
        ClientMtTable1 childDeleted = (ClientMtTable1) objects.get(2);
        child.deleteObjects(childDeleted);
        childDeleted.setGlobalAttribute1("DDD");

        // don't block queries - on delete Cayenne may need to resolve delete rules via
        // fetch
        child.commitChangesToParent();

        // * all modified child objects must be in committed state now
        // * all modifications should be propagated to the parent
        // * no actual commit should occur.

        assertEquals(PersistenceState.TRANSIENT, childDeleted.getPersistenceState());

        ClientMtTable1 parentDeleted = (ClientMtTable1) clientContext
                .getGraphManager()
                .getNode(childDeleted.getObjectId());

        assertNotNull(parentDeleted);
        assertEquals(PersistenceState.DELETED, parentDeleted.getPersistenceState());
        assertEquals("DDD", parentDeleted.getGlobalAttribute1());
    }
View Full Code Here

        SelectQuery query = new SelectQuery(ClientMtTable1.class);
        List<?> objects = child.performQuery(query);

        assertEquals(4, objects.size());

        ClientMtTable1 childNew = child.newObject(ClientMtTable1.class);
        childNew.setGlobalAttribute1("NNN");

        ClientMtTable1 childModified = (ClientMtTable1) objects.get(0);
        childModified.setGlobalAttribute1("MMM");

        ClientMtTable1 childCommitted = (ClientMtTable1) objects.get(1);

        // delete AND modify
        ClientMtTable1 childDeleted = (ClientMtTable1) objects.get(2);
        child.deleteObjects(childDeleted);
        childDeleted.setGlobalAttribute1("DDD");

        ClientMtTable1 childHollow = (ClientMtTable1) objects.get(3);
        child.invalidateObjects(childHollow);

        child.commitChanges();

        assertEquals(PersistenceState.COMMITTED, childNew.getPersistenceState());
        assertEquals(PersistenceState.COMMITTED, childModified.getPersistenceState());
        assertEquals(PersistenceState.COMMITTED, childCommitted.getPersistenceState());
        assertEquals(PersistenceState.TRANSIENT, childDeleted.getPersistenceState());
        assertEquals(PersistenceState.HOLLOW, childHollow.getPersistenceState());

        ClientMtTable1 parentNew = (ClientMtTable1) clientContext.getGraphManager().getNode(
                childNew.getObjectId());
        ClientMtTable1 parentModified = (ClientMtTable1) clientContext
                .getGraphManager()
                .getNode(childModified.getObjectId());
        ClientMtTable1 parentCommitted = (ClientMtTable1) clientContext
                .getGraphManager()
                .getNode(childCommitted.getObjectId());
        ClientMtTable1 parentDeleted = (ClientMtTable1) clientContext
                .getGraphManager()
                .getNode(childDeleted.getObjectId());
        ClientMtTable1 parentHollow = (ClientMtTable1) clientContext.getGraphManager().getNode(
                childHollow.getObjectId());

        assertNotNull(parentNew);
        assertEquals(PersistenceState.COMMITTED, parentNew.getPersistenceState());
        assertEquals("NNN", parentNew.getGlobalAttribute1());
View Full Code Here

        dbHelper.deleteAll("MT_TABLE1");
    }

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

        ObjectContext peer2 = clientContext.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

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.