[maven-release-plugin] copy for tag org.apache.sling.scripting.sightly.js.provider-1.0.2
git-svn-id: https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.scripting.sightly.js.provider-1.0.2@1672386 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsEnvironment.java b/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsEnvironment.java
index d91b764..b2d096a 100644
--- a/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsEnvironment.java
+++ b/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsEnvironment.java
@@ -32,6 +32,7 @@
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceUtil;
import org.apache.sling.api.scripting.SlingBindings;
import org.apache.sling.api.scripting.SlingScriptHelper;
@@ -185,21 +186,18 @@
private boolean isResourceOverlay(Resource resourceA, Resource resourceB) {
String resourceBSuperType = resourceB.getResourceSuperType();
if (StringUtils.isNotEmpty(resourceBSuperType)) {
+ ResourceResolver resolver = resourceA.getResourceResolver();
String parentResourceType = resourceA.getResourceType();
if ("nt:file".equals(parentResourceType)) {
parentResourceType = ResourceUtil.getParent(resourceA.getPath());
}
- if (resourceBSuperType.equals(parentResourceType)) {
- return true;
- }
- Resource parentB = resourceB.getResourceResolver().getResource(resourceBSuperType);
- resourceBSuperType = parentB.getResourceSuperType();
- while (!"/".equals(parentB.getPath()) && StringUtils.isNotEmpty(resourceBSuperType)) {
- if (resourceBSuperType.equals(parentResourceType)) {
+ Resource parentB = resolver.getResource(resourceBSuperType);
+ while (parentB != null && !"/".equals(parentB.getPath()) && StringUtils.isNotEmpty(resourceBSuperType)) {
+ if (parentB.getPath().equals(parentResourceType)) {
return true;
}
- parentB = parentB.getParent();
resourceBSuperType = parentB.getResourceSuperType();
+ parentB = resolver.getResource(resourceBSuperType);
}
}
return false;