You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mu...@apache.org on 2007/07/11 16:44:54 UTC

svn commit: r555289 - in /struts/struts2/trunk/core/src/main: java/org/apache/struts2/StrutsConstants.java java/org/apache/struts2/views/freemarker/FreemarkerManager.java resources/org/apache/struts2/default.properties

Author: musachy
Date: Wed Jul 11 07:44:54 2007
New Revision: 555289

URL: http://svn.apache.org/viewvc?view=rev&rev=555289
Log:
WW-2012 Freemarker caching of BeanWrapper models

Modified:
    struts/struts2/trunk/core/src/main/java/org/apache/struts2/StrutsConstants.java
    struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
    struts/struts2/trunk/core/src/main/resources/org/apache/struts2/default.properties

Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/StrutsConstants.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/StrutsConstants.java?view=diff&rev=555289&r1=555288&r2=555289
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/StrutsConstants.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/StrutsConstants.java Wed Jul 11 07:44:54 2007
@@ -78,6 +78,9 @@
     
     /** Cache Freemarker templates */
     public static final String STRUTS_FREEMARKER_CACHE_TEMPLATES = "struts.freemarker.templatesCache";
+    
+    /** Cache model instances at BeanWrapper level */
+    public static final String STRUTS_FREEMARKER_BEANWRAPPER_CACHE = "struts.freemarker.beanwrapperCache";
 
     /** org.apache.struts2.views.velocity.VelocityManager implementation class */
     public static final String STRUTS_VELOCITY_MANAGER_CLASSNAME = "struts.velocity.manager.classname";

Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java?view=diff&rev=555289&r1=555288&r2=555289
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java Wed Jul 11 07:44:54 2007
@@ -124,6 +124,7 @@
     
     private String encoding;
     private boolean altMapWrapper;
+    private boolean cacheBeanWrapper;
     private Map<String,TagLibrary> tagLibraries;
     
     @Inject(StrutsConstants.STRUTS_I18N_ENCODING)
@@ -136,6 +137,11 @@
         altMapWrapper = "true".equals(val);
     }
     
+    @Inject(StrutsConstants.STRUTS_FREEMARKER_BEANWRAPPER_CACHE)
+    public void setCacheBeanWrapper(String val) {
+        cacheBeanWrapper = "true".equals(val);
+    }
+    
     @Inject
     public void setContainer(Container container) {
         Map<String,TagLibrary> map = new HashMap<String,TagLibrary>();
@@ -236,7 +242,9 @@
     }
 
     protected BeansWrapper getObjectWrapper() {
-        return new StrutsBeanWrapper(altMapWrapper);
+        StrutsBeanWrapper wrapper = new StrutsBeanWrapper(altMapWrapper);
+        wrapper.setUseCache(cacheBeanWrapper);
+        return wrapper;
     }
 
     /**

Modified: struts/struts2/trunk/core/src/main/resources/org/apache/struts2/default.properties
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/resources/org/apache/struts2/default.properties?view=diff&rev=555289&r1=555288&r2=555289
==============================================================================
--- struts/struts2/trunk/core/src/main/resources/org/apache/struts2/default.properties (original)
+++ struts/struts2/trunk/core/src/main/resources/org/apache/struts2/default.properties Wed Jul 11 07:44:54 2007
@@ -149,6 +149,9 @@
 ### Has the same effect as copying the templates under WEB_APP/templates
 struts.freemarker.templatesCache=false
 
+### Enables caching of models on the BeanWrapper
+struts.freemarker.beanwrapperCache=false
+
 ### See the StrutsBeanWrapper javadocs for more information
 struts.freemarker.wrapper.altMap=true