Package org.apache.cayenne.unit

Examples of org.apache.cayenne.unit.UnitLocalConnection


    public void testSelectPrimitives() {
        insertValue();
        DataContext context = createDataContext();
        ClientServerChannel clientServerChannel = new ClientServerChannel(context);
        UnitLocalConnection connection = new UnitLocalConnection(
                clientServerChannel,
                LocalConnection.HESSIAN_SERIALIZATION);
        ClientChannel channel = new ClientChannel(connection);
        CayenneContext clientContext = new CayenneContext(channel);
View Full Code Here


        createTestData("prepare");

        // this clears domain cache
        createDataContext();

        UnitLocalConnection connection = new UnitLocalConnection(new ClientServerChannel(
                getDomain()), LocalConnection.HESSIAN_SERIALIZATION);
        ClientChannel channel = new ClientChannel(connection);
        CayenneContext context = new CayenneContext(channel);

        ObjectId id = new ObjectId("MtTable1", MtTable1.TABLE1_ID_PK_COLUMN, new Integer(
View Full Code Here

        createTestData("testMeaningfulPK");

        SelectQuery query = new SelectQuery(ClientMtMeaningfulPk.class);
        query.addOrdering(ClientMtMeaningfulPk.PK_PROPERTY, Ordering.DESC);

        UnitLocalConnection connection = new UnitLocalConnection(new ClientServerChannel(
                getDomain()), LocalConnection.HESSIAN_SERIALIZATION);
        ClientChannel channel = new ClientChannel(connection);
        CayenneContext context = new CayenneContext(channel);

        List results = context.performQuery(query);
View Full Code Here

    }

    public void testPrefetchingToOne() throws Exception {
        createTestData("testPrefetching");

        UnitLocalConnection connection = new UnitLocalConnection(new ClientServerChannel(
                getDomain()), LocalConnection.HESSIAN_SERIALIZATION);
        ClientChannel channel = new ClientChannel(connection);
        CayenneContext context = new CayenneContext(channel);

        ObjectId prefetchedId = new ObjectId(
                "MtTable1",
                MtTable1.TABLE1_ID_PK_COLUMN,
                new Integer(1));

        SelectQuery q = new SelectQuery(ClientMtTable2.class);
        q.addOrdering(ClientMtTable2.GLOBAL_ATTRIBUTE_PROPERTY, true);
        q.addPrefetch(ClientMtTable2.TABLE1_PROPERTY);

        List results = context.performQuery(q);

        connection.setBlockingMessages(true);
        try {

            assertEquals(2, results.size());
            Iterator it = results.iterator();
            while (it.hasNext()) {
                ClientMtTable2 o = (ClientMtTable2) it.next();
                assertEquals(PersistenceState.COMMITTED, o.getPersistenceState());
                assertSame(context, o.getObjectContext());

                ClientMtTable1 o1 = o.getTable1();
                assertNotNull(o1);
                assertEquals(PersistenceState.COMMITTED, o1.getPersistenceState());
                assertSame(context, o1.getObjectContext());
                assertEquals(prefetchedId, o1.getObjectId());
            }
        }
        finally {
            connection.setBlockingMessages(false);
        }
    }
View Full Code Here

    }

    public void testPrefetchingToOneNull() throws Exception {
        createTestData("testPrefetchingToOneNull");

        UnitLocalConnection connection = new UnitLocalConnection(new ClientServerChannel(
                getDomain()), LocalConnection.HESSIAN_SERIALIZATION);
        ClientChannel channel = new ClientChannel(connection);
        CayenneContext context = new CayenneContext(channel);

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

        List results = context.performQuery(q);

        connection.setBlockingMessages(true);
        try {

            assertEquals(1, results.size());

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

            assertNull(o.getTable1());
        }
        finally {
            connection.setBlockingMessages(false);
        }
    }
View Full Code Here

    }

    public void testPrefetchingToMany() throws Exception {
        createTestData("testPrefetching");

        UnitLocalConnection connection = new UnitLocalConnection(new ClientServerChannel(
                getDomain()), LocalConnection.HESSIAN_SERIALIZATION);
        ClientChannel channel = new ClientChannel(connection);
        CayenneContext context = new CayenneContext(channel);

        SelectQuery q = new SelectQuery(ClientMtTable1.class);
        q.addOrdering(ClientMtTable1.GLOBAL_ATTRIBUTE1_PROPERTY, true);
        q.addPrefetch(ClientMtTable1.TABLE2ARRAY_PROPERTY);

        List results = context.performQuery(q);

        connection.setBlockingMessages(true);
        try {

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

            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(context, o.getObjectContext());

                // TODO: fixme...
                // assertEquals(o1, o.getTable1());
            }
        }
        finally {
            connection.setBlockingMessages(false);
        }
    }
