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