Author: cziegeler
Date: Tue Feb  9 11:02:34 2016
New Revision: 1729360

URL: http://svn.apache.org/viewvc?rev=1729360&view=rev
Log:
SLING-5499 : Servlets resource provider is hiding resources from other providers

Modified:
    
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResourceProvider.java

Modified: 
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResourceProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResourceProvider.java?rev=1729360&r1=1729359&r2=1729360&view=diff
==============================================================================
--- 
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResourceProvider.java
 (original)
+++ 
sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResourceProvider.java
 Tue Feb  9 11:02:34 2016
@@ -20,7 +20,6 @@ package org.apache.sling.servlets.resolv
 
 import java.util.Arrays;
 import java.util.Iterator;
-import java.util.NoSuchElementException;
 import java.util.Set;
 
 import javax.servlet.Servlet;
@@ -32,24 +31,6 @@ import org.apache.sling.spi.resource.pro
 
 public class ServletResourceProvider extends ResourceProvider<Object> {
 
-    private static final Iterator<Resource> EMPTY_ITERATOR = new 
Iterator<Resource>() {
-
-        @Override
-        public boolean hasNext() {
-            return false;
-        }
-
-        @Override
-        public Resource next() {
-            throw new NoSuchElementException();
-        }
-
-        @Override
-        public void remove() {
-            throw new UnsupportedOperationException();
-        }
-    };
-
     private Servlet servlet;
 
     private Set<String> resourcePaths;
@@ -69,11 +50,19 @@ public class ServletResourceProvider ext
             return new ServletResource(ctx.getResourceResolver(), servlet, 
path);
         }
 
+        final ResourceProvider parentProvider = 
ctx.getParentResourceProvider();
+        if ( parentProvider != null ) {
+            return parentProvider.getResource(ctx.getParentResolveContext(), 
path, resourceContext, parent);
+        }
         return null;
     }
 
     @Override
     public Iterator<Resource> listChildren(ResolveContext<Object> ctx, 
Resource parent) {
+        final ResourceProvider parentProvider = 
ctx.getParentResourceProvider();
+        if ( parentProvider != null ) {
+            return parentProvider.listChildren(ctx.getParentResolveContext(), 
parent);
+        }
         return null;
     }
 


Reply via email to