Search in sources :

Example 26 with Query

use of org.apache.cayenne.query.Query in project cayenne by apache.

the class DataContextIT method testPerformQuery_Routing.

@Test
public void testPerformQuery_Routing() {
    Query query = mock(Query.class);
    QueryMetadata md = mock(QueryMetadata.class);
    when(query.getMetaData(any(EntityResolver.class))).thenReturn(md);
    context.performGenericQuery(query);
    verify(query).route(any(QueryRouter.class), eq(context.getEntityResolver()), (Query) isNull());
}
Also used : QueryMetadata(org.apache.cayenne.query.QueryMetadata) SelectQuery(org.apache.cayenne.query.SelectQuery) EJBQLQuery(org.apache.cayenne.query.EJBQLQuery) ObjectIdQuery(org.apache.cayenne.query.ObjectIdQuery) Query(org.apache.cayenne.query.Query) QueryRouter(org.apache.cayenne.query.QueryRouter) EntityResolver(org.apache.cayenne.map.EntityResolver) Test(org.junit.Test)

Example 27 with Query

use of org.apache.cayenne.query.Query in project cayenne by apache.

the class DataDomainFiltersIT method testOnQuery_FilterOrdering.

@Test
public void testOnQuery_FilterOrdering() {
    DataDomain domain = runtime.getDataDomain();
    final List<String> results = new ArrayList<String>();
    DataChannelFilter f1 = new MockDataChannelFilter() {

        @Override
        public QueryResponse onQuery(ObjectContext originatingContext, Query query, DataChannelFilterChain filterChain) {
            results.add("f1start");
            QueryResponse response = filterChain.onQuery(originatingContext, query);
            results.add("f1end");
            return response;
        }
    };
    DataChannelFilter f2 = new MockDataChannelFilter() {

        @Override
        public QueryResponse onQuery(ObjectContext originatingContext, Query query, DataChannelFilterChain filterChain) {
            results.add("f2start");
            QueryResponse response = filterChain.onQuery(originatingContext, query);
            results.add("f2end");
            return response;
        }
    };
    domain.filters.add(f1);
    domain.filters.add(f2);
    SelectQuery query = new SelectQuery(Artist.class);
    QueryResponse response = domain.onQuery(context, query);
    assertNotNull(response);
    assertEquals(4, results.size());
    assertEquals("f2start", results.get(0));
    assertEquals("f1start", results.get(1));
    assertEquals("f1end", results.get(2));
    assertEquals("f2end", results.get(3));
}
Also used : SelectQuery(org.apache.cayenne.query.SelectQuery) MockDataChannelFilter(org.apache.cayenne.MockDataChannelFilter) DataChannelFilter(org.apache.cayenne.DataChannelFilter) SelectQuery(org.apache.cayenne.query.SelectQuery) Query(org.apache.cayenne.query.Query) QueryResponse(org.apache.cayenne.QueryResponse) ArrayList(java.util.ArrayList) MockDataChannelFilter(org.apache.cayenne.MockDataChannelFilter) DataChannelFilterChain(org.apache.cayenne.DataChannelFilterChain) ObjectContext(org.apache.cayenne.ObjectContext) Test(org.junit.Test)

Example 28 with Query

use of org.apache.cayenne.query.Query in project cayenne by apache.

the class DataNodeQueriesIT method testRunMultiLineSQLTemplateMac.

@Test
public void testRunMultiLineSQLTemplateMac() throws Exception {
    String templateString = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME)" + "\r" + "VALUES (1, 'A')";
    Query template = new SQLTemplate(Object.class, templateString);
    node.performQueries(Collections.singletonList(template), new MockOperationObserver());
}
Also used : SQLTemplate(org.apache.cayenne.query.SQLTemplate) Query(org.apache.cayenne.query.Query) Test(org.junit.Test)

Example 29 with Query

use of org.apache.cayenne.query.Query in project cayenne by apache.

the class DataNodeQueriesIT method testPerfomQueriesSelectingSQLTemplate1.

@Test
public void testPerfomQueriesSelectingSQLTemplate1() throws Exception {
    createFourArtists();
    String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
    SQLTemplate query = new SQLTemplate(Object.class, template);
    MockOperationObserver observer = new MockOperationObserver();
    node.performQueries(Collections.singletonList((Query) query), observer);
    List<DataRow> data = observer.rowsForQuery(query);
    assertEquals(4, data.size());
    DataRow row = data.get(2);
    assertEquals(1, row.size());
    assertEquals(201, row.get("ARTIST_ID"));
}
Also used : SQLTemplate(org.apache.cayenne.query.SQLTemplate) Query(org.apache.cayenne.query.Query) DataRow(org.apache.cayenne.DataRow) Test(org.junit.Test)

Example 30 with Query

use of org.apache.cayenne.query.Query in project cayenne by apache.

the class DataNodeQueriesIT method testRunMultiLineSQLTemplateWindows.

@Test
public void testRunMultiLineSQLTemplateWindows() throws Exception {
    String templateString = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME)" + "\r\n" + "VALUES (1, 'A')";
    Query template = new SQLTemplate(Object.class, templateString);
    node.performQueries(Collections.singletonList(template), new MockOperationObserver());
}
Also used : SQLTemplate(org.apache.cayenne.query.SQLTemplate) Query(org.apache.cayenne.query.Query) Test(org.junit.Test)

Aggregations

Query (org.apache.cayenne.query.Query)43 Test (org.junit.Test)25 SelectQuery (org.apache.cayenne.query.SelectQuery)15 SQLTemplate (org.apache.cayenne.query.SQLTemplate)14 ArrayList (java.util.ArrayList)10 CayenneRuntimeException (org.apache.cayenne.CayenneRuntimeException)8 DataRow (org.apache.cayenne.DataRow)6 QueryResponse (org.apache.cayenne.QueryResponse)6 MockQuery (org.apache.cayenne.query.MockQuery)6 List (java.util.List)5 ObjectIdQuery (org.apache.cayenne.query.ObjectIdQuery)5 Collection (java.util.Collection)4 HashMap (java.util.HashMap)4 ObjectContext (org.apache.cayenne.ObjectContext)4 ObjectId (org.apache.cayenne.ObjectId)4 Persistent (org.apache.cayenne.Persistent)4 MockOperationObserver (org.apache.cayenne.access.MockOperationObserver)4 Map (java.util.Map)3 DbEntity (org.apache.cayenne.map.DbEntity)3 EntityResolver (org.apache.cayenne.map.EntityResolver)3