You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by md...@apache.org on 2012/03/12 18:40:01 UTC
svn commit: r1299753 - in
/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query:
RangeIteratorImpl.java qom/QueryObjectModelImpl.java
qom/tree/ComparisonImpl.java qom/tree/EquiJoinConditionImpl.java
Author: mduerig
Date: Mon Mar 12 17:40:00 2012
New Revision: 1299753
URL: http://svn.apache.org/viewvc?rev=1299753&view=rev
Log:
Microkernel based prototype of JCR implementation (WIP)
- don't call overrideable method from constructor
- use for each loop
- simplify if statements
Modified:
jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/RangeIteratorImpl.java
jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/QueryObjectModelImpl.java
jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/ComparisonImpl.java
jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/EquiJoinConditionImpl.java
Modified: jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/RangeIteratorImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/RangeIteratorImpl.java?rev=1299753&r1=1299752&r2=1299753&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/RangeIteratorImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/RangeIteratorImpl.java Mon Mar 12 17:40:00 2012
@@ -16,10 +16,10 @@
*/
package org.apache.jackrabbit.query;
-import java.util.Iterator;
-import java.util.NoSuchElementException;
import javax.jcr.RangeIterator;
import javax.jcr.RepositoryException;
+import java.util.Iterator;
+import java.util.NoSuchElementException;
/**
* The implementation of the corresponding JCR interface.
@@ -43,7 +43,7 @@ public abstract class RangeIteratorImpl<
return false;
}
- void fetchNext() {
+ final void fetchNext() {
try {
while (true) {
if (!iterator.hasNext()) {
Modified: jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/QueryObjectModelImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/QueryObjectModelImpl.java?rev=1299753&r1=1299752&r2=1299753&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/QueryObjectModelImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/QueryObjectModelImpl.java Mon Mar 12 17:40:00 2012
@@ -13,18 +13,6 @@
*/
package org.apache.jackrabbit.query.qom;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import javax.jcr.Node;
-import javax.jcr.RepositoryException;
-import javax.jcr.Value;
-import javax.jcr.ValueFactory;
-import javax.jcr.query.QueryResult;
-import javax.jcr.query.Row;
-import javax.jcr.query.qom.QueryObjectModel;
import org.apache.jackrabbit.commons.SimpleValueFactory;
import org.apache.jackrabbit.mk.api.MicroKernel;
import org.apache.jackrabbit.query.RowImpl;
@@ -52,6 +40,19 @@ import org.apache.jackrabbit.query.qom.t
import org.apache.jackrabbit.query.qom.tree.SourceImpl;
import org.apache.jackrabbit.query.qom.tree.UpperCaseImpl;
+import javax.jcr.Node;
+import javax.jcr.RepositoryException;
+import javax.jcr.Value;
+import javax.jcr.ValueFactory;
+import javax.jcr.query.QueryResult;
+import javax.jcr.query.Row;
+import javax.jcr.query.qom.QueryObjectModel;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+
/**
* The implementation of the corresponding JCR interface. Lifecycle: use the
* constructor to create a new object. Call init() to initialize the bind
@@ -214,8 +215,8 @@ public class QueryObjectModelImpl implem
}.visit(this);
source.init(this);
- for (int i = 0; i < columns.length; i++) {
- columns[i].bindSelector(source);
+ for (ColumnImpl column : columns) {
+ column.bindSelector(source);
}
}
Modified: jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/ComparisonImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/ComparisonImpl.java?rev=1299753&r1=1299752&r2=1299753&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/ComparisonImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/ComparisonImpl.java Mon Mar 12 17:40:00 2012
@@ -119,10 +119,7 @@ public class ComparisonImpl extends Cons
}
boolean matches(String value) {
- if (invalidPattern) {
- return false;
- }
- return compareAt(value, 0, 0, value.length(), patternChars, patternTypes);
+ return !invalidPattern && compareAt(value, 0, 0, value.length(), patternChars, patternTypes);
}
private static boolean compare(char[] pattern, String s, int pi, int si) {
Modified: jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/EquiJoinConditionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/EquiJoinConditionImpl.java?rev=1299753&r1=1299752&r2=1299753&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/EquiJoinConditionImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/EquiJoinConditionImpl.java Mon Mar 12 17:40:00 2012
@@ -91,10 +91,7 @@ public class EquiJoinConditionImpl exten
}
// TODO data type mapping
Value v2 = selector2.currentProperty(property2Name);
- if (v2 == null) {
- return false;
- }
- return v1.equals(v2);
+ return v2 != null && v1.equals(v2);
}
}