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

rombert pushed a commit to annotated tag 
org.apache.sling.testing.resourceresolver-mock-1.1.10
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-resourceresolver-mock.git

commit f7b6d803bfb9cb4a706fa5dcd2a218b8c2b42403
Author: Stefan Seifert <[email protected]>
AuthorDate: Thu May 21 07:23:22 2015 +0000

    SLING-4626 NullPointerExceptions in MockResourceResolver (patch provided by 
Joel Richard)
    
    git-svn-id: 
https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/resourceresolver-mock@1680749
 13f79535-47bb-0310-9956-ffa450edef68
---
 .../testing/resourceresolver/MockResourceResolver.java | 18 +++++++++++-------
 .../sling/testing/resourceresolver/MockValueMap.java   |  6 ++++--
 .../testing/resourceresolver/RootResourceTypeTest.java |  9 ++++++++-
 3 files changed, 23 insertions(+), 10 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
 
b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
index 86a4a3f..338eef4 100644
--- 
a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
+++ 
b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
@@ -135,13 +135,15 @@ public class MockResourceResolver extends SlingAdaptable 
implements ResourceReso
         
         // if not resource found check if this is a reference to a property
         if (resource == null && path != null) {
-            String name = ResourceUtil.getName(path);
             String parentPath = ResourceUtil.getParent(path);
-            Resource parentResource = getResourceInternal(parentPath);
-            if (parentResource!=null) {
-                ValueMap props = ResourceUtil.getValueMap(parentResource);
-                if (props.containsKey(name)) {
-                    return new MockPropertyResource(path, props, this);
+            if (parentPath != null) {
+                String name = ResourceUtil.getName(path);
+                Resource parentResource = getResourceInternal(parentPath);
+                if (parentResource!=null) {
+                    ValueMap props = ResourceUtil.getValueMap(parentResource);
+                    if (props.containsKey(name)) {
+                        return new MockPropertyResource(path, props, this);
+                    }
                 }
             }
         }
@@ -155,7 +157,9 @@ public class MockResourceResolver extends SlingAdaptable 
implements ResourceReso
         }
         
         String normalizedPath = ResourceUtil.normalize(path);
-        if ( normalizedPath.startsWith("/") ) {
+        if (normalizedPath == null) {
+            return null;
+        } else if ( normalizedPath.startsWith("/") ) {
             if ( this.deletedResources.contains(normalizedPath) ) {
                 return null;
             }
diff --git 
a/src/main/java/org/apache/sling/testing/resourceresolver/MockValueMap.java 
b/src/main/java/org/apache/sling/testing/resourceresolver/MockValueMap.java
index b18b9ea..a17fa7f 100644
--- a/src/main/java/org/apache/sling/testing/resourceresolver/MockValueMap.java
+++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockValueMap.java
@@ -132,8 +132,10 @@ public class MockValueMap extends ValueMapDecorator {
     
     private static Map<String, Object> convertForWriteAll(Map<String, Object> 
map) {
         Map<String,Object> newMap = new HashMap<String, Object>();
-        for (Map.Entry<String, Object> entry : map.entrySet()) {
-            newMap.put(entry.getKey(), convertForWrite(entry.getValue()));
+        if (map != null) {
+            for (Map.Entry<String, Object> entry : map.entrySet()) {
+                newMap.put(entry.getKey(), convertForWrite(entry.getValue()));
+            }
         }
         return newMap;
     }
diff --git 
a/src/test/java/org/apache/sling/testing/resourceresolver/RootResourceTypeTest.java
 
b/src/test/java/org/apache/sling/testing/resourceresolver/RootResourceTypeTest.java
index 9cda4c4..7264f63 100644
--- 
a/src/test/java/org/apache/sling/testing/resourceresolver/RootResourceTypeTest.java
+++ 
b/src/test/java/org/apache/sling/testing/resourceresolver/RootResourceTypeTest.java
@@ -38,11 +38,18 @@ public class RootResourceTypeTest {
         resourceResolver = new 
MockResourceResolverFactory().getResourceResolver(null);       
     }
 
-    
+
     @Test
     public void testIsResourceResolver() {
         Resource root= resourceResolver.getResource("/");
         Assert.assertTrue(root.isResourceType("rep:root"));
     }
 
+    @Test
+    public void testGetRootParent() {
+        Resource rootParent = resourceResolver.getResource("/..");
+        Assert.assertNull(rootParent);
+    }
+
+
 }

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to