Author: jcompagner
Date: Mon Mar 24 04:19:22 2008
New Revision: 640381

URL: http://svn.apache.org/viewvc?rev=640381&view=rev
Log:
removed final keyword: WICKET-1421
made this getNumberFormat work the same as AbstractDecimalConverter: WICKET-1444

Modified:
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java?rev=640381&r1=640380&r2=640381&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractIntegerConverter.java
 Mon Mar 24 04:19:22 2008
@@ -18,6 +18,9 @@
 
 import java.text.NumberFormat;
 import java.util.Locale;
+import java.util.Map;
+
+import org.apache.wicket.util.concurrent.ConcurrentHashMap;
 
 /**
  * Base class for all number converters.
@@ -26,22 +29,30 @@
  */
 public abstract class AbstractIntegerConverter extends AbstractNumberConverter
 {
-       /**
-        * 
-        */
        private static final long serialVersionUID = 1L;
 
+       /** The date format to use */
+       private final Map/* <Locale, NumberFormat> */numberFormats = new 
ConcurrentHashMap/*
+        * <Locale,
+        * NumberFormat>
+        */();
+
        /**
         * @param locale
         *            The locale
         * @return Returns the numberFormat.
         */
-       public final NumberFormat getNumberFormat(Locale locale)
+       public NumberFormat getNumberFormat(Locale locale)
        {
-               final NumberFormat numberFormat = 
NumberFormat.getIntegerInstance(locale);
-               numberFormat.setParseIntegerOnly(true);
-               numberFormat.setGroupingUsed(false);
-               return numberFormat;
+               NumberFormat numberFormat = 
(NumberFormat)numberFormats.get(locale);
+               if (numberFormat == null)
+               {
+                       numberFormat = NumberFormat.getIntegerInstance(locale);
+                       numberFormat.setParseIntegerOnly(true);
+                       numberFormat.setGroupingUsed(false);
+                       numberFormats.put(locale, numberFormat);
+               }
+               return (NumberFormat)numberFormat.clone();
        }
 
 }


Reply via email to