You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2010/03/03 08:40:17 UTC
svn commit: r918350 -
/sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/DefaultSlingScript.java
Author: cziegeler
Date: Wed Mar 3 07:40:17 2010
New Revision: 918350
URL: http://svn.apache.org/viewvc?rev=918350&view=rev
Log:
SLING-1422 : NPE when a script is called without a request binding
Modified:
sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/DefaultSlingScript.java
Modified: sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/DefaultSlingScript.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/DefaultSlingScript.java?rev=918350&r1=918349&r2=918350&view=diff
==============================================================================
--- sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/DefaultSlingScript.java (original)
+++ sling/trunk/bundles/scripting/core/src/main/java/org/apache/sling/scripting/core/impl/DefaultSlingScript.java Wed Mar 3 07:40:17 2010
@@ -134,6 +134,9 @@
// ---------- SlingScript interface ----------------------------------------
+ /**
+ * @see org.apache.sling.api.scripting.SlingScript#getScriptResource()
+ */
public Resource getScriptResource() {
final ResourceResolver resolver = requestResourceResolver.get();
if ( resolver == null ) {
@@ -202,8 +205,10 @@
ctx.setWriter((Writer) bindings.get(OUT));
ctx.setErrorWriter(new LogWriter((Logger) bindings.get(LOG)));
- // set the current resource resolver
- requestResourceResolver.set(props.getRequest().getResourceResolver());
+ // set the current resource resolver if a request is available from the bindings
+ if ( props.getRequest() != null ) {
+ requestResourceResolver.set(props.getRequest().getResourceResolver());
+ }
// set the script resource resolver as an attribute
ctx.setAttribute(SlingScriptConstants.ATTR_SCRIPT_RESOURCE_RESOLVER,
@@ -451,9 +456,9 @@
};
}
- private Bindings verifySlingBindings(SlingBindings slingBindings) throws IOException {
+ private Bindings verifySlingBindings(final SlingBindings slingBindings) throws IOException {
- Bindings bindings = new SimpleBindings();
+ final Bindings bindings = new SimpleBindings();
final SlingHttpServletRequest request = slingBindings.getRequest();
@@ -473,9 +478,7 @@
bindings.put(SLING, sling);
if (request != null) {
- //throw fail(REQUEST, "Missing or wrong type");
-
- SlingHttpServletResponse response = slingBindings.getResponse();
+ final SlingHttpServletResponse response = slingBindings.getResponse();
if (response == null) {
throw fail(RESPONSE, "Missing or wrong type");
}