use of javax.jcr.query.Query in project jackrabbit by apache.
the class SimpleQueryTest method testNotEqual.
public void testNotEqual() throws Exception {
Node n = testRootNode.addNode("node1");
n.setProperty("value", new String[] { "foo" });
n = testRootNode.addNode("node2");
n.setProperty("value", new String[] { "bar" });
n = testRootNode.addNode("node3");
n.setProperty("value", new String[] { "foobar" });
testRootNode.save();
String jcrql = "SELECT * FROM nt:base WHERE jcr:path LIKE '" + testRoot + "/%' AND value <> 'bar'";
Query q = superuser.getWorkspace().getQueryManager().createQuery(jcrql, Query.SQL);
QueryResult result = q.execute();
checkResult(result, 2);
}
use of javax.jcr.query.Query in project jackrabbit by apache.
the class SimpleQueryTest method testIsNotNull.
public void testIsNotNull() throws Exception {
Node foo = testRootNode.addNode("foo");
foo.setProperty("mytext", "the quick brown fox jumps over the lazy dog.");
Node bar = testRootNode.addNode("bar");
bar.setProperty("text", "the quick brown fox jumps over the lazy dog.");
// documents which field name is not exactly "mytext" should not match (JCR-1051)
bar.setProperty("mytextwhichstartswithmytext", "the quick brown fox jumps over the lazy dog.");
testRootNode.save();
String sql = "SELECT * FROM nt:unstructured WHERE mytext is not null";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
QueryResult result = q.execute();
checkResult(result, 1);
String xpath = "//*[@jcr:primaryType='nt:unstructured' and @mytext]";
q = superuser.getWorkspace().getQueryManager().createQuery(xpath, Query.XPATH);
result = q.execute();
checkResult(result, 1);
}
use of javax.jcr.query.Query in project jackrabbit by apache.
the class SimpleQueryTest method testLikePatternBetween.
public void testLikePatternBetween() throws Exception {
Node n = testRootNode.addNode("node1");
n.setProperty("value", new String[] { "ping" });
n = testRootNode.addNode("node2");
n.setProperty("value", new String[] { "pong" });
n = testRootNode.addNode("node3");
n.setProperty("value", new String[] { "puung" });
testRootNode.save();
String sql = "SELECT * FROM nt:base WHERE jcr:path LIKE '" + testRoot + "/%' AND value LIKE 'ping'";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
QueryResult result = q.execute();
checkResult(result, 1);
sql = "SELECT * FROM nt:base WHERE jcr:path LIKE '" + testRoot + "/%' AND value LIKE 'p_ng'";
q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
result = q.execute();
checkResult(result, 2);
sql = "SELECT * FROM nt:base WHERE jcr:path LIKE '" + testRoot + "/%' AND value LIKE 'p%ng'";
q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
result = q.execute();
checkResult(result, 3);
}
use of javax.jcr.query.Query in project jackrabbit by apache.
the class SimpleQueryTest method testLikePatternEnd.
public void testLikePatternEnd() throws Exception {
Node n = testRootNode.addNode("node1");
n.setProperty("value", new String[] { "bli" });
n = testRootNode.addNode("node2");
n.setProperty("value", new String[] { "bla" });
n = testRootNode.addNode("node3");
n.setProperty("value", new String[] { "blub" });
testRootNode.save();
String sql = "SELECT * FROM nt:base WHERE jcr:path LIKE '" + testRoot + "/%' AND value LIKE 'bli'";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
QueryResult result = q.execute();
checkResult(result, 1);
sql = "SELECT * FROM nt:base WHERE jcr:path LIKE '" + testRoot + "/%' AND value LIKE 'bl_'";
q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
result = q.execute();
checkResult(result, 2);
sql = "SELECT * FROM nt:base WHERE jcr:path LIKE '" + testRoot + "/%' AND value LIKE 'bl%'";
q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
result = q.execute();
checkResult(result, 3);
}
use of javax.jcr.query.Query in project jackrabbit by apache.
the class SimpleQueryTest method testDateField1.
public void testDateField1() throws Exception {
Node n = testRootNode.addNode("marcel");
Calendar marcel = Calendar.getInstance();
marcel.set(1976, 4, 20, 15, 40);
n.setProperty("birth", new Value[] { superuser.getValueFactory().createValue(marcel) });
n = testRootNode.addNode("vanessa");
Calendar vanessa = Calendar.getInstance();
vanessa.set(1975, 4, 10, 13, 30);
n.setProperty("birth", new Value[] { superuser.getValueFactory().createValue(vanessa) });
testRootNode.save();
String sql = "SELECT * FROM nt:base WHERE jcr:path LIKE '" + testRoot + "/%' AND birth > TIMESTAMP '1976-01-01T00:00:00.000+01:00'";
Query q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
QueryResult result = q.execute();
checkResult(result, 1);
sql = "SELECT * FROM nt:base WHERE jcr:path LIKE '" + testRoot + "/%' AND birth > TIMESTAMP '1975-01-01T00:00:00.000+01:00'";
q = superuser.getWorkspace().getQueryManager().createQuery(sql, Query.SQL);
result = q.execute();
checkResult(result, 2);
}
Aggregations