You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ra...@apache.org on 2015/04/09 17:01:42 UTC
svn commit: r1672383 - in /sling/trunk/contrib/scripting/sightly:
js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsEnvironment.java
testing-content/src/main/resources/SLING-INF/apps/sightly/scripts/useinheritance.json
Author: radu
Date: Thu Apr 9 15:01:41 2015
New Revision: 1672383
URL: http://svn.apache.org/r1672383
Log:
SLING-4578 - Incorrect Sightly JS Use-API script dependency resolution
* script dependency resolution now also takes into account relative paths for
sling:resourceSuperType
Modified:
sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsEnvironment.java
sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/scripts/useinheritance.json
Modified: sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsEnvironment.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsEnvironment.java?rev=1672383&r1=1672382&r2=1672383&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsEnvironment.java (original)
+++ sling/trunk/contrib/scripting/sightly/js-use-provider/src/main/java/org/apache/sling/scripting/sightly/js/impl/JsEnvironment.java Thu Apr 9 15:01:41 2015
@@ -32,6 +32,7 @@ import javax.script.SimpleScriptContext;
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 @@ public class JsEnvironment {
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;
Modified: sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/scripts/useinheritance.json
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/scripts/useinheritance.json?rev=1672383&r1=1672382&r2=1672383&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/scripts/useinheritance.json (original)
+++ sling/trunk/contrib/scripting/sightly/testing-content/src/main/resources/SLING-INF/apps/sightly/scripts/useinheritance.json Thu Apr 9 15:01:41 2015
@@ -9,6 +9,6 @@
},
"child": {
"jcr:primaryType": "sling:Folder",
- "sling:resourceSuperType": "/apps/sightly/scripts/useinheritance/parent"
+ "sling:resourceSuperType": "sightly/scripts/useinheritance/parent"
}
}
\ No newline at end of file