SLING-9599 - Incomplete non-existing resource check
* search for base servlet resource with or without mounted
servlted providers
diff --git a/pom.xml b/pom.xml
index 5675fd4..4308314 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,7 +33,7 @@
<!-- P R O J E C T -->
<!-- ======================================================================= -->
<artifactId>org.apache.sling.scripting.sightly.js.provider</artifactId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.3-SNAPSHOT</version>
<name>Apache Sling Scripting HTL JS Use Provider</name>
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 6e2f577..b6af89c 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
@@ -96,17 +96,13 @@
if (!type.startsWith("/")) {
for (String searchPath : scriptingResourceResolver.getSearchPath()) {
String normalizedPath = ResourceUtil.normalize(searchPath + "/" + type);
- if (normalizedPath != null) {
- servletResource =
- scriptingResourceResolver.resolve(normalizedPath);
- if (!(servletResource instanceof NonExistingResource) &&
- !Resource.RESOURCE_TYPE_NON_EXISTING.equalsIgnoreCase(servletResource.getResourceType())) {
- break;
- }
+ servletResource = resolveServletResource(normalizedPath);
+ if (servletResource != null) {
+ break;
}
}
} else {
- servletResource = scriptingResourceResolver.resolve(type);
+ servletResource = resolveServletResource(type);
}
if (servletResource != null) {
if (dependency.startsWith(".")) {
@@ -139,4 +135,12 @@
return reader;
}
+ Resource resolveServletResource(String type) {
+ Resource servletResource = scriptingResourceResolver.resolve(type);
+ if (ResourceUtil.isNonExistingResource(servletResource)) {
+ servletResource = scriptingResourceResolver.getResource(type);
+ }
+ return servletResource;
+ }
+
}