You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by do...@apache.org on 2009/12/16 00:24:02 UTC
svn commit: r891070 - in /ofbiz/trunk/framework:
base/src/org/ofbiz/base/util/GroovyUtil.java
base/src/org/ofbiz/base/util/string/FlexibleStringExpander.java
testtools/src/org/ofbiz/testtools/seleniumxml/GroovyRunner.java
Author: doogie
Date: Tue Dec 15 23:24:02 2009
New Revision: 891070
URL: http://svn.apache.org/viewvc?rev=891070&view=rev
Log:
Fix groovy class parsing/caching.
Modified:
ofbiz/trunk/framework/base/src/org/ofbiz/base/util/GroovyUtil.java
ofbiz/trunk/framework/base/src/org/ofbiz/base/util/string/FlexibleStringExpander.java
ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/seleniumxml/GroovyRunner.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=891070&r1=891069&r2=891070&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 Tue Dec 15 23:24:02 2009
@@ -18,6 +18,7 @@
*/
package org.ofbiz.base.util;
+import java.io.InputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
@@ -44,7 +45,21 @@
@SuppressWarnings("unchecked")
public static UtilCache<String, Class> parsedScripts = UtilCache.createUtilCache("script.GroovyLocationParsedCache", 0, 0, false);
- public static GroovyClassLoader groovyClassLoader = new GroovyClassLoader();
+ public static Class loadClass(String path) throws ClassNotFoundException {
+ return new GroovyClassLoader().loadClass(path);
+ }
+
+ public static Class parseClass(String text) {
+ return new GroovyClassLoader().parseClass(text);
+ }
+
+ public static Class parseClass(String text, String location) {
+ return new GroovyClassLoader().parseClass(text, location);
+ }
+
+ public static Class parseClass(InputStream in, String location) throws IOException {
+ return new GroovyClassLoader().parseClass(UtilIO.readString(in), location);
+ }
public static Binding getBinding(Map<String, ? extends Object> context) {
Binding binding = new Binding();
@@ -101,7 +116,7 @@
try {
Class scriptClass = parsedScripts.get(script);
if (scriptClass == null) {
- scriptClass = groovyClassLoader.loadClass(script);
+ scriptClass = loadClass(script);
if (Debug.verboseOn()) Debug.logVerbose("Caching Groovy script: " + script, module);
parsedScripts.put(script, scriptClass);
}
@@ -126,7 +141,7 @@
throw new GeneralException("Script not found at location [" + location + "]");
}
- scriptClass = groovyClassLoader.parseClass(scriptUrl.openStream(), location);
+ scriptClass = parseClass(scriptUrl.openStream(), location);
if (Debug.verboseOn()) Debug.logVerbose("Caching Groovy script at: " + location, module);
parsedScripts.put(location, scriptClass);
}
Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/string/FlexibleStringExpander.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/string/FlexibleStringExpander.java?rev=891070&r1=891069&r2=891070&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/string/FlexibleStringExpander.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/string/FlexibleStringExpander.java Tue Dec 15 23:24:02 2009
@@ -317,7 +317,7 @@
protected final Class<?> parsedScript;
protected GroovyElem(String script) {
this.originalString = script;
- this.parsedScript = GroovyUtil.groovyClassLoader.parseClass(script);
+ this.parsedScript = GroovyUtil.parseClass(script);
}
public void append(StringBuilder buffer, Map<String, ? extends Object> context, TimeZone timeZone, Locale locale) {
try {
Modified: ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/seleniumxml/GroovyRunner.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/seleniumxml/GroovyRunner.java?rev=891070&r1=891069&r2=891070&view=diff
==============================================================================
--- ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/seleniumxml/GroovyRunner.java (original)
+++ ofbiz/trunk/framework/testtools/src/org/ofbiz/testtools/seleniumxml/GroovyRunner.java Tue Dec 15 23:24:02 2009
@@ -19,7 +19,6 @@
package org.ofbiz.testtools.seleniumxml;
import groovy.lang.Binding;
-import groovy.lang.GroovyClassLoader;
import java.io.BufferedReader;
import java.io.IOException;
@@ -35,6 +34,7 @@
import org.jdom.Element;
import org.ofbiz.testtools.seleniumxml.util.TestUtils;
import org.ofbiz.testtools.seleniumxml.SeleniumXml;
+import org.ofbiz.base.util.GroovyUtil;
public class GroovyRunner {
@@ -43,7 +43,6 @@
private SeleniumXml currentTest;
private int currentRowIndx;
- public static GroovyClassLoader groovyClassLoader = new GroovyClassLoader();
public GroovyRunner(String urlName, SeleniumXml parent) {
@@ -58,7 +57,7 @@
map.put("url", this.urlName);
try {
String scriptText = TestUtils.readUrlText(this.urlName);
- Class scriptClass = groovyClassLoader.parseClass(scriptText);
+ Class scriptClass = GroovyUtil.parseClass(scriptText);
Binding binding = new Binding();
binding.setVariable("context", map);