removed all usage of ActivityUtil.ensureExtensions

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

Branch: refs/heads/master
Commit: e046c76cb156554d92c1943efda92d1599188113
Parents: 4950472
Author: sblackmon <sblack...@apache.org>
Authored: Fri Nov 21 16:57:46 2014 -0600
Committer: sblackmon <sblack...@apache.org>
Committed: Fri Nov 21 16:57:46 2014 -0600

----------------------------------------------------------------------
 .../http/processor/SimpleHTTPGetProcessor.java  |   2 +-
 .../streams-persist-elasticsearch/pom.xml       |   5 +
 .../processor/PercolateTagProcessor.java        |   3 +-
 .../peoplepattern/AccountTypeProcessor.java     |   2 +-
 .../peoplepattern/DemographicsProcessor.java    |   2 +-
 streams-contrib/streams-processor-regex/pom.xml |   6 +-
 .../regex/AbstractRegexExtensionExtractor.java  |   5 +-
 .../regex/RegexHashtagExtractorTest.java        |   4 +-
 .../regex/RegexMentionExtractorTest.java        |   4 +-
 .../DatasiftInstagramActivitySerializer.java    |   3 +-
 .../DatasiftInteractionActivitySerializer.java  |   5 +-
 .../DatasiftTwitterActivitySerializer.java      |   5 +-
 .../serializer/FacebookActivityUtil.java        |   3 +-
 .../gnip-edc-googleplus/pom.xml                 |   6 +
 .../com/gplus/api/GPlusActivitySerializer.java  |   4 +-
 .../gnip-edc-reddit/pom.xml                     |   6 +
 .../reddit/api/RedditActivitySerializer.java    |   4 +-
 .../google-gmail/pom.xml                        |   4 +
 .../GMailMessageActivitySerializer.java         |  15 +-
 .../google-gplus/pom.xml                        |   4 +
 .../serializer/util/GooglePlusActivityUtil.java |   3 +-
 .../streams-provider-instagram/pom.xml          |   4 +
 .../serializer/util/InstagramActivityUtil.java  |   5 +-
 .../streams-provider-moreover/pom.xml           |   4 +
 .../apache/streams/data/util/MoreoverUtils.java |   5 +-
 streams-contrib/streams-provider-rss/pom.xml    |   4 +
 .../serializer/SyndEntryActivitySerializer.java |   2 -
 .../streams-provider-sysomos/pom.xml            |   4 +
 .../SysomosBeatActivityConverter.java           |   3 +-
 .../streams-provider-twitter/README.markdown    |  48 ------
 .../streams-provider-twitter/README.md          |  38 +++++
 .../apache/streams/data/util/ExtensionUtil.java | 154 -------------------
 .../streams/pojo/extensions/ExtensionUtil.java  | 154 +++++++++++++++++++
 .../apache/streams/data/util/ActivityUtil.java  |   3 +
 34 files changed, 278 insertions(+), 245 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPGetProcessor.java
----------------------------------------------------------------------
diff --git 
a/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPGetProcessor.java
 
b/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPGetProcessor.java
index b8c957c..b8e3150 100644
--- 
a/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPGetProcessor.java
+++ 
b/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPGetProcessor.java
@@ -37,7 +37,7 @@ import 
org.apache.streams.components.http.HttpProcessorConfiguration;
 import org.apache.streams.config.StreamsConfigurator;
 import org.apache.streams.core.StreamsDatum;
 import org.apache.streams.core.StreamsProcessor;
-import org.apache.streams.data.util.ExtensionUtil;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.jackson.StreamsJacksonMapper;
 import org.apache.streams.pojo.json.ActivityObject;
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-persist-elasticsearch/pom.xml
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-persist-elasticsearch/pom.xml 
b/streams-contrib/streams-persist-elasticsearch/pom.xml
index b75c38d..4ddd5fc 100644
--- a/streams-contrib/streams-persist-elasticsearch/pom.xml
+++ b/streams-contrib/streams-persist-elasticsearch/pom.xml
@@ -57,6 +57,11 @@
         </dependency>
         <dependency>
             <groupId>org.apache.streams</groupId>
+            <artifactId>streams-pojo-extensions</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.streams</groupId>
             <artifactId>streams-util</artifactId>
             <version>${project.version}</version>
         </dependency>

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-persist-elasticsearch/src/main/java/org/apache/streams/elasticsearch/processor/PercolateTagProcessor.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-persist-elasticsearch/src/main/java/org/apache/streams/elasticsearch/processor/PercolateTagProcessor.java
 
b/streams-contrib/streams-persist-elasticsearch/src/main/java/org/apache/streams/elasticsearch/processor/PercolateTagProcessor.java
index ca9be8d..32ff131 100644
--- 
a/streams-contrib/streams-persist-elasticsearch/src/main/java/org/apache/streams/elasticsearch/processor/PercolateTagProcessor.java
+++ 
b/streams-contrib/streams-persist-elasticsearch/src/main/java/org/apache/streams/elasticsearch/processor/PercolateTagProcessor.java
@@ -28,6 +28,7 @@ import com.google.common.collect.Lists;
 import org.apache.streams.core.StreamsDatum;
 import org.apache.streams.core.StreamsProcessor;
 import org.apache.streams.data.util.ActivityUtil;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.elasticsearch.ElasticsearchClientManager;
 import org.apache.streams.elasticsearch.ElasticsearchConfiguration;
 import org.apache.streams.elasticsearch.ElasticsearchWriterConfiguration;
