use of org.apache.jackrabbit.oak.api.Result in project jackrabbit-oak by apache.
the class ExcerptTest method nonIndexedRequestedPropExcerpt.
@Test
public void nonIndexedRequestedPropExcerpt() throws Exception {
Tree contentRoot = root.getTree("/").addChild("testRoot");
contentRoot.setProperty("foo", "fox");
contentRoot.setProperty("baz", "is fox ifoxing");
root.commit();
String query = "SELECT [rep:excerpt(baz)] FROM [nt:base] WHERE CONTAINS(*, 'fox')";
Result result = executeQuery(query, SQL2, NO_BINDINGS);
Iterator<? extends ResultRow> resultIter = result.getRows().iterator();
assertTrue(resultIter.hasNext());
ResultRow firstRow = resultIter.next();
PropertyValue nodeExcerpt = firstRow.getValue("rep:excerpt(baz)");
assertNull("rep:excerpt(baz) if requested explicitly must be indexed to be evaluated", nodeExcerpt);
}
use of org.apache.jackrabbit.oak.api.Result in project jackrabbit-oak by apache.
the class HybridIndexTest method paging.
@Test
public void paging() throws Exception {
String idxName = "hybridtest";
Tree idx = createIndex(root.getTree("/"), idxName, Collections.singleton("foo"));
TestUtil.enableIndexingMode(idx, IndexingMode.SYNC);
root.commit();
runAsyncIndex();
createTestData("/content", LucenePropertyIndex.LUCENE_QUERY_BATCH_SIZE * 2);
runAsyncIndex();
String query = "select [jcr:path] from [nt:base] where [foo] = 'bar'";
Result result = executeQuery(query, SQL2, NO_BINDINGS);
Iterator<? extends ResultRow> itr = result.getRows().iterator();
int count = 0;
for (int i = 0; i < LucenePropertyIndex.LUCENE_QUERY_BATCH_SIZE - 10; i++) {
assertTrue(itr.hasNext());
itr.next();
count++;
}
createTestData("/content2", 5);
LogCustomizer lc = LogCustomizer.forLogger(LucenePropertyIndex.class.getName()).filter(Level.WARN).create();
lc.starting();
int size = Iterators.size(itr);
if (!lc.getLogs().isEmpty()) {
fail(lc.getLogs().toString());
}
lc.finished();
int totalSize = LucenePropertyIndex.LUCENE_QUERY_BATCH_SIZE * 2 + 5;
assertEquals(totalSize, count + size);
}
use of org.apache.jackrabbit.oak.api.Result in project jackrabbit-oak by apache.
the class ContentRemoteResultsTest method testGetTotal.
@Test
public void testGetTotal() {
Result result = mock(Result.class);
doReturn(42L).when(result).getSize();
assertEquals(42L, createContentRemoteResults(result).getTotal());
}
use of org.apache.jackrabbit.oak.api.Result in project jackrabbit-oak by apache.
the class ContentRemoteResultsTest method testGetSelectors.
@Test
public void testGetSelectors() {
String[] selectors = { "a", "b" };
Result result = mock(Result.class);
doReturn(selectors).when(result).getSelectorNames();
assertTrue(elementsEqual(asList(selectors), createContentRemoteResults(result).getSelectors()));
}
use of org.apache.jackrabbit.oak.api.Result in project jackrabbit-oak by apache.
the class UserProvider method getAuthorizableByPrincipal.
@CheckForNull
Tree getAuthorizableByPrincipal(@Nonnull Principal principal) {
if (principal instanceof TreeBasedPrincipal) {
return root.getTree(((TreeBasedPrincipal) principal).getOakPath());
}
// index as well.
try {
StringBuilder stmt = new StringBuilder();
stmt.append("SELECT * FROM [").append(UserConstants.NT_REP_AUTHORIZABLE).append(']');
stmt.append(" WHERE [").append(UserConstants.REP_PRINCIPAL_NAME).append("] = $principalName");
stmt.append(QueryEngine.INTERNAL_SQL2_QUERY);
Result result = root.getQueryEngine().executeQuery(stmt.toString(), Query.JCR_SQL2, 1, 0, Collections.singletonMap("principalName", PropertyValues.newString(principal.getName())), NO_MAPPINGS);
Iterator<? extends ResultRow> rows = result.getRows().iterator();
if (rows.hasNext()) {
String path = rows.next().getPath();
return root.getTree(path);
}
} catch (ParseException ex) {
log.error("Failed to retrieve authorizable by principal", ex);
}
return null;
}
Aggregations