Author: jacopoc
Date: Fri Apr 13 05:53:54 2012
New Revision: 1325620
URL:
http://svn.apache.org/viewvc?rev=1325620&view=revLog:
Modified Groovy util methods that prepares the binding to add the ScriptHelper object (to be consistent with the Groovy service engine and event handler and the "Script" JSR223 engine and handler): now Groovy scripts can execute the same exact Grrovy codes that can be executed when they are run thru JSR223.
Modified:
ofbiz/trunk/framework/base/src/org/ofbiz/base/util/GroovyUtil.java
Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/GroovyUtil.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/GroovyUtil.java?rev=1325620&r1=1325619&r2=1325620&view=diff==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/GroovyUtil.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/GroovyUtil.java Fri Apr 13 05:53:54 2012
@@ -35,6 +35,8 @@ import org.codehaus.groovy.runtime.Invok
import org.ofbiz.base.location.FlexibleLocation;
import org.ofbiz.base.util.cache.UtilCache;
+import javax.script.ScriptContext;
+
/**
* Groovy Utilities.
*
@@ -92,11 +94,16 @@ public class GroovyUtil {
* @param context A <code>Map</code> containing initial variables
* @return A <code>Binding</code> instance
*/
- public static Binding getBinding(Map<String, ? extends Object> context) {
+ public static Binding getBinding(Map<String, Object> context) {
Map<String, Object> vars = FastMap.newInstance();
if (context != null) {
vars.putAll(context);
vars.put("context", context);
+ ScriptContext scriptContext = ScriptUtil.createScriptContext(context);
+ ScriptHelper scriptHelper = (ScriptHelper)scriptContext.getAttribute(ScriptUtil.SCRIPT_HELPER_KEY);
+ if (scriptHelper != null) {
+ vars.put(ScriptUtil.SCRIPT_HELPER_KEY, scriptHelper);
+ }
}
return new Binding(vars);
}