Merge branch 'STREAMS-241'
Conflicts:
pom.xml
+ minor tweak to how Reflections is instantiated in StreamsJacksonModule to get
rid of warnings during test execution.
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams/commit/c0bdfeb4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams/tree/c0bdfeb4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams/diff/c0bdfeb4
Branch: refs/heads/master
Commit: c0bdfeb48a3b4deb6700cce8afcc6bdec9e29268
Parents: 6c4cf0f 0012cd6
Author: sblackmon <[email protected]>
Authored: Thu Dec 11 12:45:02 2014 -0600
Committer: sblackmon <[email protected]>
Committed: Thu Dec 11 12:45:02 2014 -0600
----------------------------------------------------------------------
pom.xml | 21 ++++++-
streams-pojo/pom.xml | 19 ++++++
.../apache/streams/data/util/ActivityUtil.java | 7 +++
.../jackson/StreamsDateTimeDeserializer.java | 10 +++-
.../streams/jackson/StreamsDateTimeFormat.java | 12 ++++
.../jackson/StreamsDateTimeSerializer.java | 5 +-
.../streams/jackson/StreamsJacksonMapper.java | 20 ++++++-
.../streams/jackson/StreamsJacksonModule.java | 35 ++++++++++-
.../data/data/util/CustomDateTimeFormat.java | 14 +++++
.../data/util/CustomDateTimeFormatTest.java | 61 ++++++++++++++++++++
.../data/data/util/DateTimeSerDeTest.java | 3 +-
.../streams/data/data/util/JsonUtilTest.java | 31 ----------
.../data/data/util/RFC3339UtilsTest.java | 3 +
13 files changed, 200 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/c0bdfeb4/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index f9fbf9b,0969d38..265a3e3
--- a/pom.xml
+++ b/pom.xml
@@@ -77,16 -76,12 +77,17 @@@
<junit.version>4.11</junit.version>
<surefire.plugin.version>2.17</surefire.plugin.version>
<failsafe.plugin.version>2.17</failsafe.plugin.version>
+ <war.plugin.version>2.5</war.plugin.version>
+ <resources.plugin.version>2.7</resources.plugin.version>
<slf4j.version>1.7.6</slf4j.version>
+ <log4j.version>1.2.16</log4j.version>
<logback.version>1.1.1</logback.version>
<commons-io.version>2.4</commons-io.version>
+ <commons-codec.version>1.10</commons-codec.version>
+ <commons-validator.version>1.4.0</commons-validator.version>
<commons-lang3.version>3.1</commons-lang3.version>
<typesafe.config.version>1.2.0</typesafe.config.version>
+ <reflections.version>0.9.9</reflections.version>
<orgjson.version>20140107</orgjson.version>
<guava.version>17.0</guava.version>
<scala.version>2.8.0</scala.version>
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/c0bdfeb4/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsJacksonModule.java
----------------------------------------------------------------------
diff --cc
streams-pojo/src/main/java/org/apache/streams/jackson/StreamsJacksonModule.java
index 8b44b0f,654a063..4e02441
---
a/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsJacksonModule.java
+++
b/streams-pojo/src/main/java/org/apache/streams/jackson/StreamsJacksonModule.java
@@@ -22,17 -22,44 +22,47 @@@ import com.fasterxml.jackson.databind.m
import org.joda.time.DateTime;
import org.joda.time.Period;
+ import org.reflections.Reflections;
++import org.reflections.scanners.SubTypesScanner;
+ import org.reflections.util.ClasspathHelper;
+ import org.reflections.util.ConfigurationBuilder;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+
+ import java.util.ArrayList;
import java.util.List;
+ import java.util.Set;
/**
- * Created by sblackmon on 3/27/14.
+ * StreamsJacksonModule is a supporting class for
+ * @see {@link org.apache.streams.jackson.StreamsJacksonMapper}
+ *
+ * RFC3339 dates are supported by default.
*/
public class StreamsJacksonModule extends SimpleModule {
+ private final static Logger LOGGER =
LoggerFactory.getLogger(StreamsJacksonModule.class);
+
public StreamsJacksonModule() {
super();
+
- Reflections reflections = new Reflections(new
ConfigurationBuilder().setUrls(ClasspathHelper.forManifest()));
++ Reflections reflections = new Reflections(new ConfigurationBuilder()
++
.setUrls(ClasspathHelper.forPackage("org.apache.streams.jackson"))
++ .setScanners(new
SubTypesScanner()));
+
+ Set<Class<? extends StreamsDateTimeFormat>> dateTimeFormatClasses =
reflections.getSubTypesOf(StreamsDateTimeFormat.class);
+
+ List<String> dateTimeFormats = new ArrayList<>();
+ for (Class dateTimeFormatClass : dateTimeFormatClasses) {
+ try {
+ dateTimeFormats.add(((StreamsDateTimeFormat)
(dateTimeFormatClass.newInstance())).getFormat());
+ } catch (Exception e) {
+ LOGGER.warn("Exception getting format from " +
dateTimeFormatClass);
+ }
+ }
+
addSerializer(DateTime.class, new
StreamsDateTimeSerializer(DateTime.class));
- addDeserializer(DateTime.class, new
StreamsDateTimeDeserializer(DateTime.class));
+ addDeserializer(DateTime.class, new
StreamsDateTimeDeserializer(DateTime.class, dateTimeFormats));
addSerializer(Period.class, new
StreamsPeriodSerializer(Period.class));
addDeserializer(Period.class, new
StreamsPeriodDeserializer(Period.class));