Search in sources :

Example 16 with JoinCondition

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

the class QueryObjectModelFactoryTest method testJoin.

/**
     * Test case for {@link QueryObjectModelFactory#join(Source, Source, String, JoinCondition)}
     */
public void testJoin() throws RepositoryException {
    Selector s1 = qf.selector(ntBase, SELECTOR_NAME1);
    Selector s2 = qf.selector(testNodeType, SELECTOR_NAME1);
    JoinCondition cond = qf.equiJoinCondition(ntBase, jcrPrimaryType, testNodeType, jcrPrimaryType);
    for (Iterator<String> it = JOIN_TYPES.iterator(); it.hasNext(); ) {
        String joinType = it.next();
        Join join = qf.join(s1, s2, joinType, cond);
        assertTrue("Not a selector source", join.getLeft() instanceof Selector);
        assertTrue("Not a selector source", join.getRight() instanceof Selector);
        assertEquals("Wrong join type", joinType, join.getJoinType());
        assertTrue("Not an EquiJoinCondition", join.getJoinCondition() instanceof EquiJoinCondition);
    }
}
Also used : EquiJoinCondition(javax.jcr.query.qom.EquiJoinCondition) Join(javax.jcr.query.qom.Join) Selector(javax.jcr.query.qom.Selector) SameNodeJoinCondition(javax.jcr.query.qom.SameNodeJoinCondition) EquiJoinCondition(javax.jcr.query.qom.EquiJoinCondition) ChildNodeJoinCondition(javax.jcr.query.qom.ChildNodeJoinCondition) JoinCondition(javax.jcr.query.qom.JoinCondition) DescendantNodeJoinCondition(javax.jcr.query.qom.DescendantNodeJoinCondition)

Aggregations

JoinCondition (javax.jcr.query.qom.JoinCondition)16 QueryObjectModel (javax.jcr.query.qom.QueryObjectModel)13 ArrayList (java.util.ArrayList)2 Node (javax.jcr.Node)2 Selector (javax.jcr.query.qom.Selector)2 ChildNodeJoinCondition (javax.jcr.query.qom.ChildNodeJoinCondition)1 DescendantNodeJoinCondition (javax.jcr.query.qom.DescendantNodeJoinCondition)1 EquiJoinCondition (javax.jcr.query.qom.EquiJoinCondition)1 Join (javax.jcr.query.qom.Join)1 SameNodeJoinCondition (javax.jcr.query.qom.SameNodeJoinCondition)1 Source (javax.jcr.query.qom.Source)1 JoinType (org.apache.jackrabbit.commons.query.qom.JoinType)1