This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-scripting-sightly-js-provider.git
The following commit(s) were added to refs/heads/master by this push:
new c6b5a6d SLING-9599 - Incomplete non-existing resource check
c6b5a6d is described below
commit c6b5a6d06c8aef78a24195d20e3bd7b7318131ef
Author: Radu Cotescu <[email protected]>
AuthorDate: Tue Jul 21 23:36:52 2020 +0200
SLING-9599 - Incomplete non-existing resource check
* bring back support for relative paths
---
.../sightly/js/impl/use/DependencyResolver.java | 24 ++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git
a/src/main/java/org/apache/sling/scripting/sightly/js/impl/use/DependencyResolver.java
b/src/main/java/org/apache/sling/scripting/sightly/js/impl/use/DependencyResolver.java
index c586b78..ab02bc2 100644
---
a/src/main/java/org/apache/sling/scripting/sightly/js/impl/use/DependencyResolver.java
+++
b/src/main/java/org/apache/sling/scripting/sightly/js/impl/use/DependencyResolver.java
@@ -77,9 +77,17 @@ public class DependencyResolver {
}
if (caller != null && Utils.isJsScript(caller.getName()) &&
("sling/bundle/resource".equals(caller.getResourceType()) ||
"nt:file".equals(caller.getResourceType()))) {
- caller = caller.getParent();
- if (caller != null) {
- scriptResource = caller.getChild(dependency);
+ if (dependency.startsWith(".")) {
+ // relative path
+ String absolutePath =
ResourceUtil.normalize(caller.getPath() + "/" + dependency);
+ if (StringUtils.isNotEmpty(absolutePath)) {
+ scriptResource =
scriptingResourceResolver.resolve(absolutePath);
+ }
+ } else {
+ caller = caller.getParent();
+ if (caller != null) {
+ scriptResource = caller.getChild(dependency);
+ }
}
}
@@ -105,7 +113,15 @@ public class DependencyResolver {
servletResource =
scriptingResourceResolver.resolve(type);
}
if (servletResource != null) {
- scriptResource = servletResource.getChild(dependency);
+ if (dependency.startsWith(".")) {
+ // relative path
+ String absolutePath =
ResourceUtil.normalize(servletResource.getPath() + "/" + dependency);
+ if (StringUtils.isNotEmpty(absolutePath)) {
+ scriptResource =
scriptingResourceResolver.resolve(absolutePath);
+ }
+ } else {
+ scriptResource =
servletResource.getChild(dependency);
+ }
type = servletResource.getResourceSuperType();
} else {
type = null;