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 2018/09/07 18:55:16 UTC
[sling-whiteboard] 01/02: correctly send the information about
precompiled scripts down the line
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-whiteboard.git
commit ff7ad88f3da069cddd61f217081e77d2fbebe03a
Author: Radu Cotescu <ra...@apache.org>
AuthorDate: Fri Sep 7 20:54:34 2018 +0200
correctly send the information about precompiled scripts down the line
---
.../resolver/internal/BundledScriptServlet.java | 17 ++++++++---------
.../resolver/internal/BundledScriptTracker.java | 2 +-
2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/scripting-resolver/org-apache-sling-scripting-resolver/src/main/java/org/apache/sling/scripting/resolver/internal/BundledScriptServlet.java b/scripting-resolver/org-apache-sling-scripting-resolver/src/main/java/org/apache/sling/scripting/resolver/internal/BundledScriptServlet.java
index c3cbf76..19036b8 100644
--- a/scripting-resolver/org-apache-sling-scripting-resolver/src/main/java/org/apache/sling/scripting/resolver/internal/BundledScriptServlet.java
+++ b/scripting-resolver/org-apache-sling-scripting-resolver/src/main/java/org/apache/sling/scripting/resolver/internal/BundledScriptServlet.java
@@ -31,7 +31,6 @@ import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.sling.api.SlingConstants;
@@ -49,26 +48,26 @@ class BundledScriptServlet extends GenericServlet {
private final ScriptContextProvider m_scriptContextProvider;
private final String m_delegatedResourceType;
private final Set<String> m_wiredResourceTypes;
+ private final boolean m_precompiledScripts;
private Map<String, ScriptEngineExecutable> scriptsMap = new HashMap<>();
private ReadWriteLock lock = new ReentrantReadWriteLock();
- private boolean precompiledScripts = false;
+
BundledScriptServlet(BundledScriptFinder bundledScriptFinder, Bundle bundle, ScriptContextProvider scriptContextProvider,
Set<String> wiredResourceTypes, boolean precompiledScripts) {
- this(bundledScriptFinder, bundle, scriptContextProvider, null, wiredResourceTypes);
- this.precompiledScripts = precompiledScripts;
+ this(bundledScriptFinder, bundle, scriptContextProvider, null, wiredResourceTypes, precompiledScripts);
}
BundledScriptServlet(BundledScriptFinder bundledScriptFinder, Bundle bundle, ScriptContextProvider scriptContextProvider, String
- overridingResourceType, Set<String> wiredResourceTypes) {
+ overridingResourceType, Set<String> wiredResourceTypes, boolean precompiledScripts) {
m_bundle = bundle;
m_bundledScriptFinder = bundledScriptFinder;
m_scriptContextProvider = scriptContextProvider;
m_delegatedResourceType = overridingResourceType;
m_wiredResourceTypes = wiredResourceTypes;
-
+ m_precompiledScripts = precompiledScripts;
}
@Override
@@ -99,9 +98,9 @@ class BundledScriptServlet extends GenericServlet {
script = scriptsMap.get(scriptsMapKey);
if (script == null) {
if (StringUtils.isEmpty(m_delegatedResourceType)) {
- script = m_bundledScriptFinder.getScript(request, m_bundle, precompiledScripts);
+ script = m_bundledScriptFinder.getScript(request, m_bundle, m_precompiledScripts);
} else {
- script = m_bundledScriptFinder.getScript(request, m_bundle, precompiledScripts, m_delegatedResourceType);
+ script = m_bundledScriptFinder.getScript(request, m_bundle, m_precompiledScripts, m_delegatedResourceType);
}
if (script != null) {
scriptsMap.put(scriptsMapKey, script);
@@ -125,7 +124,7 @@ class BundledScriptServlet extends GenericServlet {
throw new ScriptEvaluationException(script.getName(), se.getMessage(), cause);
}
} else {
- response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ throw new ServletException("Unable to locate a " + (m_precompiledScripts ? "class" : "script") + " for rendering.");
}
} else {
throw new ServletException("Not a Sling HTTP request/response");
diff --git a/scripting-resolver/org-apache-sling-scripting-resolver/src/main/java/org/apache/sling/scripting/resolver/internal/BundledScriptTracker.java b/scripting-resolver/org-apache-sling-scripting-resolver/src/main/java/org/apache/sling/scripting/resolver/internal/BundledScriptTracker.java
index 496a004..83880d6 100644
--- a/scripting-resolver/org-apache-sling-scripting-resolver/src/main/java/org/apache/sling/scripting/resolver/internal/BundledScriptTracker.java
+++ b/scripting-resolver/org-apache-sling-scripting-resolver/src/main/java/org/apache/sling/scripting/resolver/internal/BundledScriptTracker.java
@@ -180,7 +180,7 @@ public class BundledScriptTracker implements BundleTrackerCustomizer<List<Servic
new HashSet<>(
Arrays.asList(resourceType, wireResourceType + (wireResourceTypeVersion != null ? "/" +
wireResourceTypeVersion.toString() : ""))),
- bundle, optionalWire.get().getProvider().getBundle())),
+ bundle, optionalWire.get().getProvider().getBundle()), precompiled),
properties
));
} else {