Author: jdonnerstag
Date: Thu Oct 15 18:14:28 2009
New Revision: 825597

URL: http://svn.apache.org/viewvc?rev=825597&view=rev
Log:
fixed WICKET-2525: DatePicker consume too much memory

Modified:
    
wicket/branches/wicket-1.4.x/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java

Modified: 
wicket/branches/wicket-1.4.x/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java?rev=825597&r1=825596&r2=825597&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
 Thu Oct 15 18:14:28 2009
@@ -17,7 +17,6 @@
 package org.apache.wicket.extensions.yui.calendar;
 
 import java.lang.reflect.Method;
-import java.text.DateFormat;
 import java.text.DateFormatSymbols;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -112,14 +111,16 @@
         * "selected" property.
         */
        // See wicket-1988: SimpleDateFormat is not thread safe. Do not use 
static final
-       public final DateFormat FORMAT_DATE = new 
SimpleDateFormat("MM/dd/yyyy");
+       // See wicket-2525: SimpleDateFormat consumes a lot of memory
+       public static String FORMAT_DATE = "MM/dd/yyyy";
 
        /**
         * For specifying which page (month/year) to show in the calendar, use 
this format for the date.
         * This is to be used together with the property "pagedate"
         */
        // See wicket-1988: SimpleDateFormat is not thread safe. Do not use 
static final
-       public final DateFormat FORMAT_PAGEDATE = new 
SimpleDateFormat("MM/yyyy");
+       // See wicket-2525: SimpleDateFormat consumes a lot of memory
+       public static String FORMAT_PAGEDATE = "MM/yyyy";
 
        private static final ResourceReference YUI = new 
JavascriptResourceReference(YuiLib.class, "");
 
@@ -402,8 +403,8 @@
                if (modelObject instanceof Date)
                {
                        Date date = (Date)modelObject;
-                       widgetProperties.put("selected", 
FORMAT_DATE.format(date));
-                       widgetProperties.put("pagedate", 
FORMAT_PAGEDATE.format(date));
+                       widgetProperties.put("selected", new 
SimpleDateFormat(FORMAT_DATE).format(date));
+                       widgetProperties.put("pagedate", new 
SimpleDateFormat(FORMAT_PAGEDATE).format(date));
                }
        }
 
@@ -753,7 +754,11 @@
                return component.isEnabledInHierarchy();
        }
 
-
+       /**
+        * 
+        * @param map
+        * @param calendarInit
+        */
        private void appendMapping(Map<String, ? > map, StringBuffer 
calendarInit)
        {
                boolean first = true;


Reply via email to