Merge pull request #12 from ashokpanghal/issues/SLING-8335
SLING-8335 :StringIndexOutOfBoundsException from resolver.map with no…
diff --git a/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java b/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
index 21ca9c9..f7d3554 100644
--- a/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
+++ b/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
@@ -689,6 +689,10 @@
*/
public Resource resolveInternal(final String absPath, final Map<String, String> parameters) {
Resource resource = null;
+ if (absPath != null && !absPath.startsWith("/")) {
+ logger.debug("resolveInternal: absolute path expected {} ",absPath);
+ return resource; // resource is null at this point
+ }
String curPath = absPath;
try {
final ResourcePathIterator it = new ResourcePathIterator(absPath);
diff --git a/src/test/java/org/apache/sling/resourceresolver/impl/MockedResourceResolverImplTest.java b/src/test/java/org/apache/sling/resourceresolver/impl/MockedResourceResolverImplTest.java
index be2dfd5..3124dbb 100644
--- a/src/test/java/org/apache/sling/resourceresolver/impl/MockedResourceResolverImplTest.java
+++ b/src/test/java/org/apache/sling/resourceresolver/impl/MockedResourceResolverImplTest.java
@@ -553,6 +553,8 @@
path = resourceResolver.map("/content.html");
Assert.assertEquals("/content.html", path);
+ path = resourceResolver.map(request,"some/relative/path/test");
+ Assert.assertEquals("some/relative/path/test", path);
}