View Full Code Here

    public void testPerformPaginatedQuery() throws Exception {
        deleteTestData();
        createTestData("testPerformPaginatedQuery");

        UnitLocalConnection connection = new UnitLocalConnection(new ClientServerChannel(
                getDomain()), LocalConnection.HESSIAN_SERIALIZATION);
        ClientChannel channel = new ClientChannel(connection);
        CayenneContext context = new CayenneContext(channel);

        SelectQuery query = new SelectQuery(ClientMtTable1.class);
View Full Code Here

    }

    public void testPrefetchingToManyEmpty() throws Exception {
        createTestData("testPrefetching");

        UnitLocalConnection connection = new UnitLocalConnection(new ClientServerChannel(
                getDomain()), LocalConnection.HESSIAN_SERIALIZATION);
        ClientChannel channel = new ClientChannel(connection);
        CayenneContext context = new CayenneContext(channel);

        SelectQuery q = new SelectQuery(ClientMtTable1.class);
        q.addOrdering(ClientMtTable1.GLOBAL_ATTRIBUTE1_PROPERTY, true);
        q.addPrefetch(ClientMtTable1.TABLE2ARRAY_PROPERTY);

        List results = context.performQuery(q);

        connection.setBlockingMessages(true);
        try {

            ClientMtTable1 o2 = (ClientMtTable1) results.get(1);
            assertEquals(PersistenceState.COMMITTED, o2.getPersistenceState());
            assertSame(context, o2.getObjectContext());

            List children2 = o2.getTable2Array();
            assertFalse(((ValueHolder) children2).isFault());
            assertEquals(0, children2.size());
        }
        finally {
            connection.setBlockingMessages(false);
        }
    }
View Full Code Here

    public void testOIDQueryInterception() throws Exception {

        deleteTestData();

        UnitLocalConnection connection = new UnitLocalConnection(new ClientServerChannel(
                getDomain()));
        ClientChannel channel = new ClientChannel(connection);
        CayenneContext context = new CayenneContext(channel);

        ClientMtTable1 o = context.newObject(ClientMtTable1.class);
        o.setGlobalAttribute1("aaa");

        // fetch new
        ObjectIdQuery q1 = new ObjectIdQuery(o.getObjectId(), false, ObjectIdQuery.CACHE);

        connection.setBlockingMessages(true);
        try {
            List objects = context.performQuery(q1);
            assertEquals(1, objects.size());
            assertSame(o, objects.get(0));
        }
        finally {
            connection.setBlockingMessages(false);
        }

        context.commitChanges();

        // fetch committed
        ObjectIdQuery q2 = new ObjectIdQuery(o.getObjectId(), false, ObjectIdQuery.CACHE);

        connection.setBlockingMessages(true);
        try {
            List objects = context.performQuery(q2);
            assertEquals(1, objects.size());
            assertSame(o, objects.get(0));
        }
        finally {
            connection.setBlockingMessages(false);
        }
    }
View Full Code Here

        clientContext = createROPContext();
    }

    protected CayenneContext createROPContext() {
        ClientServerChannel clientServerChannel = new ClientServerChannel(serverContext);
        UnitLocalConnection connection = new UnitLocalConnection(
                clientServerChannel,
                serializationPolicy);
        ClientChannel channel = new ClientChannel(connection, false,
        // we want events, but we don't want thread leaks, so creating single threaded EM.
                // TODO: replace with container managed ClientCase.
View Full Code Here

TOP

Related Classes of org.apache.cayenne.unit.UnitLocalConnection

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.