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());
}
}