You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2016/04/29 18:21:50 UTC

svn commit: r1741654 - in /sling/trunk/testing/mocks/resourceresolver-mock/src: main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java

Author: sseifert
Date: Fri Apr 29 16:21:49 2016
New Revision: 1741654

URL: http://svn.apache.org/viewvc?rev=1741654&view=rev
Log:
SLING-5673 MockResourceResolver.resolve(...) might return null

Modified:
    sling/trunk/testing/mocks/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
    sling/trunk/testing/mocks/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java

Modified: sling/trunk/testing/mocks/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java?rev=1741654&r1=1741653&r2=1741654&view=diff
==============================================================================
--- sling/trunk/testing/mocks/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java (original)
+++ sling/trunk/testing/mocks/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java Fri Apr 29 16:21:49 2016
@@ -36,6 +36,7 @@ import javax.servlet.http.HttpServletReq
 import org.apache.sling.api.SlingConstants;
 import org.apache.sling.api.adapter.SlingAdaptable;
 import org.apache.sling.api.resource.LoginException;
+import org.apache.sling.api.resource.NonExistingResource;
 import org.apache.sling.api.resource.PersistenceException;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
@@ -96,7 +97,11 @@ public class MockResourceResolver extend
         // build full path again
         path = path + (urlRemainder != null ? urlRemainder : "");
 
-        return this.getResource(path);
+        Resource resource = this.getResource(path);
+        if (resource == null) {
+            resource = new NonExistingResource(this, absPath);
+        }
+        return resource;
     }
 
     @Override

Modified: sling/trunk/testing/mocks/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java?rev=1741654&r1=1741653&r2=1741654&view=diff
==============================================================================
--- sling/trunk/testing/mocks/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java (original)
+++ sling/trunk/testing/mocks/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java Fri Apr 29 16:21:49 2016
@@ -36,6 +36,7 @@ import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.util.ISO8601;
 import org.apache.sling.api.resource.LoginException;
 import org.apache.sling.api.resource.ModifiableValueMap;
+import org.apache.sling.api.resource.NonExistingResource;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ResourceUtil;
@@ -247,4 +248,18 @@ public class SlingCrudResourceResolverTe
         assertEquals("/", rootResource.getPath());
     }
 
+    @Test
+    public void testResolveExistingResource() {
+        Resource resource = resourceResolver.resolve(testRoot.getPath() + "/node1");
+        assertNotNull(resource);
+        assertEquals(testRoot.getPath() + "/node1", resource.getPath());
+    }
+    
+    @Test
+    public void testResolveNonexistingResource() {
+        Resource resource = resourceResolver.resolve("/non/existing/path");
+        assertTrue(resource instanceof NonExistingResource);
+        assertEquals("/non/existing/path", resource.getPath());
+    }
+    
 }