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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

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

Adrian Crum
Very nice! I'm impressed.

-Adrian

[hidden email] 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
>
>
>