You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streams.apache.org by sb...@apache.org on 2014/05/05 20:53:59 UTC
[12/52] [abbrv] git commit: Updated serialization utilities
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/sblackmon
Commit: 574e10338c1adde054c411cb12d5efd55eaaf1cb
Parents: 41a04f9
Author: mfranklin <mf...@apache.org>
Authored: Mon Mar 31 23:30:48 2014 -0400
Committer: mfranklin <mf...@apache.org>
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);