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);