svn commit: r1297478 - in /ofbiz/trunk: ./ framework/base/lib/ framework/base/src/META-INF/services/ framework/base/src/org/ofbiz/base/util/ framework/common/servicedef/

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1297478 - in /ofbiz/trunk: ./ framework/base/lib/ framework/base/src/META-INF/services/ framework/base/src/org/ofbiz/base/util/ framework/common/servicedef/

adrianc
Author: adrianc
Date: Tue Mar  6 14:06:13 2012
New Revision: 1297478

URL: http://svn.apache.org/viewvc?rev=1297478&view=rev
Log:
More JSR-223 work - added a bsh engine so that bsh-specific code can be eliminated. Bsh is now invoked using JSR-223.

The engine comes from http://java.net/projects/scripting. I had to modify the code slightly because the BshScriptEngine implemented Compilable - but the Compilable methods were not implemented. So I removed implements Compilable. I renamed the jar to signify that the code has been modified.

Added:
    ofbiz/trunk/framework/base/lib/bsh-engine-modified.jar   (with props)
    ofbiz/trunk/framework/base/src/META-INF/services/javax.script.ScriptEngineFactory
Modified:
    ofbiz/trunk/LICENSE
    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/ScriptUtil.java
    ofbiz/trunk/framework/common/servicedef/services_test.xml

Modified: ofbiz/trunk/LICENSE
URL: http://svn.apache.org/viewvc/ofbiz/trunk/LICENSE?rev=1297478&r1=1297477&r2=1297478&view=diff
==============================================================================
--- ofbiz/trunk/LICENSE (original)
+++ ofbiz/trunk/LICENSE Tue Mar  6 14:06:13 2012
@@ -505,6 +505,7 @@ The following libraries distributed with
 BSD License:
 ofbiz/trunk/applications/content/lib/dom4j-1.6.1.jar
 ofbiz/trunk/framework/base/lib/antisamy-bin.1.2.jar
+ofbiz/trunk/framework/base/lib/bsh-engine-modified.jar
 ofbiz/trunk/framework/base/lib/freemarker-2.3.10.jar
 ofbiz/trunk/framework/base/lib/hamcrest-all-1.2.jar
 ofbiz/trunk/framework/base/lib/httpunit.jar

Added: ofbiz/trunk/framework/base/lib/bsh-engine-modified.jar
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/lib/bsh-engine-modified.jar?rev=1297478&view=auto
==============================================================================
Binary file - no diff available.

Propchange: ofbiz/trunk/framework/base/lib/bsh-engine-modified.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: ofbiz/trunk/framework/base/src/META-INF/services/javax.script.ScriptEngineFactory
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/META-INF/services/javax.script.ScriptEngineFactory?rev=1297478&view=auto
==============================================================================
--- ofbiz/trunk/framework/base/src/META-INF/services/javax.script.ScriptEngineFactory (added)
+++ ofbiz/trunk/framework/base/src/META-INF/services/javax.script.ScriptEngineFactory Tue Mar  6 14:06:13 2012
@@ -0,0 +1 @@
+bsh.engine.BshScriptEngineFactory

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/ScriptUtil.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/ScriptUtil.java?rev=1297478&r1=1297477&r2=1297478&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/ScriptUtil.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/ScriptUtil.java Tue Mar  6 14:06:13 2012
@@ -190,10 +190,6 @@ public final class ScriptUtil {
         if (scriptClass != null) {
             return InvokerHelper.createScript(scriptClass, GroovyUtil.getBinding(inputMap)).run();
         }
-        // TODO: Remove beanshell check when all beanshell code has been removed.
-        if ("bsh".equals(language)) {
-            return BshUtil.eval(script, UtilMisc.makeMapWritable(inputMap));
-        }
         try {
             CompiledScript compiledScript = compileScriptString(language, script);
             if (compiledScript != null) {
@@ -311,11 +307,6 @@ public final class ScriptUtil {
     public static Object executeScript(String filePath, String functionName, Map<String, ? extends Object> context, Object[] args) {
         Assert.notNull("filePath", filePath, "context", context);
         try {
-            String fileExtension = getFileExtension(filePath);
-            // TODO: Remove beanshell check when all beanshell code has been removed.
-            if ("bsh".equals(fileExtension)) {
-                return BshUtil.runBshAtLocation(filePath, context);
-            }
             return executeScript(filePath, functionName, createScriptContext(context), args);
         } catch (Exception e) {
             String errMsg = "Error running script at location [" + filePath + "]: " + e.toString();

Modified: ofbiz/trunk/framework/common/servicedef/services_test.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/servicedef/services_test.xml?rev=1297478&r1=1297477&r2=1297478&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/servicedef/services_test.xml (original)
+++ ofbiz/trunk/framework/common/servicedef/services_test.xml Tue Mar  6 14:06:13 2012
@@ -160,12 +160,6 @@ under the License.
         <attribute name="result" type="String" mode="OUT"/>
     </service>    
     
-    <service name="testBsh" engine="bsh" location="component://common/script/org/ofbiz/common/BshServiceTest.bsh" invoke="">
-        <description>Test BeanShell Script Service</description>
-        <attribute name="message" type="String" mode="IN" optional="true"/>
-        <attribute name="result" type="String" mode="OUT"/>
-    </service>
-
     <service name="testGroovy" engine="groovy" location="component://common/script/org/ofbiz/common/GroovyServiceTest.groovy" invoke="">
         <description>Test Groovy Script Service</description>
         <attribute name="message" type="String" mode="IN" optional="true"/>
@@ -178,6 +172,12 @@ under the License.
         <attribute name="result" type="String" mode="OUT"/>
     </service>
 
+    <service name="testScriptEngineBsh" engine="script" location="component://common/script/org/ofbiz/common/BshServiceTest.bsh" invoke="">
+        <description>Test BeanShell Script Service</description>
+        <attribute name="message" type="String" mode="IN" optional="true"/>
+        <attribute name="result" type="String" mode="OUT"/>
+    </service>
+
     <service name="testScriptEngineGroovy" engine="script" location="component://common/script/org/ofbiz/common/GroovyServiceTest.groovy" invoke="">
         <description>Test Script Engine With Groovy Script</description>
         <attribute name="message" type="String" mode="IN" optional="true"/>
@@ -196,13 +196,11 @@ under the License.
         <attribute name="result" type="String" mode="OUT"/>
     </service>
 
-    <!-- JavaScript function invocations are not working, so commenting this out for now
     <service name="testScriptEngineJavaScriptFunction" engine="script" location="component://common/script/org/ofbiz/common/JavaScriptTest.js" invoke="testFunction">
         <description>Test Script Engine With JavaScript Function Invocation</description>
         <attribute name="message" type="String" mode="IN" optional="true"/>
         <attribute name="result" type="String" mode="OUT"/>
     </service>
-     -->
 
     <service name="testJMSQueue" engine="jms" location="serviceMessenger" invoke="testScv">
         <description>Test JMS Queue service</description>