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