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:50:38 UTC
svn commit: r1299758 - in
/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query:
QueryEngine.java RangeIteratorImpl.java qom/tree/JoinImpl.java
Author: mduerig
Date: Mon Mar 12 17:50:38 2012
New Revision: 1299758
URL: http://svn.apache.org/viewvc?rev=1299758&view=rev
Log:
Microkernel based prototype of JCR implementation (WIP)
- make fields final where possible
Modified:
jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/QueryEngine.java
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/tree/JoinImpl.java
Modified: jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/QueryEngine.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/QueryEngine.java?rev=1299758&r1=1299757&r2=1299758&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/QueryEngine.java (original)
+++ jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/QueryEngine.java Mon Mar 12 17:50:38 2012
@@ -16,25 +16,25 @@
*/
package org.apache.jackrabbit.query;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
-import javax.jcr.RepositoryException;
-import javax.jcr.ValueFactory;
-import javax.jcr.query.Row;
import org.apache.jackrabbit.commons.SimpleValueFactory;
import org.apache.jackrabbit.mk.api.MicroKernel;
import org.apache.jackrabbit.query.qom.QueryObjectModelFactoryImpl;
import org.apache.jackrabbit.query.qom.QueryObjectModelImpl;
import org.apache.jackrabbit.query.reader.IndexReader;
-public class QueryEngine {
+import javax.jcr.RepositoryException;
+import javax.jcr.ValueFactory;
+import javax.jcr.query.Row;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+public class QueryEngine {
private final MicroKernel mk;
- private ValueFactory vf;
- private ParserSQL2 parserSQL2;
- private ArrayList<IndexReader> indexes = new ArrayList<IndexReader>();
+ private final ArrayList<IndexReader> indexes = new ArrayList<IndexReader>();
+ private final ValueFactory vf;
+ private final ParserSQL2 parserSQL2;
private QueryEngine(MicroKernel mk) {
this.mk = mk;
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=1299758&r1=1299757&r2=1299758&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:50:38 2012
@@ -27,10 +27,10 @@ import java.util.NoSuchElementException;
* @param <T> the type
*/
public abstract class RangeIteratorImpl<T> implements RangeIterator {
-
private final Iterator<T> iterator;
+ private final long size;
+
private T next;
- private long size;
private long pos;
protected RangeIteratorImpl(Iterator<T> iterator, long size) {
Modified: jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/JoinImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/JoinImpl.java?rev=1299758&r1=1299757&r2=1299758&view=diff
==============================================================================
--- jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/JoinImpl.java (original)
+++ jackrabbit/sandbox/jackrabbit-microkernel/src/main/java/org/apache/jackrabbit/query/qom/tree/JoinImpl.java Mon Mar 12 17:50:38 2012
@@ -13,20 +13,22 @@
*/
package org.apache.jackrabbit.query.qom.tree;
-import javax.jcr.query.qom.Join;
import org.apache.jackrabbit.mk.api.MicroKernel;
import org.apache.jackrabbit.mk.simple.NodeImpl;
import org.apache.jackrabbit.query.qom.QueryObjectModelImpl;
+import javax.jcr.query.qom.Join;
+
/**
* The implementation of the corresponding JCR interface.
*/
public class JoinImpl extends SourceImpl implements Join {
+ private final JoinConditionImpl joinCondition;
private JoinType joinType;
private SourceImpl left;
private SourceImpl right;
- private JoinConditionImpl joinCondition;
+
private boolean leftNeedExecute, rightNeedExecute;
private boolean leftNeedNext;
private boolean foundJoinedRow;