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 2008/03/11 14:00:10 UTC

svn commit: r635909 - in /incubator/sling/trunk: api/src/main/java/org/apache/sling/api/scripting/SlingScript.java scripting/resolver/src/main/java/org/apache/sling/scripting/resolver/impl/DefaultSlingScript.java

Author: cziegeler
Date: Tue Mar 11 06:00:08 2008
New Revision: 635909

URL: http://svn.apache.org/viewvc?rev=635909&view=rev
Log:
SLING-320: Return value from script.

Modified:
    incubator/sling/trunk/api/src/main/java/org/apache/sling/api/scripting/SlingScript.java
    incubator/sling/trunk/scripting/resolver/src/main/java/org/apache/sling/scripting/resolver/impl/DefaultSlingScript.java

Modified: incubator/sling/trunk/api/src/main/java/org/apache/sling/api/scripting/SlingScript.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/api/src/main/java/org/apache/sling/api/scripting/SlingScript.java?rev=635909&r1=635908&r2=635909&view=diff
==============================================================================
--- incubator/sling/trunk/api/src/main/java/org/apache/sling/api/scripting/SlingScript.java (original)
+++ incubator/sling/trunk/api/src/main/java/org/apache/sling/api/scripting/SlingScript.java Tue Mar 11 06:00:08 2008
@@ -46,10 +46,11 @@
      *            evaluating the script. Any bound variables must conform to the
      *            requirements of the {@link SlingBindings} predefined variables
      *            set.
+     * @return The value returned by the script.
      * @throws ScriptEvaluationException If an error occurrs executing the
      *             script or preparing the script execution. The cause of the
      *             evaluation execption is available as the exception cause.
      */
-    void eval(SlingBindings props);
+    Object eval(SlingBindings props);
 
 }

Modified: incubator/sling/trunk/scripting/resolver/src/main/java/org/apache/sling/scripting/resolver/impl/DefaultSlingScript.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/resolver/src/main/java/org/apache/sling/scripting/resolver/impl/DefaultSlingScript.java?rev=635909&r1=635908&r2=635909&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/resolver/src/main/java/org/apache/sling/scripting/resolver/impl/DefaultSlingScript.java (original)
+++ incubator/sling/trunk/scripting/resolver/src/main/java/org/apache/sling/scripting/resolver/impl/DefaultSlingScript.java Tue Mar 11 06:00:08 2008
@@ -96,9 +96,10 @@
     }
 
     /**
+     * @see org.apache.sling.api.scripting.SlingScript#eval(org.apache.sling.api.scripting.SlingBindings)
      * @throws ScriptEvaluationException
      */
-    public void eval(SlingBindings props) {
+    public Object eval(SlingBindings props) {
 
         String scriptName = getScriptResource().getPath();
 
@@ -115,7 +116,7 @@
             Reader reader = getScriptReader();
 
             // evaluate the script
-            scriptEngine.eval(reader, ctx);
+            final Object result = scriptEngine.eval(reader, ctx);
 
             // optionall flush the output channel
             Object flushObject = bindings.get(SlingBindings.FLUSH);
@@ -126,6 +127,7 @@
             // allways flush the error channel
             ctx.getErrorWriter().flush();
 
+            return result;
         } catch (IOException ioe) {
             throw new ScriptEvaluationException(scriptName, ioe.getMessage(),
                 ioe);