You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2015/04/08 16:54:30 UTC
svn commit: r1672098 - in /sling/trunk/bundles/jcr/resource/src:
main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceIterator.java
test/java/org/apache/sling/jcr/resource/internal/helper/JcrNodeResourceIteratorTest.java
Author: cziegeler
Date: Wed Apr 8 14:54:30 2015
New Revision: 1672098
URL: http://svn.apache.org/r1672098
Log:
SLING-4588 : JcrNodeResourceIterator : wrong paths generated when the parent resource is the root node.
Modified:
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceIterator.java
sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/JcrNodeResourceIteratorTest.java
Modified: sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceIterator.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceIterator.java?rev=1672098&r1=1672097&r2=1672098&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceIterator.java (original)
+++ sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/jcr/JcrNodeResourceIterator.java Wed Apr 8 14:54:30 2015
@@ -130,12 +130,12 @@ public class JcrNodeResourceIterator imp
return null;
}
- private String getPath(Node node) throws RepositoryException {
+ private String getPath(final Node node) throws RepositoryException {
final String path;
if (parentPath == null) {
path = node.getPath();
} else {
- path = String.format("%s/%s", parentPath, node.getName());
+ path = String.format("%s/%s", "/".equals(parentPath) ? "" : parentPath, node.getName());
}
return helper.pathMapper.mapJCRPathToResourcePath(path);
}
Modified: sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/JcrNodeResourceIteratorTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/JcrNodeResourceIteratorTest.java?rev=1672098&r1=1672097&r2=1672098&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/JcrNodeResourceIteratorTest.java (original)
+++ sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/helper/JcrNodeResourceIteratorTest.java Wed Apr 8 14:54:30 2015
@@ -101,4 +101,24 @@ public class JcrNodeResourceIteratorTest
}
}
+ public void testRoot() throws RepositoryException {
+ String path = "/child";
+ Node node = new MockNode(path);
+ NodeIterator ni = new MockNodeIterator(new Node[] { node });
+ JcrNodeResourceIterator ri = new JcrNodeResourceIterator(null, "/", null, ni, getHelperData());
+
+ assertTrue(ri.hasNext());
+ Resource res = ri.next();
+ assertEquals(path, res.getPath());
+ assertEquals(node.getPrimaryNodeType().getName(), res.getResourceType());
+
+ assertFalse(ri.hasNext());
+
+ try {
+ ri.next();
+ fail("Expected no element in the iterator");
+ } catch (NoSuchElementException nsee) {
+ // expected
+ }
+ }
}