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