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 2008/11/18 07:09:58 UTC

svn commit: r718491 - in /ofbiz/trunk: applications/content/config/ framework/base/src/org/ofbiz/base/util/template/ framework/webapp/config/ framework/widget/config/

Author: doogie
Date: Mon Nov 17 22:09:58 2008
New Revision: 718491

URL: http://svn.apache.org/viewvc?rev=718491&view=rev
Log:
Implement multiple resource loading from the classpath; this means
that framework doesn't have to reference transforms that exist in
later components.

Added:
    ofbiz/trunk/applications/content/config/freemarkerTransforms.properties
      - copied unchanged from r681276, ofbiz/trunk/framework/webapp/config/applicationTransforms.properties
    ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties
      - copied, changed from r566645, ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties
    ofbiz/trunk/framework/widget/config/freemarkerTransforms.properties
      - copied, changed from r566645, ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties
Removed:
    ofbiz/trunk/framework/webapp/config/applicationTransforms.properties
Modified:
    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java?rev=718491&r1=718490&r2=718491&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java Mon Nov 17 22:09:58 2008
@@ -28,6 +28,7 @@
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.Enumeration;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
@@ -89,29 +90,31 @@
         } catch (TemplateException e) {
             Debug.logError("Unable to set date/time and number formats in FreeMarker: " + e, module);
         }
-        // Load framework transforms first.
         // Transforms properties file set up as key=transform name, property=transform class name
-        Properties props = UtilProperties.getProperties(FRAMEWORK_TRANSFORMS);
-        if (props == null || props.isEmpty()) {
-            Debug.logError("Unable to locate properties file " + FRAMEWORK_TRANSFORMS, module);
-        } else {
-            loadTransforms(props);
-        }
-
-        // Load application transforms next.
-        props = UtilProperties.getProperties(APPLICATION_TRANSFORMS);
-        if (props == null || props.isEmpty()) {
-            Debug.logWarning("Unable to locate properties file " + APPLICATION_TRANSFORMS + ". If you are using only the OFBiz framework, then this warning can be ignored.", module);
-        } else {
-            loadTransforms(props);
+        ClassLoader loader = Thread.currentThread().getContextClassLoader();
+        Enumeration<URL> resources;
+        try {
+            resources = loader.getResources("freemarkerTransforms.properties");
+        } catch (IOException e) {
+            Debug.logError(e, "Could not load list of freemarkerTransforms.properties", module);
+            throw (InternalError) new InternalError(e.getMessage()).initCause(e);
+        }
+        while (resources.hasMoreElements()) {
+            URL propertyURL = resources.nextElement();
+            Debug.logInfo("loading properties: " + propertyURL, module);
+            Properties props = UtilProperties.getProperties(propertyURL);
+            if (props == null || props.isEmpty()) {
+                Debug.logError("Unable to locate properties file " + propertyURL, module);
+            } else {
+                loadTransforms(loader, props);
+            }
         }
     }
     
     /**
      * Protected helper method.
      */
