Package org.apache.cayenne.map

Examples of org.apache.cayenne.map.EntityResolver


    // creates default entity resolver if there is none set yet
    private synchronized void createEntityResolver() {
        if (entityResolver == null) {
            // entity resolver will be self-indexing as we add all our maps
            // to it as they are added to the DataDomain
            entityResolver = new EntityResolver();
        }
    }
View Full Code Here


        // if needed, register objects in provided context, rewriting the response
        // (assuming all lists are mutable)

        if (context != null) {

            EntityResolver resolver = context.getEntityResolver();
            QueryMetadata info = query.getMetaData(resolver);

            if (!info.isFetchingDataRows()) {

                response.reset();

                while (response.next()) {
                    if (response.isList()) {

                        List objects = response.currentList();

                        if (!objects.isEmpty()) {

                            DeepMergeOperation merger = new DeepMergeOperation(context);

                            // subclass descriptors will be resolved on the fly... here
                            // find objects base descriptor.
                            ListIterator it = objects.listIterator();
                            while (it.hasNext()) {
                                Persistent object = (Persistent) it.next();
                                ObjectId id = object.getObjectId();

                                // sanity check
                                if (id == null) {
                                    throw new CayenneRuntimeException(
                                            "Server returned an object without an id: "
                                                    + object);
                                }

                                // have to resolve descriptor here for every object, as
                                // often a query will not have any info indicating the
                                // entity type
                                ClassDescriptor descriptor = resolver
                                        .getClassDescriptor(id.getEntityName());

                                it.set(merger.merge(object, descriptor));
                            }
                        }
View Full Code Here

        tMtTable2.insert(1, 1, "g1");
        tMtTable2.insert(2, 1, "g2");
    }

    public void testGetEntityResolver() throws Exception {
        EntityResolver resolver = clientServerChannel.getEntityResolver();
        assertNotNull(resolver);
        assertNull(resolver.lookupObjEntity(ClientMtTable1.class));
        assertNotNull(resolver.getClientEntityResolver().lookupObjEntity(
                ClientMtTable1.class));
    }
View Full Code Here

    }

    public void testOnQuery() {

        final boolean[] genericDone = new boolean[1];
        MockDataChannel parent = new MockDataChannel(new EntityResolver()) {

            @Override
            public QueryResponse onQuery(ObjectContext context, Query query) {
                genericDone[0] = true;
                return super.onQuery(context, query);
View Full Code Here

        dataNode.setDataMaps(colection);
        dataNode.setAdapter(adapter);
        dataNode.setDataSource(CayenneResources.getResources().getDataSource());
        dataNode.setDataSourceFactory(getNode().getDataSourceFactory());
        dataNode.setSchemaUpdateStrategyName(getNode().getSchemaUpdateStrategyName());
        dataNode.setEntityResolver(new EntityResolver(colection));
        return dataNode;
    }
View Full Code Here

/**
*/
public class BatchActionLockingTest extends LockingCase {

    public void testRunAsIndividualQueriesSuccess() throws Exception {
        EntityResolver resolver = getDomain().getEntityResolver();

        // test with adapter that supports keys...
        DbAdapter adapter = buildAdapter(true);

        DbEntity dbEntity = resolver
                .lookupObjEntity(SimpleLockingTestEntity.class)
                .getDbEntity();

        List qualifierAttributes = Arrays.asList(dbEntity.getAttribute("LOCKING_TEST_ID"), dbEntity.getAttribute("NAME"));

View Full Code Here

        assertEquals(0, mockConnection.getNumberCommits());
        assertEquals(0, mockConnection.getNumberRollbacks());
    }

    public void testRunAsIndividualQueriesOptimisticLockingFailure() throws Exception {
        EntityResolver resolver = getDomain().getEntityResolver();

        // test with adapter that supports keys...
        DbAdapter adapter = buildAdapter(true);

        DbEntity dbEntity = resolver
                .lookupObjEntity(SimpleLockingTestEntity.class)
                .getDbEntity();

        List qualifierAttributes = Arrays.asList(dbEntity.getAttribute("LOCKING_TEST_ID"), dbEntity.getAttribute("NAME"));
View Full Code Here

/**
*/
public class BatchActionTest extends CayenneCase {

    public void testHasGeneratedKeys1() throws Exception {
        EntityResolver resolver = getDomain().getEntityResolver();

        // test with adapter that supports keys
        DbAdapter adapter = buildAdapter(true);

        InsertBatchQuery batch1 = new InsertBatchQuery(resolver.lookupObjEntity(
                GeneratedColumnTestEntity.class).getDbEntity(), 5);
        assertTrue(new BatchAction(batch1, adapter, resolver).hasGeneratedKeys());

        InsertBatchQuery batch2 = new InsertBatchQuery(resolver.lookupObjEntity(
                Artist.class).getDbEntity(), 5);
        assertFalse(new BatchAction(batch2, adapter, resolver).hasGeneratedKeys());
    }
View Full Code Here

                Artist.class).getDbEntity(), 5);
        assertFalse(new BatchAction(batch2, adapter, resolver).hasGeneratedKeys());
    }

    public void testHasGeneratedKeys2() throws Exception {
        EntityResolver resolver = getDomain().getEntityResolver();

        // test with adapter that does not support keys...
        DbAdapter adapter = buildAdapter(false);

        InsertBatchQuery batch1 = new InsertBatchQuery(resolver.lookupObjEntity(
                GeneratedColumnTestEntity.class).getDbEntity(), 5);
        assertFalse(new BatchAction(batch1, adapter, resolver).hasGeneratedKeys());

        InsertBatchQuery batch2 = new InsertBatchQuery(resolver.lookupObjEntity(
                Artist.class).getDbEntity(), 5);
        assertFalse(new BatchAction(batch2, adapter, resolver).hasGeneratedKeys());
    }
View Full Code Here

        entity.setClassName(MockPersistentObject.class.getName());

        DataMap dataMap = new DataMap("test");
        dataMap.addObjEntity(entity);
        Collection<DataMap> entities = Collections.singleton(dataMap);
        context.setEntityResolver(new EntityResolver(entities));
        Persistent object = context.newObject(MockPersistentObject.class);

        // record change here to make it available to the anonymous connector method..
        diff.add(new NodeIdChangeOperation(object.getObjectId(), newObjectId));
View Full Code Here

TOP

Related Classes of org.apache.cayenne.map.EntityResolver

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.