SLING-9366 - Do not expose all the required wires to the BundledScriptServlet
diff --git a/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptFinder.java b/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptFinder.java
index e2b28f3..f4f44e2 100644
--- a/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptFinder.java
+++ b/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptFinder.java
@@ -44,7 +44,7 @@
private static final String SLASH = "/";
private static final String DOT = ".";
- Executable getScript(Set<TypeProvider> providers) {
+ Executable getScript(Set<TypeProvider> providers, Set<TypeProvider> allProviders) {
for (TypeProvider provider : providers) {
BundledRenderUnitCapability capability = provider.getBundledRenderUnitCapability();
for (String match : buildScriptMatches(capability.getResourceTypes(),
@@ -52,7 +52,7 @@
String scriptExtension = capability.getScriptExtension();
String scriptEngineName = capability.getScriptEngineName();
if (StringUtils.isNotEmpty(scriptExtension) && StringUtils.isNotEmpty(scriptEngineName)) {
- Executable executable = getExecutable(provider.getBundle(), match, scriptEngineName, scriptExtension, providers);
+ Executable executable = getExecutable(provider.getBundle(), match, scriptEngineName, scriptExtension, allProviders);
if (executable != null) {
return executable;
}
diff --git a/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptServlet.java b/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptServlet.java
index 9628a51..bfdb35e 100644
--- a/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptServlet.java
+++ b/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptServlet.java
@@ -85,4 +85,8 @@
throw new ServletException("Not a Sling HTTP request/response");
}
}
+
+ public String toString() {
+ return getClass().getSimpleName() + "(" + executable.getName() + ")";
+ }
}
diff --git a/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptTracker.java b/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptTracker.java
index 5bf7e67..f23c9bd 100644
--- a/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptTracker.java
+++ b/src/main/java/org/apache/sling/scripting/bundle/tracker/internal/BundledScriptTracker.java
@@ -172,7 +172,7 @@
}
Set<TypeProvider> aggregate =
Stream.concat(inheritanceChain.stream(), requiresChain.stream()).collect(Collectors.toCollection(LinkedHashSet::new));
- executable = bundledScriptFinder.getScript(aggregate);
+ executable = bundledScriptFinder.getScript(inheritanceChain, aggregate);
} else if (StringUtils.isNotEmpty(bundledRenderUnitCapability.getPath()) && StringUtils.isNotEmpty(
bundledRenderUnitCapability.getScriptEngineName())) {
Set<TypeProvider> aggregate =