You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by kw...@apache.org on 2015/02/20 09:28:30 UTC
svn commit: r1661073 - in
/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension:
IncludeRuntimeExtension.java ResourceRuntimeExtension.java
Author: kwin
Date: Fri Feb 20 08:28:30 2015
New Revision: 1661073
URL: http://svn.apache.org/r1661073
Log:
SLING-4175 do not catch exceptions when including scripts/resources within Sightly
Modified:
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/IncludeRuntimeExtension.java
sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/ResourceRuntimeExtension.java
Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/IncludeRuntimeExtension.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/IncludeRuntimeExtension.java?rev=1661073&r1=1661072&r2=1661073&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/IncludeRuntimeExtension.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/IncludeRuntimeExtension.java Fri Feb 20 08:28:30 2015
@@ -18,12 +18,14 @@
******************************************************************************/
package org.apache.sling.scripting.sightly.impl.engine.extension;
+import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Map;
import javax.script.Bindings;
import javax.servlet.Servlet;
+import javax.servlet.ServletException;
import org.apache.commons.lang.StringUtils;
import org.apache.felix.scr.annotations.Component;
@@ -109,8 +111,10 @@ public class IncludeRuntimeExtension imp
SlingHttpServletResponse response = (SlingHttpServletResponse) bindings.get(SlingBindings.RESPONSE);
PrintWriterResponseWrapper resWrapper = new PrintWriterResponseWrapper(out, response);
servlet.service(request, resWrapper);
- } catch (Exception e) {
- LOG.error("Failed to include script {}", script, e);
+ } catch (ServletException e) {
+ throw new SightlyException("Failed to include script " + script, e);
+ } catch (IOException e) {
+ throw new SightlyException("Failed to include script " + script, e);
}
} else {
LOG.error("Failed to locate script {}", script);
Modified: sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/ResourceRuntimeExtension.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/ResourceRuntimeExtension.java?rev=1661073&r1=1661072&r2=1661073&view=diff
==============================================================================
--- sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/ResourceRuntimeExtension.java (original)
+++ sling/trunk/contrib/scripting/sightly/engine/src/main/java/org/apache/sling/scripting/sightly/impl/engine/extension/ResourceRuntimeExtension.java Fri Feb 20 08:28:30 2015
@@ -18,6 +18,7 @@
******************************************************************************/
package org.apache.sling.scripting.sightly.impl.engine.extension;
+import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
@@ -28,6 +29,7 @@ import java.util.Set;
import javax.script.Bindings;
import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
import org.apache.commons.lang.StringUtils;
import org.apache.felix.scr.annotations.Component;
@@ -42,6 +44,7 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.api.resource.ResourceUtil;
import org.apache.sling.api.resource.SyntheticResource;
import org.apache.sling.api.scripting.SlingBindings;
+import org.apache.sling.scripting.sightly.SightlyException;
import org.apache.sling.scripting.sightly.extension.RuntimeExtension;
import org.apache.sling.scripting.sightly.impl.plugin.ResourcePlugin;
import org.apache.sling.scripting.sightly.render.RenderContext;
@@ -248,15 +251,17 @@ public class ResourceRuntimeExtension im
if (includeRes instanceof NonExistingResource || includeRes.isResourceType(Resource.RESOURCE_TYPE_NON_EXISTING)) {
includeRes = new SyntheticResource(request.getResourceResolver(), script, resourceType);
}
+ RequestDispatcherOptions opts = new RequestDispatcherOptions(dispatcherOptions);
+ if (StringUtils.isNotEmpty(resourceType)) {
+ opts.setForceResourceType(resourceType);
+ }
+ RequestDispatcher dispatcher = request.getRequestDispatcher(includeRes, opts);
try {
- RequestDispatcherOptions opts = new RequestDispatcherOptions(dispatcherOptions);
- if (StringUtils.isNotEmpty(resourceType)) {
- opts.setForceResourceType(resourceType);
- }
- RequestDispatcher dispatcher = request.getRequestDispatcher(includeRes, opts);
dispatcher.include(request, customResponse);
- } catch (Exception e) {
- LOG.error("Failed to include resource {}", script, e);
+ } catch (ServletException e) {
+ throw new SightlyException("Failed to include resource " + script, e);
+ } catch (IOException e) {
+ throw new SightlyException("Failed to include resource " + script, e);
}
}
}