Author: ngn
Date: Fri Dec  5 13:44:17 2008
New Revision: 723885

URL: http://svn.apache.org/viewvc?rev=723885&view=rev
Log:
Use static SimpleDateFormat (FTPSERVER-229)

Modified:
    
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/DateUtils.java

Modified: 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/DateUtils.java
URL: 
http://svn.apache.org/viewvc/mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/DateUtils.java?rev=723885&r1=723884&r2=723885&view=diff
==============================================================================
--- 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/DateUtils.java
 (original)
+++ 
mina/ftpserver/trunk/core/src/main/java/org/apache/ftpserver/util/DateUtils.java
 Fri Dec  5 13:44:17 2008
@@ -40,17 +40,21 @@
     private final static String[] MONTHS = { "Jan", "Feb", "Mar", "Apr", "May",
             "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
 
-    
     /*
      * Creates the DateFormat object used to parse/format
      * dates in FTP format.
      */
-    private  final static DateFormat createFTPDateFormat(){
-        DateFormat df=new SimpleDateFormat("yyyyMMddHHmmss");
-        df.setLenient(false);
-        df.setTimeZone(TimeZone.getTimeZone("GMT"));
-        return df;
-    }
+    private static final ThreadLocal<DateFormat> FTP_DATE_FORMAT = new 
ThreadLocal<DateFormat>() {
+
+        @Override
+        protected DateFormat initialValue() {
+            DateFormat df=new SimpleDateFormat("yyyyMMddHHmmss");
+            df.setLenient(false);
+            df.setTimeZone(TimeZone.getTimeZone("GMT"));
+            return df;
+        }
+        
+    };
     
     /**
      * Get unix style date string.
@@ -221,9 +225,7 @@
      *  involving dates(MFMT, MDTM)
      */
     public final static Date parseFTPDate(String dateStr) throws 
ParseException{
-       // TODO: Here we could use a single DateFormat (in a thread-safe way)  
-       //  instead of one per call 
-        return createFTPDateFormat().parse(dateStr);
+        return FTP_DATE_FORMAT.get().parse(dateStr);
         
     }
     


Reply via email to