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> |
Free forum by Nabble | Edit this page |