-    protected static void loadTransforms(Properties props) {
-        ClassLoader loader = Thread.currentThread().getContextClassLoader();
+    protected static void loadTransforms(ClassLoader loader, Properties props) {
         for (Iterator<Object> i = props.keySet().iterator(); i.hasNext();) {
             String key = (String)i.next();
             String className = props.getProperty(key);

Copied: ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties (from r566645, ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties)
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties?p2=ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties&p1=ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties&r1=566645&r2=718491&rev=718491&view=diff
==============================================================================
--- ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties (original)
+++ ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties Mon Nov 17 22:09:58 2008
@@ -27,4 +27,3 @@
 ofbizAmount=org.ofbiz.webapp.ftl.OfbizAmountTransform
 setRequestAttribute=org.ofbiz.webapp.ftl.SetRequestAttributeMethod
 renderWrappedText=org.ofbiz.webapp.ftl.RenderWrappedTextTransform
-menuWrap=org.ofbiz.widget.menu.MenuWrapTransform

Copied: ofbiz/trunk/framework/widget/config/freemarkerTransforms.properties (from r566645, ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties)
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/config/freemarkerTransforms.properties?p2=ofbiz/trunk/framework/widget/config/freemarkerTransforms.properties&p1=ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties&r1=566645&r2=718491&rev=718491&view=diff
==============================================================================
--- ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties (original)
+++ ofbiz/trunk/framework/widget/config/freemarkerTransforms.properties Mon Nov 17 22:09:58 2008
@@ -21,10 +21,4 @@
 
 # entries are in the form: key=transform name, property=transform class name
 
-ofbizUrl=org.ofbiz.webapp.ftl.OfbizUrlTransform
-ofbizContentUrl=org.ofbiz.webapp.ftl.OfbizContentTransform
-ofbizCurrency=org.ofbiz.webapp.ftl.OfbizCurrencyTransform
-ofbizAmount=org.ofbiz.webapp.ftl.OfbizAmountTransform
-setRequestAttribute=org.ofbiz.webapp.ftl.SetRequestAttributeMethod
-renderWrappedText=org.ofbiz.webapp.ftl.RenderWrappedTextTransform
 menuWrap=org.ofbiz.widget.menu.MenuWrapTransform



Re: svn commit: r718491 - in /ofbiz/trunk: applications/content/config/ framework/base/src/org/ofbiz/base/util/template/ framework/webapp/config/ framework/widget/config/

Posted by Adrian Crum <ad...@hlmksw.com>.
Very nice! I'm impressed.

-Adrian

doogie@apache.org wrote:
> Author: doogie
> Date: Mon Nov 17 22:09:58 2008
> New Revision: 718491
> 
> URL: http://svn.apache.org/viewvc?rev=718491&view=rev
> Log:
> Implement multiple resource loading from the classpath; this means
> that framework doesn't have to reference transforms that exist in
> later components.
> 
> Added:
>     ofbiz/trunk/applications/content/config/freemarkerTransforms.properties
>       - copied unchanged from r681276, ofbiz/trunk/framework/webapp/config/applicationTransforms.properties
>     ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties
>       - copied, changed from r566645, ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties
>     ofbiz/trunk/framework/widget/config/freemarkerTransforms.properties
>       - copied, changed from r566645, ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties
> Removed:
>     ofbiz/trunk/framework/webapp/config/applicationTransforms.properties
> Modified:
>     ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java
> 
> Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java?rev=718491&r1=718490&r2=718491&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java (original)
> +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/FreeMarkerWorker.java Mon Nov 17 22:09:58 2008
> @@ -28,6 +28,7 @@
>  import java.net.URL;
>  import java.util.ArrayList;
>  import java.util.Date;
> +import java.util.Enumeration;
>  import java.util.Iterator;
>  import java.util.List;
>  import java.util.Locale;
> @@ -89,29 +90,31 @@
>          } catch (TemplateException e) {
>              Debug.logError("Unable to set date/time and number formats in FreeMarker: " + e, module);
>          }
> -        // Load framework transforms first.
>          // Transforms properties file set up as key=transform name, property=transform class name
> -        Properties props = UtilProperties.getProperties(FRAMEWORK_TRANSFORMS);
> -        if (props == null || props.isEmpty()) {
> -            Debug.logError("Unable to locate properties file " + FRAMEWORK_TRANSFORMS, module);
> -        } else {
> -            loadTransforms(props);
> -        }
> -
> -        // Load application transforms next.
> -        props = UtilProperties.getProperties(APPLICATION_TRANSFORMS);
> -        if (props == null || props.isEmpty()) {
> -            Debug.logWarning("Unable to locate properties file " + APPLICATION_TRANSFORMS + ". If you are using only the OFBiz framework, then this warning can be ignored.", module);
> -        } else {
> -            loadTransforms(props);
> +        ClassLoader loader = Thread.currentThread().getContextClassLoader();
> +        Enumeration<URL> resources;
> +        try {
> +            resources = loader.getResources("freemarkerTransforms.properties");
> +        } catch (IOException e) {
> +            Debug.logError(e, "Could not load list of freemarkerTransforms.properties", module);
> +            throw (InternalError) new InternalError(e.getMessage()).initCause(e);
> +        }
> +        while (resources.hasMoreElements()) {
> +            URL propertyURL = resources.nextElement();
> +            Debug.logInfo("loading properties: " + propertyURL, module);
> +            Properties props = UtilProperties.getProperties(propertyURL);
> +            if (props == null || props.isEmpty()) {
> +                Debug.logError("Unable to locate properties file " + propertyURL, module);
> +            } else {
> +                loadTransforms(loader, props);
> +            }
>          }
>      }
>      
>      /**
>       * Protected helper method.
>       */
> -    protected static void loadTransforms(Properties props) {
> -        ClassLoader loader = Thread.currentThread().getContextClassLoader();
> +    protected static void loadTransforms(ClassLoader loader, Properties props) {
>          for (Iterator<Object> i = props.keySet().iterator(); i.hasNext();) {
>              String key = (String)i.next();
>              String className = props.getProperty(key);
> 
> Copied: ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties (from r566645, ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties)
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties?p2=ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties&p1=ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties&r1=566645&r2=718491&rev=718491&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties (original)
> +++ ofbiz/trunk/framework/webapp/config/freemarkerTransforms.properties Mon Nov 17 22:09:58 2008
> @@ -27,4 +27,3 @@
>  ofbizAmount=org.ofbiz.webapp.ftl.OfbizAmountTransform
>  setRequestAttribute=org.ofbiz.webapp.ftl.SetRequestAttributeMethod
>  renderWrappedText=org.ofbiz.webapp.ftl.RenderWrappedTextTransform
> -menuWrap=org.ofbiz.widget.menu.MenuWrapTransform
> 
> Copied: ofbiz/trunk/framework/widget/config/freemarkerTransforms.properties (from r566645, ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties)
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/config/freemarkerTransforms.properties?p2=ofbiz/trunk/framework/widget/config/freemarkerTransforms.properties&p1=ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties&r1=566645&r2=718491&rev=718491&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/webapp/config/frameworkTransforms.properties (original)
> +++ ofbiz/trunk/framework/widget/config/freemarkerTransforms.properties Mon Nov 17 22:09:58 2008
> @@ -21,10 +21,4 @@
>  
>  # entries are in the form: key=transform name, property=transform class name
>  
> -ofbizUrl=org.ofbiz.webapp.ftl.OfbizUrlTransform
> -ofbizContentUrl=org.ofbiz.webapp.ftl.OfbizContentTransform
> -ofbizCurrency=org.ofbiz.webapp.ftl.OfbizCurrencyTransform
> -ofbizAmount=org.ofbiz.webapp.ftl.OfbizAmountTransform
> -setRequestAttribute=org.ofbiz.webapp.ftl.SetRequestAttributeMethod
> -renderWrappedText=org.ofbiz.webapp.ftl.RenderWrappedTextTransform
>  menuWrap=org.ofbiz.widget.menu.MenuWrapTransform
> 
> 
>