@@ -181,7 +182,7 @@ public class PercolateTagProcessor implements 
StreamsProcessor {
     }
 
     protected void appendMatches(ArrayNode tagArray, Activity activity) {
-        Map<String, Object> extensions = 
ActivityUtil.ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
 
         extensions.put(TAGS_EXTENSION, tagArray);
 

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-processor-peoplepattern/src/main/java/org/apache/streams/peoplepattern/AccountTypeProcessor.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-processor-peoplepattern/src/main/java/org/apache/streams/peoplepattern/AccountTypeProcessor.java
 
b/streams-contrib/streams-processor-peoplepattern/src/main/java/org/apache/streams/peoplepattern/AccountTypeProcessor.java
index 4e4a6af..d30922e 100644
--- 
a/streams-contrib/streams-processor-peoplepattern/src/main/java/org/apache/streams/peoplepattern/AccountTypeProcessor.java
+++ 
b/streams-contrib/streams-processor-peoplepattern/src/main/java/org/apache/streams/peoplepattern/AccountTypeProcessor.java
@@ -24,7 +24,7 @@ import 
org.apache.streams.components.http.HttpProcessorConfiguration;
 import org.apache.streams.components.http.processor.SimpleHTTPGetProcessor;
 import org.apache.streams.config.StreamsConfigurator;
 import org.apache.streams.core.StreamsDatum;
-import org.apache.streams.data.util.ExtensionUtil;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.Activity;
 import org.apache.streams.pojo.json.ActivityObject;
 import org.apache.streams.pojo.json.Actor;

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-processor-peoplepattern/src/main/java/org/apache/streams/peoplepattern/DemographicsProcessor.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-processor-peoplepattern/src/main/java/org/apache/streams/peoplepattern/DemographicsProcessor.java
 
b/streams-contrib/streams-processor-peoplepattern/src/main/java/org/apache/streams/peoplepattern/DemographicsProcessor.java
index 60db379..68016b8 100644
--- 
a/streams-contrib/streams-processor-peoplepattern/src/main/java/org/apache/streams/peoplepattern/DemographicsProcessor.java
+++ 
b/streams-contrib/streams-processor-peoplepattern/src/main/java/org/apache/streams/peoplepattern/DemographicsProcessor.java
@@ -24,7 +24,7 @@ import 
org.apache.streams.components.http.HttpProcessorConfiguration;
 import org.apache.streams.components.http.processor.SimpleHTTPGetProcessor;
 import org.apache.streams.config.StreamsConfigurator;
 import org.apache.streams.core.StreamsDatum;
-import org.apache.streams.data.util.ExtensionUtil;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.Activity;
 import org.apache.streams.pojo.json.ActivityObject;
 import org.apache.streams.pojo.json.Actor;

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-processor-regex/pom.xml
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-processor-regex/pom.xml 
b/streams-contrib/streams-processor-regex/pom.xml
index 57f661a..92e93ba 100644
--- a/streams-contrib/streams-processor-regex/pom.xml
+++ b/streams-contrib/streams-processor-regex/pom.xml
@@ -33,11 +33,15 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.streams</groupId>
+            <artifactId>streams-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.streams</groupId>
             <artifactId>streams-pojo</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.streams</groupId>
-            <artifactId>streams-core</artifactId>
+            <artifactId>streams-pojo-extensions</artifactId>
         </dependency>
     </dependencies>
 </project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-processor-regex/src/main/java/org/apache/streams/regex/AbstractRegexExtensionExtractor.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-processor-regex/src/main/java/org/apache/streams/regex/AbstractRegexExtensionExtractor.java
 
b/streams-contrib/streams-processor-regex/src/main/java/org/apache/streams/regex/AbstractRegexExtensionExtractor.java
index 88b2880..8b955ab 100644
--- 
a/streams-contrib/streams-processor-regex/src/main/java/org/apache/streams/regex/AbstractRegexExtensionExtractor.java
+++ 
b/streams-contrib/streams-processor-regex/src/main/java/org/apache/streams/regex/AbstractRegexExtensionExtractor.java
@@ -27,6 +27,7 @@ import com.google.common.collect.Sets;
 import org.apache.streams.core.StreamsDatum;
 import org.apache.streams.core.StreamsProcessor;
 import org.apache.streams.jackson.StreamsJacksonMapper;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.Activity;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -36,8 +37,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import static org.apache.streams.data.util.ActivityUtil.ensureExtensions;
-
 /**
  * Provides a base implementation for extracting entities from text using 
regular expressions and then
  * modifying the appropriate {@link org.apache.streams.pojo.json.Activity} 
extensions object.
@@ -112,7 +111,7 @@ public abstract class AbstractRegexExtensionExtractor<T> 
implements StreamsProce
 
     @SuppressWarnings("unchecked")
     protected Collection<T> ensureTargetObject(Activity activity) {
-        Map<String, Object> extensions = ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
         Set<T> hashtags;
         if(extensions.containsKey(extensionKey) && 
extensions.get(extensionKey) != null) {
             hashtags = Sets.newHashSet((Iterable<T>) 
extensions.get(extensionKey));

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-processor-regex/src/test/java/org/apache/streams/regex/RegexHashtagExtractorTest.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-processor-regex/src/test/java/org/apache/streams/regex/RegexHashtagExtractorTest.java
 
b/streams-contrib/streams-processor-regex/src/test/java/org/apache/streams/regex/RegexHashtagExtractorTest.java
index 55e007e..e4f2257 100644
--- 
a/streams-contrib/streams-processor-regex/src/test/java/org/apache/streams/regex/RegexHashtagExtractorTest.java
+++ 
b/streams-contrib/streams-processor-regex/src/test/java/org/apache/streams/regex/RegexHashtagExtractorTest.java
@@ -22,6 +22,7 @@ package org.apache.streams.regex;
 
 import com.google.common.collect.Sets;
 import org.apache.streams.core.StreamsDatum;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.Activity;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -32,7 +33,6 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Set;
 
-import static org.apache.streams.data.util.ActivityUtil.ensureExtensions;
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
@@ -67,7 +67,7 @@ public class RegexHashtagExtractorTest {
         List<StreamsDatum> result = new RegexHashtagExtractor().process(datum);
         assertThat(result.size(), is(equalTo(1)));
         Activity output = (Activity)result.get(0).getDocument();
-        Set<String> extracted = (Set) 
ensureExtensions(output).get(RegexHashtagExtractor.EXTENSION_KEY);
+        Set<String> extracted = (Set) 
ExtensionUtil.ensureExtensions(output).get(RegexHashtagExtractor.EXTENSION_KEY);
         Sets.SetView<String> diff = Sets.difference(extracted, hashtags);
         assertThat(diff.size(), is(equalTo(0)));
     }

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-processor-regex/src/test/java/org/apache/streams/regex/RegexMentionExtractorTest.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-processor-regex/src/test/java/org/apache/streams/regex/RegexMentionExtractorTest.java
 
b/streams-contrib/streams-processor-regex/src/test/java/org/apache/streams/regex/RegexMentionExtractorTest.java
index 0379c09..8aa6561 100644
--- 
a/streams-contrib/streams-processor-regex/src/test/java/org/apache/streams/regex/RegexMentionExtractorTest.java
+++ 
b/streams-contrib/streams-processor-regex/src/test/java/org/apache/streams/regex/RegexMentionExtractorTest.java
@@ -22,6 +22,7 @@ package org.apache.streams.regex;
 
 import com.google.common.collect.Sets;
 import org.apache.streams.core.StreamsDatum;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.Activity;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -29,7 +30,6 @@ import org.junit.runners.Parameterized;
 
 import java.util.*;
 
-import static org.apache.streams.data.util.ActivityUtil.ensureExtensions;
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
@@ -76,7 +76,7 @@ public class RegexMentionExtractorTest {
         List<StreamsDatum> result = new 
RegexMentionsExtractor().process(datum);
         assertThat(result.size(), is(equalTo(1)));
         Activity output = (Activity)result.get(0).getDocument();
-        Set<String> extracted = (Set) 
ensureExtensions(output).get(RegexMentionsExtractor.EXTENSION_KEY);
+        Set<String> extracted = (Set) 
ExtensionUtil.ensureExtensions(output).get(RegexMentionsExtractor.EXTENSION_KEY);
         Sets.SetView<String> diff = Sets.difference(extracted, mentions);
         assertThat(diff.size(), is(equalTo(0)));
     }

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftInstagramActivitySerializer.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftInstagramActivitySerializer.java
 
b/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftInstagramActivitySerializer.java
index d121d65..03d6735 100644
--- 
a/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftInstagramActivitySerializer.java
+++ 
b/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftInstagramActivitySerializer.java
@@ -25,6 +25,7 @@ import org.apache.streams.datasift.Datasift;
 import org.apache.streams.datasift.instagram.From;
 import org.apache.streams.datasift.instagram.Instagram;
 import org.apache.streams.instagram.serializer.util.InstagramActivityUtil;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.Activity;
 import org.apache.streams.pojo.json.Actor;
 import org.apache.streams.pojo.json.Image;
@@ -97,7 +98,7 @@ public class DatasiftInstagramActivitySerializer extends 
DatasiftInteractionActi
     }
 
     public void addInstagramExtensions(Activity activity, Instagram instagram) 
{
-        Map<String, Object> extensions = ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
         List<String> hashTags;
         if(instagram.getMedia() != null) {
             hashTags = instagram.getMedia().getTags();

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftInteractionActivitySerializer.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftInteractionActivitySerializer.java
 
b/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftInteractionActivitySerializer.java
index c856dc2..573f5a7 100644
--- 
a/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftInteractionActivitySerializer.java
+++ 
b/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftInteractionActivitySerializer.java
@@ -9,6 +9,7 @@ import org.apache.streams.datasift.Datasift;
 import org.apache.streams.datasift.interaction.Interaction;
 import org.apache.streams.datasift.links.Links;
 import org.apache.streams.datasift.util.StreamsDatasiftMapper;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -102,7 +103,7 @@ public class DatasiftInteractionActivitySerializer 
implements ActivitySerializer
     }
 
     public static void addDatasiftExtension(Activity activity, Datasift 
datasift) {
-        Map<String, Object> extensions = 
org.apache.streams.data.util.ActivityUtil.ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
         extensions.put("datasift", datasift);
     }
 
@@ -205,7 +206,7 @@ public class DatasiftInteractionActivitySerializer 
implements ActivitySerializer
     }
 
     public static void addLocationExtension(Activity activity, Interaction 
interaction) {
-        Map<String, Object> extensions = ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
         Map<String, Object> location = new HashMap<String, Object>();
         Map<String, Double> coordinates = new HashMap<String, Double>();
         coordinates.put("latitude", interaction.getGeo().getLatitude());

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftTwitterActivitySerializer.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftTwitterActivitySerializer.java
 
b/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftTwitterActivitySerializer.java
index 8ac84f6..05e1b35 100644
--- 
a/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftTwitterActivitySerializer.java
+++ 
b/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftTwitterActivitySerializer.java
@@ -29,6 +29,7 @@ import org.apache.streams.datasift.interaction.Interaction;
 import org.apache.streams.datasift.twitter.DatasiftTwitterUser;
 import org.apache.streams.datasift.twitter.Retweet;
 import org.apache.streams.datasift.twitter.Twitter;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.Activity;
 import org.apache.streams.pojo.json.Actor;
 import org.apache.streams.pojo.json.Image;
@@ -180,7 +181,7 @@ public class DatasiftTwitterActivitySerializer extends 
DatasiftInteractionActivi
     }
 
     public void addLocationExtension(Activity activity, Twitter twitter) {
-        Map<String, Object> extensions = ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
         Map<String, Object> location = Maps.newHashMap();
         double[] coordiantes = new double[] { twitter.getGeo().getLongitude(), 
twitter.getGeo().getLatitude() };
         Map<String, Object> coords = Maps.newHashMap();
@@ -192,7 +193,7 @@ public class DatasiftTwitterActivitySerializer extends 
DatasiftInteractionActivi
 
     public void addTwitterExtensions(Activity activity, Twitter twitter, 
Interaction interaction) {
         Retweet retweet = twitter.getRetweet();
-        Map<String, Object> extensions = ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
         List<String> hashTags = Lists.newLinkedList();
         List<Object> hts = Lists.newLinkedList();
         if(twitter.getHashtags() != null) {

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-facebook/src/main/java/org/apache/streams/facebook/serializer/FacebookActivityUtil.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-provider-facebook/src/main/java/org/apache/streams/facebook/serializer/FacebookActivityUtil.java
 
b/streams-contrib/streams-provider-facebook/src/main/java/org/apache/streams/facebook/serializer/FacebookActivityUtil.java
index 49f2880..68ef3e7 100644
--- 
a/streams-contrib/streams-provider-facebook/src/main/java/org/apache/streams/facebook/serializer/FacebookActivityUtil.java
+++ 
b/streams-contrib/streams-provider-facebook/src/main/java/org/apache/streams/facebook/serializer/FacebookActivityUtil.java
@@ -28,6 +28,7 @@ import org.apache.streams.facebook.*;
 import org.apache.streams.facebook.Place;
 import org.apache.streams.facebook.Post;
 import org.apache.streams.jackson.StreamsJacksonMapper;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -206,7 +207,7 @@ public class FacebookActivityUtil {
      */
     public static void buildExtensions(Activity activity, Post post) {
         ObjectMapper mapper = StreamsJacksonMapper.getInstance();
-        Map<String, Object> extensions = ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
 
         if(post.getLikes() != null) {
             Map<String, Object> likes = Maps.newHashMap();

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-gnip/gnip-edc-googleplus/pom.xml
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-gnip/gnip-edc-googleplus/pom.xml 
b/streams-contrib/streams-provider-gnip/gnip-edc-googleplus/pom.xml
index 03f74c1..28eaf24 100644
--- a/streams-contrib/streams-provider-gnip/gnip-edc-googleplus/pom.xml
+++ b/streams-contrib/streams-provider-gnip/gnip-edc-googleplus/pom.xml
@@ -48,6 +48,12 @@
 
         <dependency>
             <groupId>org.apache.streams</groupId>
+            <artifactId>streams-pojo-extensions</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.streams</groupId>
             <artifactId>gnip-powertrack</artifactId>
             <version>${project.version}</version>
         </dependency>

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-gnip/gnip-edc-googleplus/src/main/java/com/gplus/api/GPlusActivitySerializer.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-provider-gnip/gnip-edc-googleplus/src/main/java/com/gplus/api/GPlusActivitySerializer.java
 
b/streams-contrib/streams-provider-gnip/gnip-edc-googleplus/src/main/java/com/gplus/api/GPlusActivitySerializer.java
index 0cea46a..b1f0ae0 100644
--- 
a/streams-contrib/streams-provider-gnip/gnip-edc-googleplus/src/main/java/com/gplus/api/GPlusActivitySerializer.java
+++ 
b/streams-contrib/streams-provider-gnip/gnip-edc-googleplus/src/main/java/com/gplus/api/GPlusActivitySerializer.java
@@ -21,7 +21,7 @@ package com.gplus.api;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.commons.lang.NotImplementedException;
 import org.apache.streams.data.ActivitySerializer;
-import org.apache.streams.data.util.ActivityUtil;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.gnip.powertrack.GnipActivityFixer;
 import org.apache.streams.pojo.json.Activity;
 import org.json.JSONObject;
@@ -74,7 +74,7 @@ public class GPlusActivitySerializer implements 
ActivitySerializer<String> {
         Activity activity = new Activity();
         try {
             activity = jsonMapper.readValue(fixedObject.toString(), 
Activity.class);
-            Map<String, Object> extension = 
ActivityUtil.ensureExtensions(activity);
+            Map<String, Object> extension = 
ExtensionUtil.ensureExtensions(activity);
             extension.put("likes", 
fixedObject.getJSONObject("object").getJSONObject("plusoners").get("totalItems"));
             extension.put("rebroadcast", 
fixedObject.getJSONObject("object").getJSONObject("resharers").get("totalItems"));
         } catch( Exception e ) {

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-gnip/gnip-edc-reddit/pom.xml
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-gnip/gnip-edc-reddit/pom.xml 
b/streams-contrib/streams-provider-gnip/gnip-edc-reddit/pom.xml
index dea0089..1b520ac 100644
--- a/streams-contrib/streams-provider-gnip/gnip-edc-reddit/pom.xml
+++ b/streams-contrib/streams-provider-gnip/gnip-edc-reddit/pom.xml
@@ -49,6 +49,12 @@
 
         <dependency>
             <groupId>org.apache.streams</groupId>
+            <artifactId>streams-pojo-extensions</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.streams</groupId>
             <artifactId>gnip-powertrack</artifactId>
             <version>${project.version}</version>
         </dependency>

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-gnip/gnip-edc-reddit/src/main/java/com/reddit/api/RedditActivitySerializer.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-provider-gnip/gnip-edc-reddit/src/main/java/com/reddit/api/RedditActivitySerializer.java
 
b/streams-contrib/streams-provider-gnip/gnip-edc-reddit/src/main/java/com/reddit/api/RedditActivitySerializer.java
index c57bea0..73b326e 100644
--- 
a/streams-contrib/streams-provider-gnip/gnip-edc-reddit/src/main/java/com/reddit/api/RedditActivitySerializer.java
+++ 
b/streams-contrib/streams-provider-gnip/gnip-edc-reddit/src/main/java/com/reddit/api/RedditActivitySerializer.java
@@ -21,7 +21,7 @@ package com.reddit.api;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.commons.lang.NotImplementedException;
 import org.apache.streams.data.ActivitySerializer;
-import org.apache.streams.data.util.ActivityUtil;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.gnip.powertrack.GnipActivityFixer;
 import org.apache.streams.pojo.json.Activity;
 import org.json.JSONObject;
@@ -82,7 +82,7 @@ public class RedditActivitySerializer implements 
ActivitySerializer<String> {
         Activity activity = new Activity();
         try {
             activity = jsonMapper.readValue(fixedObject.toString(), 
Activity.class);
-            Map<String, Object> extension = 
ActivityUtil.ensureExtensions(activity);
+            Map<String, Object> extension = 
ExtensionUtil.ensureExtensions(activity);
             if (fixedObject.names().toString().contains("object")){
                 if 
(fixedObject.getJSONObject("object").names().toString().contains("statistics")){
                     if 
(fixedObject.getJSONObject("object").getJSONObject("statistics").names().toString().contains("upVotes")){

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-google/google-gmail/pom.xml
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-google/google-gmail/pom.xml 
b/streams-contrib/streams-provider-google/google-gmail/pom.xml
index 5e8ed23..27cdee1 100644
--- a/streams-contrib/streams-provider-google/google-gmail/pom.xml
+++ b/streams-contrib/streams-provider-google/google-gmail/pom.xml
@@ -53,6 +53,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.streams</groupId>
+            <artifactId>streams-pojo-extensions</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.streams</groupId>
             <artifactId>streams-config</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-google/google-gmail/src/main/java/com/google/gmail/provider/GMailMessageActivitySerializer.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-provider-google/google-gmail/src/main/java/com/google/gmail/provider/GMailMessageActivitySerializer.java
 
b/streams-contrib/streams-provider-google/google-gmail/src/main/java/com/google/gmail/provider/GMailMessageActivitySerializer.java
index a53eaa5..0222ef2 100644
--- 
a/streams-contrib/streams-provider-google/google-gmail/src/main/java/com/google/gmail/provider/GMailMessageActivitySerializer.java
+++ 
b/streams-contrib/streams-provider-google/google-gmail/src/main/java/com/google/gmail/provider/GMailMessageActivitySerializer.java
@@ -22,16 +22,11 @@ import com.fasterxml.jackson.annotation.JsonBackReference;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonManagedReference;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.AnnotationIntrospector;
-import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
 import com.google.common.base.Joiner;
 import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
 import com.googlecode.gmail4j.GmailException;
 import com.googlecode.gmail4j.GmailMessage;
 import com.googlecode.gmail4j.javamail.JavaMailGmailMessage;
@@ -40,22 +35,16 @@ import com.sun.mail.imap.IMAPMessage;
 import com.sun.mail.imap.IMAPSSLStore;
 import org.apache.commons.lang.NotImplementedException;
 import org.apache.streams.data.ActivitySerializer;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.*;
 import org.joda.time.DateTime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import javax.mail.internet.MimeMultipart;
-import java.io.IOException;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
-import static org.apache.streams.data.util.ActivityUtil.ensureExtensions;
-
 /**
 * Created with IntelliJ IDEA.
 * User: mdelaet
@@ -176,7 +165,7 @@ public class GMailMessageActivitySerializer implements 
ActivitySerializer<GmailM
     }
 
     public static void addGMailExtension(Activity activity, GmailMessage 
gmailMessage) {
-        Map<String, Object> extensions = ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
         extensions.put("gmail", gmailMessage);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-google/google-gplus/pom.xml
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-google/google-gplus/pom.xml 
b/streams-contrib/streams-provider-google/google-gplus/pom.xml
index a734791..1d322df 100644
--- a/streams-contrib/streams-provider-google/google-gplus/pom.xml
+++ b/streams-contrib/streams-provider-google/google-gplus/pom.xml
@@ -50,6 +50,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.streams</groupId>
+            <artifactId>streams-pojo-extensions</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.streams</groupId>
             <artifactId>streams-config</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-google/google-gplus/src/main/java/com/google/gplus/serializer/util/GooglePlusActivityUtil.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-provider-google/google-gplus/src/main/java/com/google/gplus/serializer/util/GooglePlusActivityUtil.java
 
b/streams-contrib/streams-provider-google/google-gplus/src/main/java/com/google/gplus/serializer/util/GooglePlusActivityUtil.java
index 4e330fa..ecdf67b 100644
--- 
a/streams-contrib/streams-provider-google/google-gplus/src/main/java/com/google/gplus/serializer/util/GooglePlusActivityUtil.java
+++ 
b/streams-contrib/streams-provider-google/google-gplus/src/main/java/com/google/gplus/serializer/util/GooglePlusActivityUtil.java
@@ -22,6 +22,7 @@ package com.google.gplus.serializer.util;
 import com.google.api.client.util.Maps;
 import com.google.api.services.plus.model.Comment;
 import com.google.api.services.plus.model.Person;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.*;
 import org.apache.streams.pojo.json.Activity;
 import org.joda.time.DateTime;
@@ -145,7 +146,7 @@ public class GooglePlusActivityUtil {
      * @param gPlusActivity
      */
     private static void addGPlusExtensions(Activity activity, 
com.google.api.services.plus.model.Activity gPlusActivity) {
-        Map<String, Object> extensions = ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
 
         com.google.api.services.plus.model.Activity.PlusObject object = 
gPlusActivity.getObject();
         extensions.put("googlePlus", gPlusActivity);

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-instagram/pom.xml
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-instagram/pom.xml 
b/streams-contrib/streams-provider-instagram/pom.xml
index 46fc0ff..db2415f 100644
--- a/streams-contrib/streams-provider-instagram/pom.xml
+++ b/streams-contrib/streams-provider-instagram/pom.xml
@@ -46,6 +46,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.streams</groupId>
+            <artifactId>streams-pojo-extensions</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.streams</groupId>
             <artifactId>streams-config</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-instagram/src/main/java/org/apache/streams/instagram/serializer/util/InstagramActivityUtil.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-provider-instagram/src/main/java/org/apache/streams/instagram/serializer/util/InstagramActivityUtil.java
 
b/streams-contrib/streams-provider-instagram/src/main/java/org/apache/streams/instagram/serializer/util/InstagramActivityUtil.java
index a7894ae..99f9fcd 100644
--- 
a/streams-contrib/streams-provider-instagram/src/main/java/org/apache/streams/instagram/serializer/util/InstagramActivityUtil.java
+++ 
b/streams-contrib/streams-provider-instagram/src/main/java/org/apache/streams/instagram/serializer/util/InstagramActivityUtil.java
@@ -23,6 +23,7 @@ import com.google.common.base.Joiner;
 import com.google.common.base.Optional;
 import com.google.common.collect.Lists;
 import org.apache.streams.exceptions.ActivitySerializerException;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.*;
 import org.jinstagram.entity.comments.CommentData;
 import org.jinstagram.entity.common.*;
@@ -275,7 +276,7 @@ public class InstagramActivityUtil {
      * @param item the object to use as the source
      */
     public static void addLocationExtension(Activity activity, MediaFeedData 
item) {
-        Map<String, Object> extensions = ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
 
         if(item.getLocation() != null) {
             Map<String, Object> coordinates = new HashMap<String, Object>();
@@ -313,7 +314,7 @@ public class InstagramActivityUtil {
      * @param item
      */
     public static void addInstagramExtensions(Activity activity, MediaFeedData 
item) {
-        Map<String, Object> extensions = ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
 
         addLocationExtension(activity, item);
 

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-moreover/pom.xml
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-moreover/pom.xml 
b/streams-contrib/streams-provider-moreover/pom.xml
index 7a2d694..0b210b9 100644
--- a/streams-contrib/streams-provider-moreover/pom.xml
+++ b/streams-contrib/streams-provider-moreover/pom.xml
@@ -56,6 +56,10 @@
             <groupId>org.apache.streams</groupId>
             <artifactId>streams-pojo</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.streams</groupId>
+            <artifactId>streams-pojo-extensions</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-moreover/src/main/java/org/apache/streams/data/util/MoreoverUtils.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-provider-moreover/src/main/java/org/apache/streams/data/util/MoreoverUtils.java
 
b/streams-contrib/streams-provider-moreover/src/main/java/org/apache/streams/data/util/MoreoverUtils.java
index 52f57ff..9b2cc3f 100644
--- 
a/streams-contrib/streams-provider-moreover/src/main/java/org/apache/streams/data/util/MoreoverUtils.java
+++ 
b/streams-contrib/streams-provider-moreover/src/main/java/org/apache/streams/data/util/MoreoverUtils.java
@@ -19,6 +19,7 @@
 package org.apache.streams.data.util;
 
 import com.moreover.api.*;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.Activity;
 import org.apache.streams.pojo.json.ActivityObject;
 import org.apache.streams.pojo.json.Actor;
@@ -118,7 +119,7 @@ public class MoreoverUtils {
     }
 
     public static void addLocationExtension(Activity activity, Source value) {
-        Map<String, Object> extensions = ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
         String country = value.getLocation().getCountryCode() == null ? 
value.getLocation().getCountry() : value.getLocation().getCountryCode();
         if (country != null) {
             Map<String, Object> location = new HashMap<String, Object>();
@@ -128,7 +129,7 @@ public class MoreoverUtils {
     }
 
     public static void addLanguageExtension(Activity activity, Article value) {
-        Map<String, Object> extensions = ensureExtensions(activity);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(activity);
         String language = value.getLanguage();
         if (language != null) {
             extensions.put(LANGUAGE_EXTENSION, language);

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-rss/pom.xml
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-rss/pom.xml 
b/streams-contrib/streams-provider-rss/pom.xml
index bd1e04b..f4dbdcf 100644
--- a/streams-contrib/streams-provider-rss/pom.xml
+++ b/streams-contrib/streams-provider-rss/pom.xml
@@ -42,6 +42,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.streams</groupId>
+            <artifactId>streams-pojo-extensions</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.streams</groupId>
             <artifactId>streams-config</artifactId>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-rss/src/main/java/org/apache/streams/rss/serializer/SyndEntryActivitySerializer.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-provider-rss/src/main/java/org/apache/streams/rss/serializer/SyndEntryActivitySerializer.java
 
b/streams-contrib/streams-provider-rss/src/main/java/org/apache/streams/rss/serializer/SyndEntryActivitySerializer.java
index 06839f3..566b009 100644
--- 
a/streams-contrib/streams-provider-rss/src/main/java/org/apache/streams/rss/serializer/SyndEntryActivitySerializer.java
+++ 
b/streams-contrib/streams-provider-rss/src/main/java/org/apache/streams/rss/serializer/SyndEntryActivitySerializer.java
@@ -36,8 +36,6 @@ import org.slf4j.LoggerFactory;
 import java.util.List;
 import java.util.Map;
 
-import static org.apache.streams.data.util.ActivityUtil.ensureExtensions;
-
 public class SyndEntryActivitySerializer implements 
ActivitySerializer<ObjectNode> {
 
     private static final Logger LOGGER = 
LoggerFactory.getLogger(SyndEntryActivitySerializer.class);

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-sysomos/pom.xml
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-sysomos/pom.xml 
b/streams-contrib/streams-provider-sysomos/pom.xml
index 7d4c4a2..662b401 100644
--- a/streams-contrib/streams-provider-sysomos/pom.xml
+++ b/streams-contrib/streams-provider-sysomos/pom.xml
@@ -36,6 +36,10 @@
             <artifactId>streams-pojo</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.streams</groupId>
+            <artifactId>streams-pojo-extensions</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.fasterxml</groupId>
             <artifactId>aalto-xml</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-sysomos/src/main/java/org/apache/streams/sysomos/conversion/SysomosBeatActivityConverter.java
----------------------------------------------------------------------
diff --git 
a/streams-contrib/streams-provider-sysomos/src/main/java/org/apache/streams/sysomos/conversion/SysomosBeatActivityConverter.java
 
b/streams-contrib/streams-provider-sysomos/src/main/java/org/apache/streams/sysomos/conversion/SysomosBeatActivityConverter.java
index 90df7fc..1733057 100644
--- 
a/streams-contrib/streams-provider-sysomos/src/main/java/org/apache/streams/sysomos/conversion/SysomosBeatActivityConverter.java
+++ 
b/streams-contrib/streams-provider-sysomos/src/main/java/org/apache/streams/sysomos/conversion/SysomosBeatActivityConverter.java
@@ -22,6 +22,7 @@ package org.apache.streams.sysomos.conversion;
 import com.google.common.collect.Maps;
 import com.sysomos.xml.BeatApi;
 import org.apache.commons.lang.StringUtils;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
 import org.apache.streams.pojo.json.Activity;
 import org.apache.streams.pojo.json.ActivityObject;
 import org.apache.streams.pojo.json.Actor;
@@ -49,7 +50,7 @@ public class SysomosBeatActivityConverter {
         converted.setUrl(beat.getLink());
         converted.setActor(new Actor());
         Map<String, BeatApi.BeatResponse.Beat.Tag> mappedTags = mapTags(beat);
-        Map<String, Object> extensions = ensureExtensions(converted);
+        Map<String, Object> extensions = 
ExtensionUtil.ensureExtensions(converted);
         extensions.put("keywords", beat.getContent());
         setLocation(beat, extensions);
         setObject(beat, converted);

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-twitter/README.markdown
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-twitter/README.markdown 
b/streams-contrib/streams-provider-twitter/README.markdown
deleted file mode 100644
index 184912e..0000000
--- a/streams-contrib/streams-provider-twitter/README.markdown
+++ /dev/null
@@ -1,48 +0,0 @@
-streams-provider-twitter
-
-Purpose
-
-  Module connects to the twitter streaming API, collects events, and passes 
each message downstream.
-
-Options
-
-  Sample - supported, tested
-  Firehose - supported, not tested
-  Site - not currently supported
-
-Capabilities
-
-  Validation
-
-    Optionally, module will validate each message
-
-  Simplification
-
-    Optionally, module can output messages as basic text
-
-  Normalization
-
-    Optionally, module can output messages as other json objects such as 
Activity
-
-  Deletion
-
-    By default, module will submit delete the object from each directly 
connected persist step (not implemented)
-
-Run-modes
-
-  Standalone
-
-    Runs in a java process.
-    Writes to standard out.
-
-    Placeholder for how
-      Configure via property file
-      Configure via command line
-
-  Storm
-
-    Runs as a spout.
-
-    Placeholder for how
-      Configure via property file
-      Configure via command line
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-contrib/streams-provider-twitter/README.md
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-twitter/README.md 
b/streams-contrib/streams-provider-twitter/README.md
new file mode 100644
index 0000000..0e44ea3
--- /dev/null
+++ b/streams-contrib/streams-provider-twitter/README.md
@@ -0,0 +1,38 @@
+streams-provider-twitter
+=====================
+
+Connects to the twitter streaming API, collects events, and passes each 
message downstream.
+
+Example userstream configuration:
+
+    "twitter": {
+        host = "api.twitter.com"
+        endpoint = "userstream"
+        oauth {
+            consumerKey = ""
+            consumerSecret = ""
+            accessToken = ""
+            accessTokenSecret = ""
+        }
+    }
+    
+Example gardenhose configuration:
+
+    "twitter": {
+        host = "api.twitter.com"
+        endpoint = "sample"
+        oauth {
+            consumerKey = ""
+            consumerSecret = ""
+            accessToken = ""
+            accessTokenSecret = ""
+        }
+        track [
+            apache
+        ]
+        follow [
+            TheASF
+        ]
+        
+    }
+    

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-pojo-extensions/src/main/java/org/apache/streams/data/util/ExtensionUtil.java
----------------------------------------------------------------------
diff --git 
a/streams-pojo-extensions/src/main/java/org/apache/streams/data/util/ExtensionUtil.java
 
b/streams-pojo-extensions/src/main/java/org/apache/streams/data/util/ExtensionUtil.java
deleted file mode 100644
index 66d8017..0000000
--- 
a/streams-pojo-extensions/src/main/java/org/apache/streams/data/util/ExtensionUtil.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.streams.data.util;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.collect.Maps;
-import org.apache.streams.jackson.StreamsJacksonMapper;
-import org.apache.streams.pojo.json.Activity;
-import org.apache.streams.pojo.json.ActivityObject;
-
-import java.util.Map;
-
-/**
- *  Class makes it easier to manage extensions added to activities, actors, 
objects, etc...
- */
-public class ExtensionUtil {
-
-    /**
-     * Property on the activity object to use for extensions
-     */
-    public static final String EXTENSION_PROPERTY = "extensions";
-    /**
-     * The number of +1, Like, favorites, etc that the post has received
-     */
-    public static final String LIKES_EXTENSION = "likes";
-    /**
-     * The number of retweets, shares, etc that the post has received
-     */
-    public static final String REBROADCAST_EXTENSION = "rebroadcasts";
-    /**
-     * The language of the post
-     */
-    public static final String LANGUAGE_EXTENSION = "language";
-    /**
-     * Location that the post was made or the actor's residence
-     */
-    public static final String LOCATION_EXTENSION = "location";
-    /**
-     * Country that the post was made
-     */
-    public static final String LOCATION_EXTENSION_COUNTRY = "country";
-    /**
-     * Specific JSON-geo coordinates (long,lat)
-     */
-    public static final String LOCATION_EXTENSION_COORDINATES = "coordinates";
-
-    private static final ObjectMapper mapper = 
StreamsJacksonMapper.getInstance();
-
-    public static Map<String, Object> getExtensions(Activity activity) {
-        Map<String,Object> extensions = ensureExtensions(activity);
-        return extensions;
-    }
-
-    public static Object getExtension(Activity activity, String key) {
-        Map<String,Object> extensions = ensureExtensions(activity);
-        return extensions.get(key);
-    }
-
-    public static void setExtensions(Activity activity, Map<String, Object> 
extensions) {
-        activity.setAdditionalProperty(EXTENSION_PROPERTY, extensions);
-    };
-
-    public static void addExtension(Activity activity, String key, Object 
extension) {
-        Map<String,Object> extensions = ensureExtensions(activity);
-        extensions.put(key, extension);
-    };
-
-    public static void addExtensions(Activity activity, Map<String, Object> 
extensions) {
-        for( Map.Entry<String, Object> item : extensions.entrySet())
-            addExtension(activity, item.getKey(), item.getValue());
-    };
-
-    public static void removeExtension(Activity activity, String key) {
-        Map<String,Object> extensions = ensureExtensions(activity);
-        extensions.remove(key);
-    };
-
-    public static Map<String, Object> getExtensions(ActivityObject object) {
-        ActivityObject activityObject = mapper.convertValue(object, 
ActivityObject.class);
-        Map<String,Object> extensions = ensureExtensions(object);
-        return extensions;
-    }
-
-    public static Object getExtension(ActivityObject object, String key) {
-        Map<String,Object> extensions = ensureExtensions(object);
-        return extensions.get(key);
-    }
-
-    public static void setExtensions(ActivityObject object, Map<String, 
Object> extensions) {
-        object.setAdditionalProperty(EXTENSION_PROPERTY, extensions);
-    };
-
-    public static void addExtension(ActivityObject object, String key, Object 
extension) {
-        Map<String,Object> extensions = ensureExtensions(object);
-        extensions.put(key, extension);
-    };
-
-    public static void addExtensions(ActivityObject object, Map<String, 
Object> extensions) {
-        for( Map.Entry<String, Object> item : extensions.entrySet())
-            addExtension(object, item.getKey(), item.getValue());
-    };
-
-    public static void removeExtension(ActivityObject object, String key) {
-        Map<String,Object> extensions = ensureExtensions(object);
-        extensions.remove(key);
-    };
-
-    /**
-     * Creates a standard extension property
-     * @param activity activity to create the property in
-     * @return the Map representing the extensions property
-     */
-    @SuppressWarnings("unchecked")
-    public static Map<String, Object> ensureExtensions(Activity activity) {
-        Map<String,Object> extensions = (Map<String,Object>) 
activity.getAdditionalProperties().get(EXTENSION_PROPERTY);
-        if(extensions == null) {
-            extensions = Maps.newHashMap();
-            setExtensions(activity, extensions);
-        }
-        return extensions;
-    }
-
-    /**
-     * Creates a standard extension property
-     * @param object objectnode to create the property in
-     * @return the Map representing the extensions property
-     */
-    @SuppressWarnings("unchecked")
-    public static Map<String, Object> ensureExtensions(ActivityObject object) {
-        Map<String,Object> extensions = (Map<String,Object>) 
object.getAdditionalProperties().get(EXTENSION_PROPERTY);
-        if(extensions == null) {
-            extensions = Maps.newHashMap();
-            setExtensions(object, extensions);
-        }
-        return extensions;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-pojo-extensions/src/main/java/org/apache/streams/pojo/extensions/ExtensionUtil.java
----------------------------------------------------------------------
diff --git 
a/streams-pojo-extensions/src/main/java/org/apache/streams/pojo/extensions/ExtensionUtil.java
 
b/streams-pojo-extensions/src/main/java/org/apache/streams/pojo/extensions/ExtensionUtil.java
new file mode 100644
index 0000000..5fc9431
--- /dev/null
+++ 
b/streams-pojo-extensions/src/main/java/org/apache/streams/pojo/extensions/ExtensionUtil.java
@@ -0,0 +1,154 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.streams.pojo.extensions;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.collect.Maps;
+import org.apache.streams.jackson.StreamsJacksonMapper;
+import org.apache.streams.pojo.json.Activity;
+import org.apache.streams.pojo.json.ActivityObject;
+
+import java.util.Map;
+
+/**
+ *  Class makes it easier to manage extensions added to activities, actors, 
objects, etc...
+ */
+public class ExtensionUtil {
+
+    /**
+     * Property on the activity object to use for extensions
+     */
+    public static final String EXTENSION_PROPERTY = "extensions";
+    /**
+     * The number of +1, Like, favorites, etc that the post has received
+     */
+    public static final String LIKES_EXTENSION = "likes";
+    /**
+     * The number of retweets, shares, etc that the post has received
+     */
+    public static final String REBROADCAST_EXTENSION = "rebroadcasts";
+    /**
+     * The language of the post
+     */
+    public static final String LANGUAGE_EXTENSION = "language";
+    /**
+     * Location that the post was made or the actor's residence
+     */
+    public static final String LOCATION_EXTENSION = "location";
+    /**
+     * Country that the post was made
+     */
+    public static final String LOCATION_EXTENSION_COUNTRY = "country";
+    /**
+     * Specific JSON-geo coordinates (long,lat)
+     */
+    public static final String LOCATION_EXTENSION_COORDINATES = "coordinates";
+
+    private static final ObjectMapper mapper = 
StreamsJacksonMapper.getInstance();
+
+    public static Map<String, Object> getExtensions(Activity activity) {
+        Map<String,Object> extensions = ensureExtensions(activity);
+        return extensions;
+    }
+
+    public static Object getExtension(Activity activity, String key) {
+        Map<String,Object> extensions = ensureExtensions(activity);
+        return extensions.get(key);
+    }
+
+    public static void setExtensions(Activity activity, Map<String, Object> 
extensions) {
+        activity.setAdditionalProperty(EXTENSION_PROPERTY, extensions);
+    };
+
+    public static void addExtension(Activity activity, String key, Object 
extension) {
+        Map<String,Object> extensions = ensureExtensions(activity);
+        extensions.put(key, extension);
+    };
+
+    public static void addExtensions(Activity activity, Map<String, Object> 
extensions) {
+        for( Map.Entry<String, Object> item : extensions.entrySet())
+            addExtension(activity, item.getKey(), item.getValue());
+    };
+
+    public static void removeExtension(Activity activity, String key) {
+        Map<String,Object> extensions = ensureExtensions(activity);
+        extensions.remove(key);
+    };
+
+    public static Map<String, Object> getExtensions(ActivityObject object) {
+        ActivityObject activityObject = mapper.convertValue(object, 
ActivityObject.class);
+        Map<String,Object> extensions = ensureExtensions(object);
+        return extensions;
+    }
+
+    public static Object getExtension(ActivityObject object, String key) {
+        Map<String,Object> extensions = ensureExtensions(object);
+        return extensions.get(key);
+    }
+
+    public static void setExtensions(ActivityObject object, Map<String, 
Object> extensions) {
+        object.setAdditionalProperty(EXTENSION_PROPERTY, extensions);
+    };
+
+    public static void addExtension(ActivityObject object, String key, Object 
extension) {
+        Map<String,Object> extensions = ensureExtensions(object);
+        extensions.put(key, extension);
+    };
+
+    public static void addExtensions(ActivityObject object, Map<String, 
Object> extensions) {
+        for( Map.Entry<String, Object> item : extensions.entrySet())
+            addExtension(object, item.getKey(), item.getValue());
+    };
+
+    public static void removeExtension(ActivityObject object, String key) {
+        Map<String,Object> extensions = ensureExtensions(object);
+        extensions.remove(key);
+    };
+
+    /**
+     * Creates a standard extension property
+     * @param activity activity to create the property in
+     * @return the Map representing the extensions property
+     */
+    @SuppressWarnings("unchecked")
+    public static Map<String, Object> ensureExtensions(Activity activity) {
+        Map<String,Object> extensions = (Map<String,Object>) 
activity.getAdditionalProperties().get(EXTENSION_PROPERTY);
+        if(extensions == null) {
+            extensions = Maps.newHashMap();
+            setExtensions(activity, extensions);
+        }
+        return extensions;
+    }
+
+    /**
+     * Creates a standard extension property
+     * @param object objectnode to create the property in
+     * @return the Map representing the extensions property
+     */
+    @SuppressWarnings("unchecked")
+    public static Map<String, Object> ensureExtensions(ActivityObject object) {
+        Map<String,Object> extensions = (Map<String,Object>) 
object.getAdditionalProperties().get(EXTENSION_PROPERTY);
+        if(extensions == null) {
+            extensions = Maps.newHashMap();
+            setExtensions(object, extensions);
+        }
+        return extensions;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/e046c76c/streams-pojo/src/main/java/org/apache/streams/data/util/ActivityUtil.java
----------------------------------------------------------------------
diff --git 
a/streams-pojo/src/main/java/org/apache/streams/data/util/ActivityUtil.java 
b/streams-pojo/src/main/java/org/apache/streams/data/util/ActivityUtil.java
index 04ee923..9d1e7b2 100644
--- a/streams-pojo/src/main/java/org/apache/streams/data/util/ActivityUtil.java
+++ b/streams-pojo/src/main/java/org/apache/streams/data/util/ActivityUtil.java
@@ -28,7 +28,10 @@ import java.util.Map;
 
 /**
  * Utility class for managing activities
+ *
+ * Deprecated: Use {@link org.apache.streams.pojo.extensions.ExtensionUtil}
  */
+@Deprecated
 public class ActivityUtil {
 
     private ActivityUtil() {}

Reply via email to