Author: nick
Date: Thu Jul 15 09:16:57 2010
New Revision: 964347

URL: http://svn.apache.org/viewvc?rev=964347&view=rev
Log:
When building ISO8601 dates, ensure we're always working in UTC (for TIKA-451)

Modified:
    tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java
    
tika/trunk/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java

Modified: 
tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java?rev=964347&r1=964346&r2=964347&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java 
(original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java 
Thu Jul 15 09:16:57 2010
@@ -25,6 +25,7 @@ import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
 import java.util.Properties;
+import java.util.TimeZone;
 
 /**
  * A multi-valued metadata container.
@@ -38,10 +39,14 @@ public class Metadata implements Creativ
     private Map<String, String[]> metadata = null;
     
     /**
-     * The ISO-8601 format string we use for Dates
+     * The ISO-8601 format string we use for Dates.
+     * All dates are represented as UTC
      */
     private SimpleDateFormat iso8601Format = new SimpleDateFormat(
-            "yyyy-MM-dd'T'HH:mm:ss'Z'Z", new DateFormatSymbols(Locale.US));
+            "yyyy-MM-dd'T'HH:mm:ss'Z'", new DateFormatSymbols(Locale.US));
+    {
+       iso8601Format.setTimeZone(TimeZone.getTimeZone("UTC"));
+    }
 
     /**
      * Constructs a new, empty metadata.

Modified: 
tika/trunk/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java?rev=964347&r1=964346&r2=964347&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java 
(original)
+++ 
tika/trunk/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java 
Thu Jul 15 09:16:57 2010
@@ -270,7 +270,7 @@ public class TestMetadata extends TestCa
         
         // Can set it and retrieve it
         meta.set(Metadata.CREATION_DATE, new Date(1000));
-        assertEquals("1970-01-01T00:00:01Z+0000", 
meta.get(Metadata.CREATION_DATE));
+        assertEquals("1970-01-01T00:00:01Z", meta.get(Metadata.CREATION_DATE));
         assertEquals(1000, meta.getDate(Metadata.CREATION_DATE).getTime());
         
         // If you save a non date value, you get null
@@ -287,7 +287,7 @@ public class TestMetadata extends TestCa
         // Our format doesn't include milliseconds
         // This means things get rounded 
         meta.set(Metadata.CREATION_DATE, new Date(1050));
-        assertEquals("1970-01-01T00:00:01Z+0000", 
meta.get(Metadata.CREATION_DATE));
+        assertEquals("1970-01-01T00:00:01Z", meta.get(Metadata.CREATION_DATE));
         assertEquals(1000, meta.getDate(Metadata.CREATION_DATE).getTime());
     }
 }


Reply via email to