You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2012/06/07 17:29:18 UTC

svn commit: r1347681 - in /jackrabbit/oak/trunk/oak-jcr/src: main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java

Author: mduerig
Date: Thu Jun  7 15:29:18 2012
New Revision: 1347681

URL: http://svn.apache.org/viewvc?rev=1347681&view=rev
Log:
OAK-135: Better support for RangeIterators

Modified:
    jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java
    jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java

Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java?rev=1347681&r1=1347680&r2=1347681&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeImpl.java Thu Jun  7 15:29:18 2012
@@ -16,8 +16,6 @@
  */
 package org.apache.jackrabbit.oak.jcr;
 
-import static org.apache.jackrabbit.oak.util.Iterators.filter;
-
 import java.io.InputStream;
 import java.math.BigDecimal;
 import java.util.ArrayList;
@@ -70,6 +68,8 @@ import org.apache.jackrabbit.value.Value
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static org.apache.jackrabbit.oak.util.Iterators.filter;
+
 /**
  * {@code NodeImpl}...
  */
@@ -441,7 +441,8 @@ public class NodeImpl extends ItemImpl i
         checkStatus();
 
         Iterator<NodeDelegate> children = dlg.getChildren();
-        return new NodeIteratorAdapter(nodeIterator(children));
+        long size = dlg.getChildCount();
+        return new NodeIteratorAdapter(nodeIterator(children), size);
     }
 
     @Override
@@ -505,7 +506,8 @@ public class NodeImpl extends ItemImpl i
         checkStatus();
 
         Iterator<PropertyDelegate> properties = dlg.getProperties();
-        return new PropertyIteratorAdapter(propertyIterator(properties));
+        long size = dlg.getPropertyCount();
+        return new PropertyIteratorAdapter(propertyIterator(properties), size);
     }
 
     @Override

Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java?rev=1347681&r1=1347680&r2=1347681&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/RepositoryTest.java Thu Jun  7 15:29:18 2012
@@ -18,12 +18,21 @@
  */
 package org.apache.jackrabbit.oak.jcr;
 
-import org.apache.jackrabbit.JcrConstants;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import util.NumberStream;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Executors;
+import java.util.concurrent.FutureTask;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
 
 import javax.jcr.Binary;
 import javax.jcr.GuestCredentials;
@@ -49,21 +58,13 @@ import javax.jcr.observation.Event;
 import javax.jcr.observation.EventIterator;
 import javax.jcr.observation.EventListener;
 import javax.jcr.observation.ObservationManager;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Executors;
-import java.util.concurrent.FutureTask;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
+
+import org.apache.jackrabbit.JcrConstants;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import util.NumberStream;
 
 import static java.util.Arrays.asList;
 import static org.apache.jackrabbit.oak.commons.ArrayUtils.contains;
@@ -221,6 +222,7 @@ public class RepositoryTest extends Abst
         root.getNode("bar").remove();  // transiently removed and...
         root.addNode("bar");           // ... added again
         NodeIterator nodes = root.getNodes();
+        assertEquals(3, nodes.getSize());
         while (nodes.hasNext()) {
             assertTrue(nodeNames.remove(nodes.nextNode().getName()));
         }
@@ -250,6 +252,7 @@ public class RepositoryTest extends Abst
         node.getProperty("intProp").remove();      // transiently removed...
         node.setProperty("intProp", 42);           // ...and added again
         PropertyIterator properties = node.getProperties();
+        assertEquals(4, properties.getSize());
         while (properties.hasNext()) {
             Property p = properties.nextProperty();
             if (JcrConstants.JCR_PRIMARYTYPE.equals(p.getName())) {