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());