use of org.apache.cayenne.query.Query in project cayenne by apache.
the class DataNodeQueriesIT method testPerfomQueriesSelectingSQLTemplate2.
@Test
public void testPerfomQueriesSelectingSQLTemplate2() throws Exception {
createFourArtists();
String template = "SELECT * FROM ARTIST ORDER BY ARTIST_ID";
SQLTemplate query = new SQLTemplate(Object.class, template);
sqlTemplateCustomizer.updateSQLTemplate(query);
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(3, row.size());
Number id = (Number) row.get("ARTIST_ID");
assertNotNull(id);
assertEquals(201, id.intValue());
}
use of org.apache.cayenne.query.Query in project cayenne by apache.
the class DataNodeQueriesIT method testPerfomQueriesSQLTemplate.
@Test
public void testPerfomQueriesSQLTemplate() throws Exception {
String template = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME, DATE_OF_BIRTH) " + "VALUES (#bind($id), #bind($name), #bind($dob 'DATE'))";
SQLTemplate query = new SQLTemplate(Object.class, template);
Map<String, Object> bindings = new HashMap<>();
bindings.put("id", 1l);
bindings.put("name", "a1");
bindings.put("dob", new Date(System.currentTimeMillis()));
query.setParameters(bindings);
MockOperationObserver observer = new MockOperationObserver();
node.performQueries(Collections.singletonList((Query) query), observer);
assertNotNull(observer.countsForQuery(query));
assertEquals(1, observer.countsForQuery(query)[0]);
// check the data
assertEquals(1, tArtist.getRowCount());
assertEquals(1l, tArtist.getLong("ARTIST_ID"));
assertEquals("a1", tArtist.getString("ARTIST_NAME").trim());
}
use of org.apache.cayenne.query.Query in project cayenne by apache.
the class DataNodeQueriesIT method testRunMultiLineSQLTemplateUNIX.
@Test
public void testRunMultiLineSQLTemplateUNIX() throws Exception {
String templateString = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME)" + "\n" + "VALUES (1, 'A')";
Query template = new SQLTemplate(Object.class, templateString);
node.performQueries(Collections.singletonList(template), new MockOperationObserver());
}
use of org.apache.cayenne.query.Query in project cayenne by apache.
the class DataContextDelegateIT method testWillPerformQueryBlocked.
@Test
public void testWillPerformQueryBlocked() throws Exception {
final List<Query> queriesPerformed = new ArrayList<Query>(1);
DataContextDelegate delegate = new MockDataContextDelegate() {
@Override
public Query willPerformQuery(DataContext context, Query query) {
queriesPerformed.add(query);
return null;
}
};
context.setDelegate(delegate);
SelectQuery query = new SelectQuery(Gallery.class);
List<?> results = context.performQuery(query);
assertTrue("Delegate is not notified of a query being run.", queriesPerformed.contains(query));
assertEquals(1, queriesPerformed.size());
assertNotNull(results);
// blocked
assertEquals("Delegate couldn't block the query.", 0, results.size());
}
use of org.apache.cayenne.query.Query in project cayenne by apache.
the class DataContextDelegateIT method testWillPerformGenericQuery.
@Test
public void testWillPerformGenericQuery() throws Exception {
final List<Query> queriesPerformed = new ArrayList<Query>(1);
DataContextDelegate delegate = new MockDataContextDelegate() {
@Override
public Query willPerformGenericQuery(DataContext context, Query query) {
queriesPerformed.add(query);
return query;
}
};
context.setDelegate(delegate);
// test that delegate is consulted before select
MockQuery query = new MockQuery();
context.performGenericQuery(query);
assertTrue("Delegate is not notified of a query being run.", queriesPerformed.contains(query));
assertEquals(1, queriesPerformed.size());
assertTrue("Delegate unexpectedly blocked the query.", query.isRouteCalled());
}
Aggregations