Package org.apache.cayenne

Examples of org.apache.cayenne.QueryResponse


    public void testPerformQuery_SingleEntity() throws Exception {
        e1Helper.deleteAll();
        e1Helper.insert(3).insert(4);

        StringIdQuery query = new StringIdQuery("E1:3", "E1:4", "E1:5");
        QueryResponse response = runtime.newContext().performGenericQuery(query);
        assertEquals(1, response.size());
        assertEquals(2, response.firstList().size());

        Set<Number> ids = new HashSet<Number>();

        DataRow r1 = (DataRow) response.firstList().get(0);
        ids.add((Number) r1.get("ID"));

        DataRow r2 = (DataRow) response.firstList().get(1);
        ids.add((Number) r2.get("ID"));

        assertTrue(ids.contains(3l));
        assertTrue(ids.contains(4l));
    }
View Full Code Here


        e2Helper.deleteAll();
        e2Helper.insert(5).insert(6).insert(7);

        StringIdQuery query = new StringIdQuery("E1:3", "E1:4", "E2:6", "E1:5");
        QueryResponse response = runtime.newContext().performGenericQuery(query);
        assertEquals(2, response.size());

        Set<String> ids = new HashSet<String>();

        while (response.next()) {
            List<DataRow> list = (List<DataRow>) response.currentList();
            for (DataRow row : list) {
                ids.add(row.getEntityName() + ":" + row.get("ID"));
            }
        }
View Full Code Here

        createPaintingsDataSet();

        String ejbql = "delete from Painting";
        EJBQLQuery query = new EJBQLQuery(ejbql);

        QueryResponse result = context.performGenericQuery(query);

        int[] count = result.firstUpdateCount();
        assertNotNull(count);
        assertEquals(1, count.length);
        assertEquals(2, count[0]);
    }
View Full Code Here

        createPaintingsDataSet();

        String ejbql = "delete from Painting AS p";
        EJBQLQuery query = new EJBQLQuery(ejbql);

        QueryResponse result = context.performGenericQuery(query);

        int[] count = result.firstUpdateCount();
        assertNotNull(count);
        assertEquals(1, count.length);
        assertEquals(2, count[0]);
    }
View Full Code Here

        createPaintingsDataSet();

        String ejbql = "delete from Painting AS p WHERE p.paintingTitle = 'P2'";
        EJBQLQuery query = new EJBQLQuery(ejbql);

        QueryResponse result = context.performGenericQuery(query);

        int[] count = result.firstUpdateCount();
        assertNotNull(count);
        assertEquals(1, count.length);
        assertEquals(1, count[0]);

        ObjectContext freshContext = runtime.newContext();
View Full Code Here

        String ejbql = "delete from MeaningfulPKTest1 m WHERE m.pkAttribute in (:id)";

        EJBQLQuery query = new EJBQLQuery(ejbql);
        query.setParameter("id", id);
        QueryResponse result = context.performGenericQuery(query);

        int[] count = result.firstUpdateCount();
        assertNotNull(count);
        assertEquals(1, count.length);
        assertEquals(33, count[0]);
    }
View Full Code Here

            return null;
        }

        // skip context cache lookup, go directly to its channel
        Query query = new ObjectIdQuery((ObjectId) nodeId);
        QueryResponse response = context.getChannel().onQuery(context, query);
        List objects = response.firstList();

        if (objects.size() == 0) {
            throw new CayenneRuntimeException("No object for ID exists: " + nodeId);
        }
        else if (objects.size() > 1) {
View Full Code Here

        ObjectIdQuery query = new ObjectIdQuery(
                object.getObjectId(),
                true,
                ObjectIdQuery.CACHE);
        QueryResponse response = context.getChannel().onQuery(null, query);
        List<?> result = response.firstList();
        if (result == null || result.size() == 0) {
            return null;
        }

        DataRow snapshot = (DataRow) result.get(0);
View Full Code Here

        // ensure that originating query is wrapped to include the right cache key....
        this.paginatedQuery = query;

        // select directly from the channel, bypassing the context. Otherwise our query
        // wrapper can be intercepted incorrectly
        QueryResponse response = context.getChannel().onQuery(context, query);

        List firstPage = response.firstList();

        // sanity check
        if (firstPage.size() > pageSize) {
            throw new IllegalArgumentException("Returned page size ("
                    + firstPage.size()
View Full Code Here

        return eventManager;
    }

    public QueryResponse onQuery(ObjectContext context, Query query) {

        QueryResponse response = (QueryResponse) send(
                new QueryMessage(query),
                QueryResponse.class);

        // 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);
                            List<Object> rsMapping = info.getResultSetMapping();
View Full Code Here

TOP

Related Classes of org.apache.cayenne.QueryResponse

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.