Skip to content
Permalink
Browse files

Improved: Rewrite ‘GroovyUtil#runScriptAtLocation’ (OFBIZ-10807)

The ‘GroovyUtil#runScriptAtLocation’ method has now a javadoc and is
rewritten as a simple ternary expression.


git-svn-id: https://svn.apache.org/repos/asf/ofbiz/ofbiz-framework/trunk@1854653 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
mthl committed Mar 2, 2019
1 parent 164849a commit 4af444183d98685a612d7be954e91a88306de2c1
Showing with 18 additions and 8 deletions.
  1. +18 −8 framework/base/src/main/java/org/apache/ofbiz/base/util/GroovyUtil.java
@@ -192,15 +192,25 @@ public static Binding getBinding(Map<String, Object> context) {
return classLoader;
}

public static Object runScriptAtLocation(String location, String methodName, Map<String, Object> context) throws GeneralException {
/**
* Runs a Groovy script with a context argument.
* <p>
* A Groovy script can be either a stand-alone script or a method embedded in a script.
*
* @param location the location of the script file
* @param methodName the name of the method inside the script to be run,
* if it is {@code null} consider the script as stand-alone
* @param context the context of execution which is in the case
* of a method inside a script passed as an argument
* @return the invocation result
* @throws GeneralException when the script is not properly located
*/
public static Object runScriptAtLocation(String location, String methodName, Map<String, Object> context)
throws GeneralException {
Script script = InvokerHelper.createScript(getScriptClassFromLocation(location), getBinding(context));
Object result = null;
if (UtilValidate.isEmpty(methodName)) {
result = script.run();
} else {
result = script.invokeMethod(methodName, new Object[] { context });
}
return result;
return UtilValidate.isEmpty(methodName)
? script.run()
: script.invokeMethod(methodName, new Object[] { context });
}

private GroovyUtil() {}

0 comments on commit 4af4441

Please sign in to comment.
You can’t perform that action at this time.