You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2009/05/01 17:47:06 UTC
svn commit: r770726 - in /jackrabbit/trunk/jackrabbit-core/src:
main/java/org/apache/jackrabbit/core/query/lucene/join/
test/java/org/apache/jackrabbit/api/jsr283/query/qom/
test/java/org/apache/jackrabbit/core/query/
Author: jukka
Date: Fri May 1 15:47:06 2009
New Revision: 770726
URL: http://svn.apache.org/viewvc?rev=770726&view=rev
Log:
JCR-2095: Use an enumeration for QOM join types
More JoinType fixes
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/Join.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/query/qom/AbstractQOMTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/query/qom/SameNodeJoinConditionTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/UpperLowerCaseQueryTest.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/Join.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/Join.java?rev=770726&r1=770725&r2=770726&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/Join.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/Join.java Fri May 1 15:47:06 2009
@@ -17,31 +17,29 @@
package org.apache.jackrabbit.core.query.lucene.join;
import java.io.IOException;
-import java.util.List;
import java.util.Arrays;
import java.util.LinkedList;
+import java.util.List;
-import javax.jcr.query.qom.QueryObjectModelConstants;
-
+import org.apache.jackrabbit.core.HierarchyManager;
+import org.apache.jackrabbit.core.query.lucene.HierarchyResolver;
import org.apache.jackrabbit.core.query.lucene.MultiColumnQueryHits;
import org.apache.jackrabbit.core.query.lucene.ScoreNode;
-import org.apache.jackrabbit.core.query.lucene.HierarchyResolver;
-import org.apache.jackrabbit.core.HierarchyManager;
import org.apache.jackrabbit.spi.Name;
-import org.apache.jackrabbit.spi.commons.query.qom.JoinConditionImpl;
+import org.apache.jackrabbit.spi.commons.query.qom.ChildNodeJoinConditionImpl;
import org.apache.jackrabbit.spi.commons.query.qom.DefaultQOMTreeVisitor;
import org.apache.jackrabbit.spi.commons.query.qom.DescendantNodeJoinConditionImpl;
import org.apache.jackrabbit.spi.commons.query.qom.EquiJoinConditionImpl;
-import org.apache.jackrabbit.spi.commons.query.qom.ChildNodeJoinConditionImpl;
+import org.apache.jackrabbit.spi.commons.query.qom.JoinConditionImpl;
import org.apache.jackrabbit.spi.commons.query.qom.JoinType;
import org.apache.jackrabbit.spi.commons.query.qom.SameNodeJoinConditionImpl;
-import org.apache.lucene.search.SortComparatorSource;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.search.SortComparatorSource;
/**
* <code>Join</code> implements the result of a join.
*/
-public class Join implements MultiColumnQueryHits, QueryObjectModelConstants {
+public class Join implements MultiColumnQueryHits {
/**
* The outer query hits.
@@ -166,10 +164,9 @@
Name innerName;
Name innerPropName;
Name outerPropName;
- if (isInner || src1 == left
- && JCR_JOIN_TYPE_LEFT_OUTER.equals(joinType)
- || src1 == right
- && JCR_JOIN_TYPE_RIGHT_OUTER.equals(joinType)) {
+ if (isInner
+ || src1 == left && JoinType.LEFT == joinType
+ || src1 == right && JoinType.RIGHT == joinType) {
outer = src1;
outerIdx = getIndex(outer, node.getSelector1QName());
inner = src2;
@@ -195,10 +192,8 @@
MultiColumnQueryHits child = getSourceWithName(node.getChildSelectorQName(), left, right);
MultiColumnQueryHits parent = getSourceWithName(node.getParentSelectorQName(), left, right);
Condition c;
- if (child == left
- && JCR_JOIN_TYPE_LEFT_OUTER.equals(joinType)
- || child == right
- && JCR_JOIN_TYPE_RIGHT_OUTER.equals(joinType)) {
+ if (child == left && JoinType.LEFT == joinType
+ || child == right && JoinType.RIGHT == joinType) {
outer = child;
outerIdx = getIndex(outer, node.getChildSelectorQName());
c = new ChildNodeJoin(parent, reader, resolver, node);
@@ -218,10 +213,9 @@
MultiColumnQueryHits src1 = getSourceWithName(node.getSelector1QName(), left, right);
MultiColumnQueryHits src2 = getSourceWithName(node.getSelector2QName(), left, right);
Condition c;
- if (isInner || src1 == left
- && JCR_JOIN_TYPE_LEFT_OUTER.equals(joinType)
- || src1 == right
- && JCR_JOIN_TYPE_RIGHT_OUTER.equals(joinType)) {
+ if (isInner
+ || src1 == left && JoinType.LEFT == joinType
+ || src1 == right && JoinType.RIGHT == joinType) {
outer = src1;
outerIdx = getIndex(outer, node.getSelector1QName());
if (node.getSelector2QPath() != null) {
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/query/qom/AbstractQOMTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/query/qom/AbstractQOMTest.java?rev=770726&r1=770725&r2=770726&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/query/qom/AbstractQOMTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/query/qom/AbstractQOMTest.java Fri May 1 15:47:06 2009
@@ -27,7 +27,6 @@
import javax.jcr.query.QueryResult;
import javax.jcr.query.Row;
import javax.jcr.query.RowIterator;
-import javax.jcr.query.qom.QueryObjectModelConstants;
import javax.jcr.query.qom.QueryObjectModelFactory;
import org.apache.jackrabbit.core.query.QueryImpl;
@@ -37,9 +36,7 @@
/**
* <code>AbstractQOMTest</code> is a base class for test cases on the JQOM.
*/
-public class AbstractQOMTest
- extends AbstractQueryTest
- implements QueryObjectModelConstants {
+public class AbstractQOMTest extends AbstractQueryTest {
protected QueryObjectModelFactory qomFactory;
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/query/qom/SameNodeJoinConditionTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/query/qom/SameNodeJoinConditionTest.java?rev=770726&r1=770725&r2=770726&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/query/qom/SameNodeJoinConditionTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/query/qom/SameNodeJoinConditionTest.java Fri May 1 15:47:06 2009
@@ -56,12 +56,11 @@
public void testLeftOuterJoin() throws RepositoryException {
QueryObjectModel qom = qomFactory.createQuery(
- qomFactory.join(
- qomFactory.selector(testNodeType, LEFT),
- qomFactory.selector(mixReferenceable, RIGHT),
- JCR_JOIN_TYPE_LEFT_OUTER,
- qomFactory.sameNodeJoinCondition(LEFT, RIGHT, ".")
- ),
+ JoinType.LEFT.join(
+ qomFactory,
+ qomFactory.selector(testNodeType, LEFT),
+ qomFactory.selector(mixReferenceable, RIGHT),
+ qomFactory.sameNodeJoinCondition(LEFT, RIGHT, ".")),
qomFactory.descendantNode(LEFT, testRoot),
null, null);
@@ -77,12 +76,11 @@
public void testRightOuterJoin() throws RepositoryException {
QueryObjectModel qom = qomFactory.createQuery(
- qomFactory.join(
- qomFactory.selector(mixReferenceable, LEFT),
- qomFactory.selector(testNodeType, RIGHT),
- JCR_JOIN_TYPE_RIGHT_OUTER,
- qomFactory.sameNodeJoinCondition(LEFT, RIGHT, ".")
- ),
+ JoinType.RIGHT.join(
+ qomFactory,
+ qomFactory.selector(mixReferenceable, LEFT),
+ qomFactory.selector(testNodeType, RIGHT),
+ qomFactory.sameNodeJoinCondition(LEFT, RIGHT, ".")),
qomFactory.descendantNode(RIGHT, testRoot),
null, null);
@@ -92,12 +90,11 @@
public void testRightOuterJoinWithPath() throws RepositoryException {
QueryObjectModel qom = qomFactory.createQuery(
- qomFactory.join(
- qomFactory.selector(mixReferenceable, LEFT),
- qomFactory.selector(testNodeType, RIGHT),
- JCR_JOIN_TYPE_RIGHT_OUTER,
- qomFactory.sameNodeJoinCondition(LEFT, RIGHT, nodeName2)
- ),
+ JoinType.RIGHT.join(
+ qomFactory,
+ qomFactory.selector(mixReferenceable, LEFT),
+ qomFactory.selector(testNodeType, RIGHT),
+ qomFactory.sameNodeJoinCondition(LEFT, RIGHT, nodeName2)),
qomFactory.descendantNode(RIGHT, testRoot),
null, null);
Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/UpperLowerCaseQueryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/UpperLowerCaseQueryTest.java?rev=770726&r1=770725&r2=770726&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/UpperLowerCaseQueryTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/UpperLowerCaseQueryTest.java Fri May 1 15:47:06 2009
@@ -25,7 +25,6 @@
import javax.jcr.RepositoryException;
import javax.jcr.query.InvalidQueryException;
import javax.jcr.query.QueryResult;
-import javax.jcr.query.qom.QueryObjectModelConstants;
import org.apache.jackrabbit.spi.commons.query.qom.Operator;
@@ -34,7 +33,7 @@
* fn:upper-case() in XPath, LOWER() and UPPER() in SQL and UpperCase and
* LowerCase in JQOM.
*/
-public class UpperLowerCaseQueryTest extends AbstractQueryTest implements QueryObjectModelConstants {
+public class UpperLowerCaseQueryTest extends AbstractQueryTest {
public void testEqualsGeneralComparison() throws RepositoryException {
check(new String[]{"foo", "Foo", "fOO", "FOO", "fooBar", "fo", "fooo"},