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

Reply via email to