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 2014/10/13 10:14:18 UTC

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

Author: sseifert
Date: Mon Oct 13 08:14:18 2014
New Revision: 1631310

URL: http://svn.apache.org/r1631310
Log:
SLING-4038 Normalize path in getResource(String) method

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

Modified: sling/trunk/testing/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java?rev=1631310&r1=1631309&r2=1631310&view=diff
==============================================================================
--- sling/trunk/testing/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java (original)
+++ sling/trunk/testing/resourceresolver-mock/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java Mon Oct 13 08:14:18 2014
@@ -143,25 +143,26 @@ public class MockResourceResolver extend
     }
     
     private Resource getResourceInternal(final String path) {
-        if ( path.startsWith("/") ) {
-            if ( this.deletedResources.contains(path) ) {
+        String normalizedPath = ResourceUtil.normalize(path);
+        if ( normalizedPath.startsWith("/") ) {
+            if ( this.deletedResources.contains(normalizedPath) ) {
                 return null;
             }
-            final Map<String, Object> tempProps = this.temporaryResources.get(path);
+            final Map<String, Object> tempProps = this.temporaryResources.get(normalizedPath);
             if ( tempProps != null ) {
-                final Resource rsrc = new MockResource(path, tempProps, this);
+                final Resource rsrc = new MockResource(normalizedPath, tempProps, this);
                 return rsrc;
             }
             synchronized ( this.resources ) {
-                final Map<String, Object> props = this.resources.get(path);
+                final Map<String, Object> props = this.resources.get(normalizedPath);
                 if ( props != null ) {
-                    final Resource rsrc = new MockResource(path, props, this);
+                    final Resource rsrc = new MockResource(normalizedPath, props, this);
                     return rsrc;
                 }
             }
         } else {
             for(final String s : this.getSearchPath() ) {
-                final Resource rsrc = this.getResource(s + '/' + path);
+                final Resource rsrc = this.getResource(s + '/' + normalizedPath);
                 if ( rsrc != null ) {
                     return rsrc;
                 }

Modified: sling/trunk/testing/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/testing/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java?rev=1631310&r1=1631309&r2=1631310&view=diff
==============================================================================
--- sling/trunk/testing/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java (original)
+++ sling/trunk/testing/resourceresolver-mock/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java Mon Oct 13 08:14:18 2014
@@ -168,4 +168,13 @@ public class SlingCrudResourceResolverTe
         assertEquals(NT_UNSTRUCTURED, resource1.getResourceType());
     }
 
+    @Test
+    public void testNormalizePath() throws PersistenceException {
+        Resource resource1 = resourceResolver.getResource(testRoot.getPath() + "/./node1");
+        assertEquals("node1", resource1.getName());
+
+        Resource resource11 = resourceResolver.getResource(testRoot.getPath() + "/node1/../node1/node11");
+        assertEquals("node11", resource11.getName());
+    }
+
 }