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

radu pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-servlets-resolver.git


The following commit(s) were added to refs/heads/master by this push:
     new a04c610  SLING-9579 - The 
org.apache.sling.servlets.resolver.internal.resource.MergingServletResourceProvider
 should not return NonExistingResources
a04c610 is described below

commit a04c6109ec81d35219f3fc4cb268d86c52f14399
Author: Radu Cotescu <[email protected]>
AuthorDate: Fri Jul 10 12:55:51 2020 +0200

    SLING-9579 - The 
org.apache.sling.servlets.resolver.internal.resource.MergingServletResourceProvider
 should not return NonExistingResources
---
 .../internal/resource/MergingServletResourceProvider.java         | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/servlets/resolver/internal/resource/MergingServletResourceProvider.java
 
b/src/main/java/org/apache/sling/servlets/resolver/internal/resource/MergingServletResourceProvider.java
index 05ebd46..d1d23c1 100644
--- 
a/src/main/java/org/apache/sling/servlets/resolver/internal/resource/MergingServletResourceProvider.java
+++ 
b/src/main/java/org/apache/sling/servlets/resolver/internal/resource/MergingServletResourceProvider.java
@@ -31,6 +31,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicReference;
 
 import org.apache.commons.lang3.tuple.Pair;
+import org.apache.sling.api.resource.NonExistingResource;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.SyntheticResource;
 import org.apache.sling.spi.resource.provider.ResolveContext;
@@ -153,14 +154,15 @@ public class MergingServletResourceProvider {
             }
         }
         else {
-            if (wrapped != null) {
+            if (wrapped != null && !(wrapped instanceof NonExistingResource)) {
                 result = wrapped;
-            }
-            else {
+            } else {
                 result = null;
             }
             if (result == null && tree.get().containsKey(path)) {
                 result = new 
SyntheticResource(resolveContext.getResourceResolver(), path, 
ResourceProvider.RESOURCE_TYPE_SYNTHETIC);
+            } else {
+                return wrapped;
             }
         }
 

Reply via email to