This is an automated email from the ASF dual-hosted git repository.

cziegeler pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-bundleresource-impl.git


The following commit(s) were added to refs/heads/master by this push:
     new 6352e4b  SLING-7838 : Bundle resource overrides listChildren
6352e4b is described below

commit 6352e4b4c9c7256084f495341b3c964a5060d704
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Tue Aug 21 16:31:19 2018 +0200

    SLING-7838 : Bundle resource overrides listChildren
---
 .../sling/bundleresource/impl/BundleResource.java  |  6 ----
 .../impl/BundleResourceProvider.java               |  4 +--
 .../impl/BundleResourceProviderTest.java           | 33 ++--------------------
 3 files changed, 4 insertions(+), 39 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/bundleresource/impl/BundleResource.java 
b/src/main/java/org/apache/sling/bundleresource/impl/BundleResource.java
index 4286c1e..8b0f70a 100644
--- a/src/main/java/org/apache/sling/bundleresource/impl/BundleResource.java
+++ b/src/main/java/org/apache/sling/bundleresource/impl/BundleResource.java
@@ -26,7 +26,6 @@ import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -298,11 +297,6 @@ public class BundleResource extends AbstractResource {
         return resourceUrl;
     }
 
-    @Override
-    public Iterator<Resource> listChildren() {
-        return new BundleResourceIterator(this);
-    }
-
     BundleResourceCache getBundle() {
         return cache;
     }
diff --git 
a/src/main/java/org/apache/sling/bundleresource/impl/BundleResourceProvider.java
 
b/src/main/java/org/apache/sling/bundleresource/impl/BundleResourceProvider.java
index ef504a6..6e1b87a 100644
--- 
a/src/main/java/org/apache/sling/bundleresource/impl/BundleResourceProvider.java
+++ 
b/src/main/java/org/apache/sling/bundleresource/impl/BundleResourceProvider.java
@@ -157,8 +157,8 @@ public class BundleResourceProvider extends 
ResourceProvider<Object> {
     public Iterator<Resource> listChildren(final ResolveContext<Object> ctx, 
final Resource parent) {
        if (parent instanceof BundleResource && 
((BundleResource)parent).getBundle() == this.cache) {
             // bundle resources can handle this request directly when the 
parent
-                   // resource is in the same bundle as this provider.
-            return ((BundleResource) parent).listChildren();
+               // resource is in the same bundle as this provider.
+            return new BundleResourceIterator((BundleResource) parent);
        }
 
         // ensure this provider may have children of the parent
diff --git 
a/src/test/java/org/apache/sling/bundleresource/impl/BundleResourceProviderTest.java
 
b/src/test/java/org/apache/sling/bundleresource/impl/BundleResourceProviderTest.java
index fda8f59..aa51f21 100644
--- 
a/src/test/java/org/apache/sling/bundleresource/impl/BundleResourceProviderTest.java
+++ 
b/src/test/java/org/apache/sling/bundleresource/impl/BundleResourceProviderTest.java
@@ -202,13 +202,7 @@ public class BundleResourceProviderTest {
         Resource rsrc = provider.getResource(mock(ResolveContext.class), 
"/libs/foo", mock(ResourceContext.class), null);
         assertNotNull(rsrc);
 
-        List<String> rsrcChildren = getChildren(rsrc.listChildren());
-        assertEquals(3, rsrcChildren.size());
-        assertTrue(rsrcChildren.contains("/libs/foo/a"));
-        assertTrue(rsrcChildren.contains("/libs/foo/b"));
-        assertTrue(rsrcChildren.contains("/libs/foo/test"));
-
-        rsrcChildren = 
getChildren(provider.listChildren(mock(ResolveContext.class), rsrc));
+        List<String> rsrcChildren = 
getChildren(provider.listChildren(mock(ResolveContext.class), rsrc));
         assertEquals(3, rsrcChildren.size());
         assertTrue(rsrcChildren.contains("/libs/foo/a"));
         assertTrue(rsrcChildren.contains("/libs/foo/b"));
@@ -217,12 +211,6 @@ public class BundleResourceProviderTest {
         rsrc = provider.getResource(mock(ResolveContext.class), 
"/libs/foo/test", mock(ResourceContext.class), null);
         assertNotNull(rsrc);
 
-        rsrcChildren = getChildren(rsrc.listChildren());
-        assertEquals(3, rsrcChildren.size());
-        assertTrue(rsrcChildren.contains("/libs/foo/test/x"));
-        assertTrue(rsrcChildren.contains("/libs/foo/test/y"));
-        assertTrue(rsrcChildren.contains("/libs/foo/test/z"));
-
         rsrcChildren = 
getChildren(provider.listChildren(mock(ResolveContext.class), rsrc));
         assertEquals(3, rsrcChildren.size());
         assertTrue(rsrcChildren.contains("/libs/foo/test/x"));
@@ -307,14 +295,7 @@ public class BundleResourceProviderTest {
         Resource rsrc = provider.getResource(mock(ResolveContext.class), 
"/libs/foo", mock(ResourceContext.class), null);
         assertNotNull(rsrc);
 
-        List<String> rsrcChildren = getChildren(rsrc.listChildren());
-        assertEquals(4, rsrcChildren.size());
-        assertTrue(rsrcChildren.contains("/libs/foo/a"));
-        assertTrue(rsrcChildren.contains("/libs/foo/b"));
-        assertTrue(rsrcChildren.contains("/libs/foo/d"));
-        assertTrue(rsrcChildren.contains("/libs/foo/test"));
-
-        rsrcChildren = 
getChildren(provider.listChildren(mock(ResolveContext.class), rsrc));
+        List<String> rsrcChildren = 
getChildren(provider.listChildren(mock(ResolveContext.class), rsrc));
         assertEquals(4, rsrcChildren.size());
         assertTrue(rsrcChildren.contains("/libs/foo/a"));
         assertTrue(rsrcChildren.contains("/libs/foo/b"));
@@ -324,12 +305,6 @@ public class BundleResourceProviderTest {
         rsrc = provider.getResource(mock(ResolveContext.class), 
"/libs/foo/test", mock(ResourceContext.class), null);
         assertNotNull(rsrc);
 
-        rsrcChildren = getChildren(rsrc.listChildren());
-        assertEquals(3, rsrcChildren.size());
-        assertTrue(rsrcChildren.contains("/libs/foo/test/x"));
-        assertTrue(rsrcChildren.contains("/libs/foo/test/y"));
-        assertTrue(rsrcChildren.contains("/libs/foo/test/z"));
-
         rsrcChildren = 
getChildren(provider.listChildren(mock(ResolveContext.class), rsrc));
         assertEquals(3, rsrcChildren.size());
         assertTrue(rsrcChildren.contains("/libs/foo/test/x"));
@@ -339,10 +314,6 @@ public class BundleResourceProviderTest {
         // check children of d
         rsrc = provider.getResource(mock(ResolveContext.class), "/libs/foo/d", 
mock(ResourceContext.class), null);
         assertNotNull(rsrc);
-        rsrcChildren = getChildren(rsrc.listChildren());
-        assertEquals(2, rsrcChildren.size());
-        assertTrue(rsrcChildren.contains("/libs/foo/d/g"));
-        assertTrue(rsrcChildren.contains("/libs/foo/d/h"));
 
         rsrcChildren = 
getChildren(provider.listChildren(mock(ResolveContext.class), rsrc));
         assertEquals(2, rsrcChildren.size());

Reply via email to