You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wink.apache.org by bl...@apache.org on 2011/04/12 17:46:26 UTC

svn commit: r1091479 - /incubator/wink/trunk/wink-webdav/src/main/java/org/apache/wink/webdav/model/WebDAVModelHelper.java

Author: bluk
Date: Tue Apr 12 15:46:26 2011
New Revision: 1091479

URL: http://svn.apache.org/viewvc?rev=1091479&view=rev
Log:
SimpleDateFormat is not thread safe so create new instance

Fixes [WINK-329]

Thanks to Mirko Friedenhagen for reporting the issue.

Modified:
    incubator/wink/trunk/wink-webdav/src/main/java/org/apache/wink/webdav/model/WebDAVModelHelper.java

Modified: incubator/wink/trunk/wink-webdav/src/main/java/org/apache/wink/webdav/model/WebDAVModelHelper.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-webdav/src/main/java/org/apache/wink/webdav/model/WebDAVModelHelper.java?rev=1091479&r1=1091478&r2=1091479&view=diff
==============================================================================
--- incubator/wink/trunk/wink-webdav/src/main/java/org/apache/wink/webdav/model/WebDAVModelHelper.java (original)
+++ incubator/wink/trunk/wink-webdav/src/main/java/org/apache/wink/webdav/model/WebDAVModelHelper.java Tue Apr 12 15:46:26 2011
@@ -47,15 +47,12 @@ public class WebDAVModelHelper {
     private static final DocumentBuilderFactory documentBuilderFactory;
     private static final Document               document;
     private static final String                 XML_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"; //$NON-NLS-1$
-    private static final SimpleDateFormat       dateFormat;
 
     static {
         try {
             context = JAXBContext.newInstance(Propertyupdate.class.getPackage().getName());
             documentBuilderFactory = DocumentBuilderFactory.newInstance();
             document = documentBuilderFactory.newDocumentBuilder().newDocument();
-            dateFormat = new SimpleDateFormat(XML_DATE_FORMAT);
-            dateFormat.setLenient(false);
         } catch (Exception e) {
             throw new RestException(Messages.getMessage("webDAVFailSetupPropertyHelper"), e); //$NON-NLS-1$
         }
@@ -103,7 +100,7 @@ public class WebDAVModelHelper {
             if (!(elementClass.equals(object.getClass()))) {
                 throw new RestException(Messages
                     .getMessage("webDAVIncompatibleTypeInRequest", elementName, object.getClass() //$NON-NLS-1$
-                    .getName(), elementClass.getName()));
+                        .getName(), elementClass.getName()));
             }
             return (T)object;
         } catch (JAXBException e) {
@@ -199,10 +196,14 @@ public class WebDAVModelHelper {
     }
 
     public static String convertDateToXMLDate(Date date) {
+        SimpleDateFormat dateFormat = new SimpleDateFormat(XML_DATE_FORMAT);
+        dateFormat.setLenient(false);
         return dateFormat.format(date);
     }
 
     public static Date convertXMLDateToDate(String date) throws ParseException {
+        SimpleDateFormat dateFormat = new SimpleDateFormat(XML_DATE_FORMAT);
+        dateFormat.setLenient(false);
         return dateFormat.parse(date);
     }