Repository: incubator-streams Updated Branches: refs/heads/springcleaning b59bcd28b -> 9e757aed9
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/9e757aed/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 new file mode 100644 index 0000000..4b3c4d1 --- /dev/null +++ b/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsDateTimeDeserializer.java @@ -0,0 +1,32 @@ +package org.apache.streams.jackson; + +import com.fasterxml.jackson.core.JsonGenerationException; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import org.joda.time.DateTime; +import org.joda.time.format.DateTimeFormatter; +import org.joda.time.format.ISODateTimeFormat; + +import java.io.IOException; + +/** + * Created by sblackmon on 3/27/14. + */ +public class StreamsDateTimeDeserializer extends StdDeserializer<DateTime> { + + public static final DateTimeFormatter ACTIVITY_FORMAT = ISODateTimeFormat.basicDateTime(); + + protected StreamsDateTimeDeserializer(Class<DateTime> dateTimeClass) { + super(dateTimeClass); + } + + @Override + public DateTime deserialize(JsonParser jpar, DeserializationContext context) throws IOException, JsonProcessingException { + return ACTIVITY_FORMAT.parseDateTime(jpar.getValueAsString()); + } +} http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/9e757aed/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 new file mode 100644 index 0000000..b905bf4 --- /dev/null +++ b/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsDateTimeSerializer.java @@ -0,0 +1,28 @@ +package org.apache.streams.jackson; + +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.joda.time.DateTime; +import org.joda.time.format.DateTimeFormatter; +import org.joda.time.format.ISODateTimeFormat; + +import java.io.IOException; + +/** + * Created by sblackmon on 3/27/14. + */ +public class StreamsDateTimeSerializer extends StdSerializer<DateTime> { + + public static final DateTimeFormatter ACTIVITY_FORMAT = ISODateTimeFormat.basicDateTime(); + + protected StreamsDateTimeSerializer(Class<DateTime> dateTimeClass) { + super(dateTimeClass); + } + + @Override + public void serialize(DateTime value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { + jgen.writeString(ACTIVITY_FORMAT.print(value)); + } +} http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/9e757aed/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsJacksonModule.java ---------------------------------------------------------------------- diff --git a/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsJacksonModule.java b/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsJacksonModule.java new file mode 100644 index 0000000..8edd963 --- /dev/null +++ b/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsJacksonModule.java @@ -0,0 +1,16 @@ +package org.apache.streams.jackson; + +import com.fasterxml.jackson.databind.module.SimpleModule; +import org.joda.time.DateTime; + +/** + * Created by sblackmon on 3/27/14. + */ +public class StreamsJacksonModule extends SimpleModule { + + public StreamsJacksonModule() { + super(); + addSerializer(DateTime.class, new StreamsDateTimeSerializer(DateTime.class)); + addDeserializer(DateTime.class, new StreamsDateTimeDeserializer(DateTime.class)); + } +} http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/9e757aed/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/activity.json ---------------------------------------------------------------------- diff --git a/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/activity.json b/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/activity.json index 2cdd233..fa74486 100644 --- a/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/activity.json +++ b/streams-pojo/src/main/jsonschema/org/apache/streams/pojo/json/activity.json @@ -79,7 +79,9 @@ "type" : "array", "description" :"Links between this object and other resources as defined in Web Linking", "note": "Tell JSON schema team to not put links inside http://json-schema.org/hyper-schema#properties", - "properties" : {"$ref" : "http://json-schema.org/links#properties"} + "items": { + "type" : "string" + } } }, "links": [