Updated serialization utilities

Project: http://git-wip-us.apache.org/repos/asf/incubator-streams/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams/commit/574e1033
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams/tree/574e1033
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams/diff/574e1033

Branch: refs/heads/master
Commit: 574e10338c1adde054c411cb12d5efd55eaaf1cb
Parents: 41a04f9
Author: mfranklin <[email protected]>
Authored: Mon Mar 31 23:30:48 2014 -0400
Committer: mfranklin <[email protected]>
Committed: Mon Mar 31 23:30:48 2014 -0400

----------------------------------------------------------------------
 .../apache/streams/data/util/RFC3339Utils.java  |  9 ++++----
 .../jackson/StreamsDateTimeDeserializer.java    | 23 ++------------------
 .../jackson/StreamsDateTimeSerializer.java      |  5 ++---
 .../streams/jackson/StreamsJacksonMapper.java   |  2 --
 .../data/data/util/DateTimeSerDeTest.java       |  2 +-
 5 files changed, 9 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/574e1033/streams-pojo/src/main/java/org/apache/streams/data/util/RFC3339Utils.java
----------------------------------------------------------------------
diff --git 
a/streams-pojo/src/main/java/org/apache/streams/data/util/RFC3339Utils.java 
b/streams-pojo/src/main/java/org/apache/streams/data/util/RFC3339Utils.java
index daf73a6..7af16c4 100644
--- a/streams-pojo/src/main/java/org/apache/streams/data/util/RFC3339Utils.java
+++ b/streams-pojo/src/main/java/org/apache/streams/data/util/RFC3339Utils.java
@@ -22,7 +22,6 @@ import org.joda.time.DateTimeZone;
 import org.joda.time.format.DateTimeFormat;
 import org.joda.time.format.DateTimeFormatter;
 
