use of org.apache.cayenne.access.jdbc.SQLStatement in project cayenne by apache.
the class VelocitySQLTemplateProcessorTest method testProcessTemplateBindNotEqual.
@Test
public void testProcessTemplateBindNotEqual() throws Exception {
String sqlTemplate = "SELECT * FROM ME WHERE COLUMN #bindNotEqual($a 'VARCHAR')";
SQLStatement compiled = processor.processTemplate(sqlTemplate, Collections.<String, Object>emptyMap());
assertEquals("SELECT * FROM ME WHERE COLUMN IS NOT NULL", compiled.getSql());
assertEquals(0, compiled.getBindings().length);
Map<String, Object> map = Collections.<String, Object>singletonMap("a", "VALUE_OF_A");
compiled = processor.processTemplate(sqlTemplate, map);
assertEquals("SELECT * FROM ME WHERE COLUMN <> ?", compiled.getSql());
assertEquals(1, compiled.getBindings().length);
assertBindingValue("VALUE_OF_A", compiled.getBindings()[0]);
}
use of org.apache.cayenne.access.jdbc.SQLStatement in project cayenne by apache.
the class VelocitySQLTemplateProcessorTest method testProcessTemplateBindEqual.
@Test
public void testProcessTemplateBindEqual() throws Exception {
String sqlTemplate = "SELECT * FROM ME WHERE COLUMN #bindEqual($a 'VARCHAR')";
SQLStatement compiled = processor.processTemplate(sqlTemplate, Collections.<String, Object>emptyMap());
assertEquals("SELECT * FROM ME WHERE COLUMN IS NULL", compiled.getSql());
assertEquals(0, compiled.getBindings().length);
Map<String, Object> map = Collections.<String, Object>singletonMap("a", "VALUE_OF_A");
compiled = processor.processTemplate(sqlTemplate, map);
assertEquals("SELECT * FROM ME WHERE COLUMN = ?", compiled.getSql());
assertEquals(1, compiled.getBindings().length);
assertBindingValue("VALUE_OF_A", compiled.getBindings()[0]);
}
use of org.apache.cayenne.access.jdbc.SQLStatement in project cayenne by apache.
the class VelocitySQLTemplateProcessor_ChainTest method testProcessTemplatePartialChainStart.
@Test
public void testProcessTemplatePartialChainStart() throws Exception {
String template = "#chain(' OR ' 'WHERE ')" + "#chunk($a)$a#end" + "#chunk($b)$b#end" + "#chunk($c)$c#end" + "#end";
Map<String, Object> map = new HashMap<>();
map.put("b", "[B]");
map.put("c", "[C]");
SQLStatement compiled = processor.processTemplate(template, map);
assertEquals("WHERE [B] OR [C]", compiled.getSql());
}
use of org.apache.cayenne.access.jdbc.SQLStatement in project cayenne by apache.
the class VelocitySQLTemplateProcessor_ChainTest method testProcessTemplatePartialChainMiddle.
@Test
public void testProcessTemplatePartialChainMiddle() throws Exception {
String template = "#chain(' OR ' 'WHERE ')" + "#chunk($a)$a#end" + "#chunk($b)$b#end" + "#chunk($c)$c#end" + "#end";
Map<String, Object> map = new HashMap<>();
map.put("a", "[A]");
map.put("c", "[C]");
SQLStatement compiled = processor.processTemplate(template, map);
assertEquals("WHERE [A] OR [C]", compiled.getSql());
}
use of org.apache.cayenne.access.jdbc.SQLStatement in project cayenne by apache.
the class VelocitySQLTemplateProcessor_ChainTest method testProcessTemplateEmptyChain.
@Test
public void testProcessTemplateEmptyChain() throws Exception {
String template = "#chain(' OR ' 'WHERE ')" + "#chunk($a)$a#end" + "#chunk($b)$b#end" + "#chunk($c)$c#end" + "#end";
SQLStatement compiled = processor.processTemplate(template, Collections.<String, Object>emptyMap());
assertEquals("", compiled.getSql());
}
Aggregations