use of javax.jcr.query.qom.FullTextSearch in project jackrabbit by apache.
the class QueryObjectModelFactoryTest method testFullTextSearchAllProperties.
/**
* Test case for {@link QueryObjectModelFactory#fullTextSearch(String, String, StaticOperand)}
*/
public void testFullTextSearchAllProperties() throws RepositoryException {
FullTextSearch ftSearch = qf.fullTextSearch(SELECTOR_NAME1, null, qf.literal(vf.createValue(FULLTEXT_SEARCH_EXPR)));
assertEquals("Wrong selector name", SELECTOR_NAME1, ftSearch.getSelectorName());
assertNull("Property name must be null", ftSearch.getPropertyName());
}
use of javax.jcr.query.qom.FullTextSearch in project jackrabbit by apache.
the class QueryObjectModelFactoryTest method testFullTextSearchWithBindVariableValue.
/**
* Test case for {@link QueryObjectModelFactory#fullTextSearch(String, String, StaticOperand)}
*/
public void testFullTextSearchWithBindVariableValue() throws RepositoryException {
FullTextSearch ftSearch = qf.fullTextSearch(SELECTOR_NAME1, propertyName1, qf.bindVariable(VARIABLE_NAME));
assertEquals("Wrong selector name", SELECTOR_NAME1, ftSearch.getSelectorName());
assertEquals("Wrong propertyName", propertyName1, ftSearch.getPropertyName());
StaticOperand op = ftSearch.getFullTextSearchExpression();
assertNotNull(op);
assertTrue("not a BindVariableValue", op instanceof BindVariableValue);
BindVariableValue value = (BindVariableValue) op;
assertEquals(VARIABLE_NAME, value.getBindVariableName());
}
use of javax.jcr.query.qom.FullTextSearch in project jackrabbit-oak by apache.
the class QomTest method fullTextSearch.
@Test
public void fullTextSearch() throws RepositoryException {
Literal l = f.literal(vf.createValue(1));
FullTextSearch x = f.fullTextSearch("selectorName", "propertyName", l);
assertEquals("selectorName", x.getSelectorName());
assertEquals("propertyName", x.getPropertyName());
assertEquals(l, x.getFullTextSearchExpression());
assertEquals("CONTAINS([selectorName].[propertyName], 1)", x.toString());
assertEquals("CONTAINS([p], null)", f.fullTextSearch(null, "p", null).toString());
assertEquals("CONTAINS([s].[p], null)", f.fullTextSearch("s", "p", null).toString());
assertEquals("CONTAINS([s].*, null)", f.fullTextSearch("s", null, null).toString());
assertEquals("CONTAINS(*, null)", f.fullTextSearch(null, null, null).toString());
}
use of javax.jcr.query.qom.FullTextSearch in project jackrabbit by apache.
the class LuceneQueryFactory method create.
protected Query create(Constraint constraint, Map<String, NodeType> selectorMap, JackrabbitIndexSearcher searcher) throws RepositoryException, IOException {
if (constraint instanceof And) {
return getAndQuery((And) constraint, selectorMap, searcher);
} else if (constraint instanceof Or) {
return getOrQuery((Or) constraint, selectorMap, searcher);
} else if (constraint instanceof Not) {
return getNotQuery((Not) constraint, selectorMap, searcher);
} else if (constraint instanceof PropertyExistence) {
return getPropertyExistenceQuery((PropertyExistence) constraint);
} else if (constraint instanceof Comparison) {
Comparison c = (Comparison) constraint;
Transform left = new Transform(c.getOperand1());
return getComparisonQuery(left.operand, left.transform, c.getOperator(), c.getOperand2(), selectorMap);
} else if (constraint instanceof FullTextSearch) {
return getFullTextSearchQuery((FullTextSearch) constraint);
} else if (constraint instanceof SameNode) {
SameNode sn = (SameNode) constraint;
return getNodeIdQuery(UUID, sn.getPath());
} else if (constraint instanceof ChildNode) {
ChildNode cn = (ChildNode) constraint;
return getNodeIdQuery(PARENT, cn.getParentPath());
} else if (constraint instanceof DescendantNode) {
DescendantNode dn = (DescendantNode) constraint;
return getDescendantNodeQuery(dn, searcher);
} else {
throw new UnsupportedRepositoryOperationException("Unknown constraint type: " + constraint);
}
}
use of javax.jcr.query.qom.FullTextSearch in project jackrabbit by apache.
the class QueryObjectModelFactoryTest method testFullTextSearch.
/**
* Test case for {@link QueryObjectModelFactory#fullTextSearch(String, String, StaticOperand)}
*/
public void testFullTextSearch() throws RepositoryException {
FullTextSearch ftSearch = qf.fullTextSearch(SELECTOR_NAME1, propertyName1, qf.literal(vf.createValue(FULLTEXT_SEARCH_EXPR)));
assertEquals("Wrong selector name", SELECTOR_NAME1, ftSearch.getSelectorName());
assertEquals("Wrong propertyName", propertyName1, ftSearch.getPropertyName());
StaticOperand op = ftSearch.getFullTextSearchExpression();
assertNotNull(op);
assertTrue("not a Literal", op instanceof Literal);
Literal literal = (Literal) op;
assertEquals(FULLTEXT_SEARCH_EXPR, literal.getLiteralValue().getString());
}
Aggregations