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);
             }
         }
     }