-import java.util.Locale;
 import java.util.TimeZone;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -43,10 +42,10 @@ public class RFC3339Utils {
     private static final Pattern LOCAL_SUB_SECOND = Pattern.compile(BASE + 
SUB_SECOND + TZ);
 
     private static final String BASE_FMT = "yyyy-MM-dd'T'HH:mm:ss";
-    private static final DateTimeFormatter UTC_STANDARD_FMT = 
DateTimeFormat.forPattern(BASE_FMT + "'Z'").withZoneUTC();
-    private static final DateTimeFormatter UTC_SUB_SECOND_FMT = 
DateTimeFormat.forPattern(BASE_FMT + ".SSS'Z'").withZoneUTC();
-    private static final DateTimeFormatter LOCAL_STANDARD_FMT = 
DateTimeFormat.forPattern(BASE_FMT + "Z").withZoneUTC();
-    private static final DateTimeFormatter LOCAL_SUB_SECOND_FMT = 
DateTimeFormat.forPattern(BASE_FMT + ".SSSZ").withZoneUTC();
+    public static final DateTimeFormatter UTC_STANDARD_FMT = 
DateTimeFormat.forPattern(BASE_FMT + "'Z'").withZoneUTC();
+    public static final DateTimeFormatter UTC_SUB_SECOND_FMT = 
DateTimeFormat.forPattern(BASE_FMT + ".SSS'Z'").withZoneUTC();
+    public static final DateTimeFormatter LOCAL_STANDARD_FMT = 
DateTimeFormat.forPattern(BASE_FMT + "Z").withZoneUTC();
+    public static final DateTimeFormatter LOCAL_SUB_SECOND_FMT = 
DateTimeFormat.forPattern(BASE_FMT + ".SSSZ").withZoneUTC();
 
 
     private RFC3339Utils() {}

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/574e1033/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsDateTimeDeserializer.java
----------------------------------------------------------------------
diff --git 
a/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsDateTimeDeserializer.java
 
b/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsDateTimeDeserializer.java
index 34459fd..8d56c53 100644
--- 
a/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsDateTimeDeserializer.java
+++ 
b/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsDateTimeDeserializer.java
@@ -3,11 +3,10 @@ package org.apache.streams.jackson;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.databind.DeserializationContext;
 import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
+import org.apache.streams.data.util.RFC3339Utils;
 import org.joda.time.DateTime;
-import org.joda.time.DateTimeZone;
 
 import java.io.IOException;
-import java.util.regex.Pattern;
 
 /**
  * Created by sblackmon on 3/27/14.
@@ -20,24 +19,6 @@ public class StreamsDateTimeDeserializer extends 
StdDeserializer<DateTime> {
 
     @Override
     public DateTime deserialize(JsonParser jpar, DeserializationContext 
context) throws IOException {
-        DateTime result = null;
-
-        if( jpar.getCurrentToken().isNumeric() ) {
-            Long numberValue = jpar.getValueAsLong();
-            if (numberValue != 0L) {
-                result = new DateTime(numberValue);
-            }
-        }
-        else {
-            String nodeValue = jpar.getValueAsString();
-            if (nodeValue != null) {
-                result = 
StreamsJacksonMapper.ACTIVITY_FORMAT.parseDateTime(nodeValue);
-            }
-        }
-
-        if( result == null )
-            throw new IOException(" could not deserialize " + jpar.toString());
-
-        return result;
+        return RFC3339Utils.parseUTC(jpar.getValueAsString());
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/574e1033/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsDateTimeSerializer.java
----------------------------------------------------------------------
diff --git 
a/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsDateTimeSerializer.java
 
b/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsDateTimeSerializer.java
index 08a3caf..4677fce 100644
--- 
a/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsDateTimeSerializer.java
+++ 
b/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsDateTimeSerializer.java
@@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonGenerationException;
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.SerializerProvider;
 import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import org.apache.streams.data.util.RFC3339Utils;
 import org.joda.time.DateTime;
 import org.joda.time.format.DateTimeFormat;
 import org.joda.time.format.DateTimeFormatter;
@@ -22,8 +23,6 @@ public class StreamsDateTimeSerializer extends 
StdSerializer<DateTime> {
 
     @Override
     public void serialize(DateTime value, JsonGenerator jgen, 
SerializerProvider provider) throws IOException {
-        long timestamp = value.getMillis();
-        String result = StreamsJacksonMapper.ACTIVITY_FORMAT.print(timestamp);
-        jgen.writeString(result);
+        jgen.writeString(RFC3339Utils.format(value));
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/574e1033/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsJacksonMapper.java
----------------------------------------------------------------------
diff --git 
a/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsJacksonMapper.java
 
b/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsJacksonMapper.java
index 4b0c2d5..275ed7e 100644
--- 
a/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsJacksonMapper.java
+++ 
b/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsJacksonMapper.java
@@ -21,8 +21,6 @@ import java.io.IOException;
  */
 public class StreamsJacksonMapper extends ObjectMapper {
 
-    public static final DateTimeFormatter ACTIVITY_FORMAT = 
DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
-
     private static final StreamsJacksonMapper INSTANCE = new 
StreamsJacksonMapper();
 
     public static StreamsJacksonMapper getInstance(){

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/574e1033/streams-pojo/src/test/java/org/apache/streams/data/data/util/DateTimeSerDeTest.java
----------------------------------------------------------------------
diff --git 
a/streams-pojo/src/test/java/org/apache/streams/data/data/util/DateTimeSerDeTest.java
 
b/streams-pojo/src/test/java/org/apache/streams/data/data/util/DateTimeSerDeTest.java
index 217abd4..fe1a6b6 100644
--- 
a/streams-pojo/src/test/java/org/apache/streams/data/data/util/DateTimeSerDeTest.java
+++ 
b/streams-pojo/src/test/java/org/apache/streams/data/data/util/DateTimeSerDeTest.java
@@ -48,7 +48,7 @@ public class DateTimeSerDeTest {
     @Test
     public void testActivityStringDeser() {
         String output = "2012-01-17T21:21:46.000Z";
-        long inputMillis = 1326856906000l;
+        long inputMillis = 1326835306000L;
         DateTime input;
         try {
             input = new DateTime(inputMillis);

Reply via email to