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 2015/05/21 09:23:22 UTC
svn commit: r1680749 - in
/sling/trunk/testing/mocks/resourceresolver-mock/src:
main/java/org/apache/sling/testing/resourceresolver/
test/java/org/apache/sling/testing/resourceresolver/
Author: sseifert
Date: Thu May 21 07:23:22 2015
New Revision: 1680749
URL: http://svn.apache.org/r1680749
Log:
SLING-4626 NullPointerExceptions in MockResourceResolver (patch provided by Joel Richard)
Modified:
sling/trunk/testing/mocks/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
sling/trunk/testing/mocks/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockValueMap.java
sling/trunk/testing/mocks/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/RootResourceTypeTest.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=1680749&r1=1680748&r2=1680749&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 Thu May 21 07:23:22 2015
@@ -135,13 +135,15 @@ public class MockResourceResolver extend
// 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 extend
}
String normalizedPath = ResourceUtil.normalize(path);
- if ( normalizedPath.startsWith("/") ) {
+ if (normalizedPath == null) {
+ return null;
+ } else if ( normalizedPath.startsWith("/") ) {
if ( this.deletedResources.contains(normalizedPath) ) {
return null;
}
Modified: sling/trunk/testing/mocks/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockValueMap.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockValueMap.java?rev=1680749&r1=1680748&r2=1680749&view=diff
==============================================================================
--- sling/trunk/testing/mocks/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockValueMap.java (original)
+++ sling/trunk/testing/mocks/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockValueMap.java Thu May 21 07:23:22 2015
@@ -132,8 +132,10 @@ public class MockValueMap extends ValueM
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;
}
Modified: sling/trunk/testing/mocks/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/RootResourceTypeTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/mocks/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/RootResourceTypeTest.java?rev=1680749&r1=1680748&r2=1680749&view=diff
==============================================================================
--- sling/trunk/testing/mocks/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/RootResourceTypeTest.java (original)
+++ sling/trunk/testing/mocks/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/RootResourceTypeTest.java Thu May 21 07:23:22 2015
@@ -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);
+ }
+
+
}