Search in sources :

Example 6 with And

use of javax.jcr.query.qom.And in project jackrabbit-oak by apache.

the class QomTest method and.

@Test
public void and() throws RepositoryException {
    Constraint c0 = f.propertyExistence("x", "c0");
    Constraint c1 = f.propertyExistence("x", "c1");
    And and = f.and(c0, c1);
    assertEquals(and.getConstraint1(), c0);
    assertEquals(and.getConstraint2(), c1);
    assertEquals("([x].[c0] IS NOT NULL) AND ([x].[c1] IS NOT NULL)", and.toString());
}
Also used : Constraint(javax.jcr.query.qom.Constraint) And(javax.jcr.query.qom.And) Test(org.junit.Test) AbstractRepositoryTest(org.apache.jackrabbit.oak.jcr.AbstractRepositoryTest)

Example 7 with And

use of javax.jcr.query.qom.And in project jackrabbit by apache.

the class ConstraintSplitter method splitNot.

private void splitNot(ConstraintSplitInfo constraintSplitInfo, Not not) throws RepositoryException {
    Constraint constraint = not.getConstraint();
    if (constraint instanceof Not) {
        split(constraintSplitInfo, ((Not) constraint).getConstraint());
    } else if (constraint instanceof And) {
        And and = (And) constraint;
        split(constraintSplitInfo, factory.or(factory.not(and.getConstraint1()), factory.not(and.getConstraint2())));
    } else if (constraint instanceof Or) {
        Or or = (Or) constraint;
        split(constraintSplitInfo, factory.and(factory.not(or.getConstraint1()), factory.not(or.getConstraint2())));
    } else {
        splitBySelectors(constraintSplitInfo, not, getSelectorNames(constraint));
    }
}
Also used : Not(javax.jcr.query.qom.Not) Or(javax.jcr.query.qom.Or) Constraint(javax.jcr.query.qom.Constraint) And(javax.jcr.query.qom.And)

Example 8 with And

use of javax.jcr.query.qom.And 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);
    }
}
Also used : UnsupportedRepositoryOperationException(javax.jcr.UnsupportedRepositoryOperationException) Not(javax.jcr.query.qom.Not) Or(javax.jcr.query.qom.Or) Comparison(javax.jcr.query.qom.Comparison) And(javax.jcr.query.qom.And) DescendantNode(javax.jcr.query.qom.DescendantNode) FullTextSearch(javax.jcr.query.qom.FullTextSearch) SameNode(javax.jcr.query.qom.SameNode) PropertyExistence(javax.jcr.query.qom.PropertyExistence) ChildNode(javax.jcr.query.qom.ChildNode)

Aggregations

And (javax.jcr.query.qom.And)8 Or (javax.jcr.query.qom.Or)5 Constraint (javax.jcr.query.qom.Constraint)3 Not (javax.jcr.query.qom.Not)3 Comparison (javax.jcr.query.qom.Comparison)2 DescendantNode (javax.jcr.query.qom.DescendantNode)2 PropertyExistence (javax.jcr.query.qom.PropertyExistence)2 UnsupportedRepositoryOperationException (javax.jcr.UnsupportedRepositoryOperationException)1 Value (javax.jcr.Value)1 ValueFormatException (javax.jcr.ValueFormatException)1 InvalidQueryException (javax.jcr.query.InvalidQueryException)1 Row (javax.jcr.query.Row)1 ChildNode (javax.jcr.query.qom.ChildNode)1 DynamicOperand (javax.jcr.query.qom.DynamicOperand)1 FullTextSearch (javax.jcr.query.qom.FullTextSearch)1 FullTextSearchScore (javax.jcr.query.qom.FullTextSearchScore)1 Length (javax.jcr.query.qom.Length)1 NodeLocalName (javax.jcr.query.qom.NodeLocalName)1 NodeName (javax.jcr.query.qom.NodeName)1 PropertyValue (javax.jcr.query.qom.PropertyValue)1