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:32:28 UTC
svn commit: r770713 - in
/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene:
JoinQuery.java LuceneQueryFactoryImpl.java join/Join.java
Author: jukka
Date: Fri May 1 15:32:27 2009
New Revision: 770713
URL: http://svn.apache.org/viewvc?rev=770713&view=rev
Log:
JCR-2095: Use an enumeration for QOM join types
Use the new JoinType enumeration in -core
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/JoinQuery.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryFactoryImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/join/Join.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/JoinQuery.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/JoinQuery.java?rev=770713&r1=770712&r2=770713&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/JoinQuery.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/JoinQuery.java Fri May 1 15:32:27 2009
@@ -24,6 +24,7 @@
import org.apache.jackrabbit.core.query.lucene.join.Join;
import org.apache.jackrabbit.core.HierarchyManager;
import org.apache.jackrabbit.spi.commons.query.qom.JoinConditionImpl;
+import org.apache.jackrabbit.spi.commons.query.qom.JoinType;
/**
* <code>JoinQuery</code> implements a query that performs a join.
@@ -43,7 +44,7 @@
/**
* The join type.
*/
- private final String joinType;
+ private final JoinType joinType;
/**
* The QOM join condition.
@@ -72,7 +73,7 @@
*/
public JoinQuery(MultiColumnQuery left,
MultiColumnQuery right,
- String joinType,
+ JoinType joinType,
JoinConditionImpl joinCondition,
SortComparatorSource scs,
HierarchyManager hmgr) {
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryFactoryImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryFactoryImpl.java?rev=770713&r1=770712&r2=770713&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryFactoryImpl.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/LuceneQueryFactoryImpl.java Fri May 1 15:32:27 2009
@@ -250,7 +250,7 @@
public MultiColumnQuery create(JoinImpl join) throws RepositoryException {
MultiColumnQuery left = create((SourceImpl) join.getLeft());
MultiColumnQuery right = create((SourceImpl) join.getRight());
- return new JoinQuery(left, right, join.getJoinType(),
+ return new JoinQuery(left, right, join.getJoinTypeInstance(),
(JoinConditionImpl) join.getJoinCondition(), scs, hmgr);
}
}
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=770713&r1=770712&r2=770713&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:32:27 2009
@@ -33,6 +33,7 @@
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.JoinType;
import org.apache.jackrabbit.spi.commons.query.qom.SameNodeJoinConditionImpl;
import org.apache.lucene.search.SortComparatorSource;
import org.apache.lucene.index.IndexReader;
@@ -120,7 +121,7 @@
*/
public static Join create(final MultiColumnQueryHits left,
final MultiColumnQueryHits right,
- final String joinType,
+ final JoinType joinType,
final JoinConditionImpl condition,
final IndexReader reader,
final HierarchyResolver resolver,
@@ -130,8 +131,7 @@
try {
return (Join) condition.accept(new DefaultQOMTreeVisitor() {
- private boolean isInner =
- JCR_JOIN_TYPE_INNER.equals(joinType);
+ private boolean isInner = JoinType.INNER == joinType;
private MultiColumnQueryHits outer;
private int outerIdx;
@@ -140,10 +140,9 @@
MultiColumnQueryHits ancestor = getSourceWithName(node.getAncestorSelectorQName(), left, right);
MultiColumnQueryHits descendant = getSourceWithName(node.getDescendantSelectorQName(), left, right);
Condition c;
- if (isInner || descendant == left
- && JCR_JOIN_TYPE_LEFT_OUTER.equals(joinType)
- || descendant == right
- && JCR_JOIN_TYPE_RIGHT_OUTER.equals(joinType)) {
+ if (isInner
+ || descendant == left && JoinType.LEFT == joinType
+ || descendant == right && JoinType.RIGHT == joinType) {
// also applies to inner join
// assumption: DescendantNodeJoin is more
// efficient than AncestorNodeJoin, TODO: verify