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 2015/09/10 20:50:16 UTC
[1/4] incubator-streams git commit: resolves STREAMS-353
Repository: incubator-streams
Updated Branches:
refs/heads/master 092021c1e -> bdf509888
resolves STREAMS-353
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams/commit/0f663588
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams/tree/0f663588
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams/diff/0f663588
Branch: refs/heads/master
Commit: 0f66358865d401e90adf848be013b4dd76957527
Parents: 776a224
Author: Steve Blackmon (@steveblackmon) <sb...@apache.org>
Authored: Wed Aug 19 16:21:14 2015 -0500
Committer: Steve Blackmon (@steveblackmon) <sb...@apache.org>
Committed: Wed Aug 19 16:21:14 2015 -0500
----------------------------------------------------------------------
streams-components/streams-converters/pom.xml | 5 ++
.../converter/PromoteExtensionsProcessor.java | 83 ++++++++++++++++++++
.../streams/pojo/extensions/ExtensionUtil.java | 18 +++++
.../pojo/extensions/test/ExtensionUtilTest.java | 71 +++++++++++++++++
4 files changed, 177 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/0f663588/streams-components/streams-converters/pom.xml
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/pom.xml b/streams-components/streams-converters/pom.xml
index 49d453d..96ac8cf 100644
--- a/streams-components/streams-converters/pom.xml
+++ b/streams-components/streams-converters/pom.xml
@@ -38,6 +38,11 @@
<artifactId>streams-core</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.streams</groupId>
+ <artifactId>streams-pojo-extensions</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/0f663588/streams-components/streams-converters/src/main/java/org/apache/streams/converter/PromoteExtensionsProcessor.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/PromoteExtensionsProcessor.java b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/PromoteExtensionsProcessor.java
new file mode 100644
index 0000000..2bff51f
--- /dev/null
+++ b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/PromoteExtensionsProcessor.java
@@ -0,0 +1,83 @@
+/*
+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
+with the License. You may obtain a copy of the License at
+
+ 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.converter;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.collect.Lists;
+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.apache.streams.pojo.json.ActivityObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * TypeConverterProcessor converts between String json and jackson-compatible POJO objects.
+ *
+ * Activity is one supported jackson-compatible POJO, so JSON String and objects with structual similarities
+ * to Activity can be converted to Activity objects.
+ *
+ * However, conversion to Activity should probably use {@link ActivityConverterProcessor}
+ *
+ */
+public class PromoteExtensionsProcessor implements StreamsProcessor, Serializable {
+
+ private final static Logger LOGGER = LoggerFactory.getLogger(PromoteExtensionsProcessor.class);
+
+ private List<String> formats = Lists.newArrayList();
+
+ protected ObjectMapper mapper;
+
+ protected Class outClass;
+
+ @Override
+ public List<StreamsDatum> process(StreamsDatum entry) {
+
+ List<StreamsDatum> result = Lists.newLinkedList();
+ Object doc = entry.getDocument();
+
+ if( doc instanceof Activity) {
+ ExtensionUtil.promoteExtensions((Activity)doc);
+ } else if( doc instanceof ActivityObject) {
+ ExtensionUtil.promoteExtensions((ActivityObject)doc);
+ } else {
+ LOGGER.warn("document wrong type: " + doc.getClass());
+ }
+
+ entry.setDocument(doc);
+ result.add(entry);
+
+ return result;
+ }
+
+ @Override
+ public void prepare(Object configurationObject) {
+
+ }
+
+ @Override
+ public void cleanUp() {
+
+ }
+};
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/0f663588/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
index 15da4e7..f2d8e2b 100644
--- 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
@@ -67,6 +67,15 @@ public class ExtensionUtil {
extensions.remove(key);
};
+ public static void promoteExtensions(Activity activity) {
+ Map<String,Object> extensions = ensureExtensions(activity);
+ for( String key : extensions.keySet() ) {
+ activity.getAdditionalProperties().put(key, extensions.get(key));
+ removeExtension(activity, key);
+ }
+ activity.getAdditionalProperties().remove("extensions");
+ };
+
public static Map<String, Object> getExtensions(ActivityObject object) {
ActivityObject activityObject = mapper.convertValue(object, ActivityObject.class);
Map<String,Object> extensions = ensureExtensions(object);
@@ -97,6 +106,15 @@ public class ExtensionUtil {
extensions.remove(key);
};
+ public static void promoteExtensions(ActivityObject object) {
+ Map<String,Object> extensions = ensureExtensions(object);
+ for( String key : extensions.keySet() ) {
+ object.getAdditionalProperties().put(key, extensions.get(key));
+ removeExtension(object, key);
+ }
+ object.getAdditionalProperties().remove("extensions");
+ };
+
/**
* Creates a standard extension property
* @param activity activity to create the property in
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/0f663588/streams-pojo-extensions/src/test/java/org/apache/streams/pojo/extensions/test/ExtensionUtilTest.java
----------------------------------------------------------------------
diff --git a/streams-pojo-extensions/src/test/java/org/apache/streams/pojo/extensions/test/ExtensionUtilTest.java b/streams-pojo-extensions/src/test/java/org/apache/streams/pojo/extensions/test/ExtensionUtilTest.java
new file mode 100644
index 0000000..f14c67e
--- /dev/null
+++ b/streams-pojo-extensions/src/test/java/org/apache/streams/pojo/extensions/test/ExtensionUtilTest.java
@@ -0,0 +1,71 @@
+/*
+ * 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.base.Strings;
+import com.google.common.collect.Maps;
+import org.apache.streams.jackson.StreamsJacksonMapper;
+import org.apache.streams.pojo.extensions.ExtensionUtil;
+import org.apache.streams.pojo.json.Activity;
+import org.apache.streams.pojo.json.ActivityObject;
+import org.junit.Test;
+
+import java.util.Map;
+
+/**
+ * Test ExtensionUtil methods
+ */
+public class ExtensionUtilTest {
+
+ ObjectMapper mapper = StreamsJacksonMapper.getInstance();
+
+ /**
+ * Test promoteExtensions(Activity)
+ */
+ @Test
+ public void testActivityPromoteExtensions() throws Exception {
+ Activity activity = new Activity();
+ Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ extensions.put("extension", "value");
+ ExtensionUtil.setExtensions(activity, extensions);
+ assert(!Strings.isNullOrEmpty((String)ExtensionUtil.getExtension(activity, "extension")));
+ ExtensionUtil.promoteExtensions(activity);
+ extensions = ExtensionUtil.getExtensions(activity);
+ assert(extensions.size() == 0);
+ assert(activity.getAdditionalProperties().get("extension").equals("value"));
+ }
+
+ /**
+ * Test promoteExtensions(ActivityObject)
+ */
+ @Test
+ public void testActivityObjectPromoteExtensions() throws Exception {
+ ActivityObject activityObject = new ActivityObject();
+ Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activityObject);
+ extensions.put("extension", "value");
+ ExtensionUtil.setExtensions(activityObject, extensions);
+ assert(!Strings.isNullOrEmpty((String)ExtensionUtil.getExtension(activityObject, "extension")));
+ ExtensionUtil.promoteExtensions(activityObject);
+ extensions = ExtensionUtil.getExtensions(activityObject);
+ assert(extensions.size() == 0);
+ assert(activityObject.getAdditionalProperties().get("extension").equals("value"));
+ }
+
+}
[2/4] incubator-streams git commit: adopts the Singleton model used
by most other Util classes in project
Posted by sb...@apache.org.
adopts the Singleton model used by most other Util classes in project
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams/commit/4bec4a91
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams/tree/4bec4a91
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams/diff/4bec4a91
Branch: refs/heads/master
Commit: 4bec4a911283ea624bf7f21cfdf7e4bc7058c360
Parents: 0f66358
Author: Steve Blackmon (@steveblackmon) <sb...@apache.org>
Authored: Tue Aug 25 15:00:36 2015 -0500
Committer: Steve Blackmon (@steveblackmon) <sb...@apache.org>
Committed: Tue Aug 25 15:00:36 2015 -0500
----------------------------------------------------------------------
.../converter/PromoteExtensionsProcessor.java | 8 +--
.../streams/pojo/extensions/ExtensionUtil.java | 65 +++++++++++++-------
.../pojo/extensions/test/ExtensionUtilTest.java | 37 +++++++----
3 files changed, 73 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/4bec4a91/streams-components/streams-converters/src/main/java/org/apache/streams/converter/PromoteExtensionsProcessor.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/PromoteExtensionsProcessor.java b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/PromoteExtensionsProcessor.java
index 2bff51f..c5be883 100644
--- a/streams-components/streams-converters/src/main/java/org/apache/streams/converter/PromoteExtensionsProcessor.java
+++ b/streams-components/streams-converters/src/main/java/org/apache/streams/converter/PromoteExtensionsProcessor.java
@@ -45,7 +45,7 @@ public class PromoteExtensionsProcessor implements StreamsProcessor, Serializabl
private final static Logger LOGGER = LoggerFactory.getLogger(PromoteExtensionsProcessor.class);
- private List<String> formats = Lists.newArrayList();
+ private ExtensionUtil extensionUtil;
protected ObjectMapper mapper;
@@ -58,9 +58,9 @@ public class PromoteExtensionsProcessor implements StreamsProcessor, Serializabl
Object doc = entry.getDocument();
if( doc instanceof Activity) {
- ExtensionUtil.promoteExtensions((Activity)doc);
+ extensionUtil.promoteExtensions((Activity)doc);
} else if( doc instanceof ActivityObject) {
- ExtensionUtil.promoteExtensions((ActivityObject)doc);
+ extensionUtil.promoteExtensions((ActivityObject)doc);
} else {
LOGGER.warn("document wrong type: " + doc.getClass());
}
@@ -73,7 +73,7 @@ public class PromoteExtensionsProcessor implements StreamsProcessor, Serializabl
@Override
public void prepare(Object configurationObject) {
-
+ extensionUtil = ExtensionUtil.getInstance();
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/4bec4a91/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
index f2d8e2b..be995b0 100644
--- 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
@@ -19,6 +19,7 @@
package org.apache.streams.pojo.extensions;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.base.Strings;
import com.google.common.collect.Maps;
import org.apache.streams.jackson.StreamsJacksonMapper;
import org.apache.streams.pojo.json.Activity;
@@ -31,43 +32,63 @@ import java.util.Map;
*/
public class ExtensionUtil {
+ public static final String DEFAULT_EXTENSION_PROPERTY = "extensions";
+
+ private static final ExtensionUtil INSTANCE = new ExtensionUtil(DEFAULT_EXTENSION_PROPERTY);
+
+ private String extensionProperty;
+
+ public static ExtensionUtil getInstance(){
+ return INSTANCE;
+ }
+
+ public static ExtensionUtil getInstance(String property){
+ return new ExtensionUtil(property);
+ }
+
+ private ExtensionUtil(String extensionProperty) {
+ if( !Strings.isNullOrEmpty(extensionProperty) )
+ this.extensionProperty = extensionProperty;
+ else
+ this.extensionProperty = DEFAULT_EXTENSION_PROPERTY;
+ }
+
/**
* Property on the activity object to use for extensions
*/
- public static final String EXTENSION_PROPERTY = "extensions";
private static final ObjectMapper mapper = StreamsJacksonMapper.getInstance();
- public static Map<String, Object> getExtensions(Activity activity) {
+ public Map<String, Object> getExtensions(Activity activity) {
Map<String,Object> extensions = ensureExtensions(activity);
return extensions;
}
- public static Object getExtension(Activity activity, String key) {
+ public 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 void setExtensions(Activity activity, Map<String, Object> extensions) {
+ activity.setAdditionalProperty(extensionProperty, extensions);
};
- public static void addExtension(Activity activity, String key, Object extension) {
+ public 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) {
+ public 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) {
+ public void removeExtension(Activity activity, String key) {
Map<String,Object> extensions = ensureExtensions(activity);
extensions.remove(key);
};
- public static void promoteExtensions(Activity activity) {
+ public void promoteExtensions(Activity activity) {
Map<String,Object> extensions = ensureExtensions(activity);
for( String key : extensions.keySet() ) {
activity.getAdditionalProperties().put(key, extensions.get(key));
@@ -76,43 +97,43 @@ public class ExtensionUtil {
activity.getAdditionalProperties().remove("extensions");
};
- public static Map<String, Object> getExtensions(ActivityObject object) {
+ public 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) {
+ public 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 void setExtensions(ActivityObject object, Map<String, Object> extensions) {
+ object.setAdditionalProperty(extensionProperty, extensions);
};
- public static void addExtension(ActivityObject object, String key, Object extension) {
+ public 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) {
+ public 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) {
+ public void removeExtension(ActivityObject object, String key) {
Map<String,Object> extensions = ensureExtensions(object);
extensions.remove(key);
};
- public static void promoteExtensions(ActivityObject object) {
+ public void promoteExtensions(ActivityObject object) {
Map<String,Object> extensions = ensureExtensions(object);
for( String key : extensions.keySet() ) {
object.getAdditionalProperties().put(key, extensions.get(key));
removeExtension(object, key);
}
- object.getAdditionalProperties().remove("extensions");
+ object.getAdditionalProperties().remove(extensionProperty);
};
/**
@@ -121,8 +142,8 @@ public class ExtensionUtil {
* @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);
+ public Map<String, Object> ensureExtensions(Activity activity) {
+ Map<String,Object> extensions = (Map<String,Object>) activity.getAdditionalProperties().get(extensionProperty);
if(extensions == null) {
extensions = Maps.newHashMap();
setExtensions(activity, extensions);
@@ -136,8 +157,8 @@ public class ExtensionUtil {
* @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);
+ public Map<String, Object> ensureExtensions(ActivityObject object) {
+ Map<String,Object> extensions = (Map<String,Object>) object.getAdditionalProperties().get(extensionProperty);
if(extensions == null) {
extensions = Maps.newHashMap();
setExtensions(object, extensions);
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/4bec4a91/streams-pojo-extensions/src/test/java/org/apache/streams/pojo/extensions/test/ExtensionUtilTest.java
----------------------------------------------------------------------
diff --git a/streams-pojo-extensions/src/test/java/org/apache/streams/pojo/extensions/test/ExtensionUtilTest.java b/streams-pojo-extensions/src/test/java/org/apache/streams/pojo/extensions/test/ExtensionUtilTest.java
index f14c67e..b3c54c5 100644
--- a/streams-pojo-extensions/src/test/java/org/apache/streams/pojo/extensions/test/ExtensionUtilTest.java
+++ b/streams-pojo-extensions/src/test/java/org/apache/streams/pojo/extensions/test/ExtensionUtilTest.java
@@ -16,7 +16,7 @@
* under the License.
*/
-package org.apache.streams.pojo.extensions;
+package org.apache.streams.pojo.extensions.test;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.base.Strings;
@@ -36,18 +36,19 @@ public class ExtensionUtilTest {
ObjectMapper mapper = StreamsJacksonMapper.getInstance();
+ ExtensionUtil extensionUtil = ExtensionUtil.getInstance();
/**
* Test promoteExtensions(Activity)
*/
@Test
public void testActivityPromoteExtensions() throws Exception {
Activity activity = new Activity();
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = extensionUtil.ensureExtensions(activity);
extensions.put("extension", "value");
- ExtensionUtil.setExtensions(activity, extensions);
- assert(!Strings.isNullOrEmpty((String)ExtensionUtil.getExtension(activity, "extension")));
- ExtensionUtil.promoteExtensions(activity);
- extensions = ExtensionUtil.getExtensions(activity);
+ extensionUtil.setExtensions(activity, extensions);
+ assert(!Strings.isNullOrEmpty((String)extensionUtil.getExtension(activity, "extension")));
+ extensionUtil.promoteExtensions(activity);
+ extensions = extensionUtil.getExtensions(activity);
assert(extensions.size() == 0);
assert(activity.getAdditionalProperties().get("extension").equals("value"));
}
@@ -58,14 +59,28 @@ public class ExtensionUtilTest {
@Test
public void testActivityObjectPromoteExtensions() throws Exception {
ActivityObject activityObject = new ActivityObject();
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activityObject);
+ Map<String, Object> extensions = extensionUtil.ensureExtensions(activityObject);
extensions.put("extension", "value");
- ExtensionUtil.setExtensions(activityObject, extensions);
- assert(!Strings.isNullOrEmpty((String)ExtensionUtil.getExtension(activityObject, "extension")));
- ExtensionUtil.promoteExtensions(activityObject);
- extensions = ExtensionUtil.getExtensions(activityObject);
+ extensionUtil.setExtensions(activityObject, extensions);
+ assert(!Strings.isNullOrEmpty((String)extensionUtil.getExtension(activityObject, "extension")));
+ extensionUtil.promoteExtensions(activityObject);
+ extensions = extensionUtil.getExtensions(activityObject);
assert(extensions.size() == 0);
assert(activityObject.getAdditionalProperties().get("extension").equals("value"));
}
+ @Test
+ public void testActivitySetCustomExtension() throws Exception {
+ ExtensionUtil customExtensionUtil = ExtensionUtil.getInstance("ext");
+ Activity activity = new Activity();
+ Map<String, Object> extensions = customExtensionUtil.ensureExtensions(activity);
+ String value = "value";
+ extensions.put("extension", value);
+ customExtensionUtil.setExtensions(activity, extensions);
+ assert(!Strings.isNullOrEmpty((String)customExtensionUtil.getExtension(activity, "extension")));
+ extensions = customExtensionUtil.getExtensions(activity);
+ assert(value.equals((String)extensions.get("extension")));
+ assert(activity.getAdditionalProperties().get("ext") != null);
+ }
+
}
[4/4] incubator-streams git commit: Merge branch 'STREAMS-353'
Posted by sb...@apache.org.
Merge branch 'STREAMS-353'
* STREAMS-353:
changes existing modules to use Singleton access method for ExtensionUtil
adopts the Singleton model used by most other Util classes in project
resolves STREAMS-353
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams/commit/bdf50988
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams/tree/bdf50988
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams/diff/bdf50988
Branch: refs/heads/master
Commit: bdf509888c1e26f291c10ca74a1e555f65ace635
Parents: 092021c cc5d316
Author: Steve Blackmon (@steveblackmon) <sb...@apache.org>
Authored: Thu Sep 10 13:31:23 2015 -0500
Committer: Steve Blackmon (@steveblackmon) <sb...@apache.org>
Committed: Thu Sep 10 13:31:23 2015 -0500
----------------------------------------------------------------------
streams-components/streams-converters/pom.xml | 5 ++
.../converter/PromoteExtensionsProcessor.java | 83 +++++++++++++++++++
.../http/processor/SimpleHTTPGetProcessor.java | 2 +-
.../http/processor/SimpleHTTPPostProcessor.java | 2 +-
.../processor/PercolateTagProcessor.java | 4 +-
.../peoplepattern/AccountTypeProcessor.java | 2 +-
.../peoplepattern/DemographicsProcessor.java | 2 +-
.../regex/AbstractRegexExtensionExtractor.java | 2 +-
.../regex/RegexHashtagExtractorTest.java | 2 +-
.../regex/RegexMentionExtractorTest.java | 2 +-
.../DatasiftInstagramActivitySerializer.java | 2 +-
.../DatasiftInteractionActivitySerializer.java | 4 +-
.../DatasiftTwitterActivitySerializer.java | 4 +-
.../serializer/FacebookActivityUtil.java | 2 +-
.../com/gplus/api/GPlusActivitySerializer.java | 2 +-
.../reddit/api/RedditActivitySerializer.java | 2 +-
.../GMailMessageActivitySerializer.java | 2 +-
.../serializer/util/GooglePlusActivityUtil.java | 2 +-
.../serializer/util/InstagramActivityUtil.java | 4 +-
.../apache/streams/data/util/MoreoverUtils.java | 4 +-
.../SysomosBeatActivityConverter.java | 2 +-
.../youtube/serializer/YoutubeActivityUtil.java | 2 +-
.../streams/pojo/extensions/ExtensionUtil.java | 77 +++++++++++++-----
.../pojo/extensions/test/ExtensionUtilTest.java | 86 ++++++++++++++++++++
24 files changed, 256 insertions(+), 45 deletions(-)
----------------------------------------------------------------------
[3/4] incubator-streams git commit: changes existing modules to use
Singleton access method for ExtensionUtil
Posted by sb...@apache.org.
changes existing modules to use Singleton access method for ExtensionUtil
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams/commit/cc5d316f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams/tree/cc5d316f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams/diff/cc5d316f
Branch: refs/heads/master
Commit: cc5d316f5ce5a43fa529cbaa062ede49e2631e14
Parents: 4bec4a9
Author: Steve Blackmon (@steveblackmon) <sb...@apache.org>
Authored: Tue Aug 25 15:02:22 2015 -0500
Committer: Steve Blackmon (@steveblackmon) <sb...@apache.org>
Committed: Tue Aug 25 15:02:22 2015 -0500
----------------------------------------------------------------------
.../components/http/processor/SimpleHTTPGetProcessor.java | 2 +-
.../components/http/processor/SimpleHTTPPostProcessor.java | 2 +-
.../streams/elasticsearch/processor/PercolateTagProcessor.java | 4 +---
.../org/apache/streams/peoplepattern/AccountTypeProcessor.java | 2 +-
.../org/apache/streams/peoplepattern/DemographicsProcessor.java | 2 +-
.../apache/streams/regex/AbstractRegexExtensionExtractor.java | 2 +-
.../java/org/apache/streams/regex/RegexHashtagExtractorTest.java | 2 +-
.../java/org/apache/streams/regex/RegexMentionExtractorTest.java | 2 +-
.../datasift/serializer/DatasiftInstagramActivitySerializer.java | 2 +-
.../serializer/DatasiftInteractionActivitySerializer.java | 4 ++--
.../datasift/serializer/DatasiftTwitterActivitySerializer.java | 4 ++--
.../apache/streams/facebook/serializer/FacebookActivityUtil.java | 2 +-
.../src/main/java/com/gplus/api/GPlusActivitySerializer.java | 2 +-
.../src/main/java/com/reddit/api/RedditActivitySerializer.java | 2 +-
.../google/gmail/provider/GMailMessageActivitySerializer.java | 2 +-
.../com/google/gplus/serializer/util/GooglePlusActivityUtil.java | 2 +-
.../streams/instagram/serializer/util/InstagramActivityUtil.java | 4 ++--
.../main/java/org/apache/streams/data/util/MoreoverUtils.java | 4 ++--
.../streams/sysomos/conversion/SysomosBeatActivityConverter.java | 2 +-
.../main/java/com/youtube/serializer/YoutubeActivityUtil.java | 2 +-
20 files changed, 24 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/cc5d316f/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 670b8b5..3f5a5c4 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
@@ -181,7 +181,7 @@ public class SimpleHTTPGetProcessor implements StreamsProcessor {
ActivityObject extensionEntity = getEntityToExtend(rootDocument);
- ExtensionUtil.addExtension(extensionEntity, this.configuration.getExtension(), extensionFragment);
+ ExtensionUtil.getInstance().addExtension(extensionEntity, this.configuration.getExtension(), extensionFragment);
rootDocument = setEntityToExtend(rootDocument, extensionEntity);
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/cc5d316f/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPPostProcessor.java
----------------------------------------------------------------------
diff --git a/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPPostProcessor.java b/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPPostProcessor.java
index 761b7bf..f0ba2fd 100644
--- a/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPPostProcessor.java
+++ b/streams-components/streams-http/src/main/java/org/apache/streams/components/http/processor/SimpleHTTPPostProcessor.java
@@ -193,7 +193,7 @@ public class SimpleHTTPPostProcessor implements StreamsProcessor {
ActivityObject extensionEntity = getEntityToExtend(rootDocument);
- ExtensionUtil.addExtension(extensionEntity, this.configuration.getExtension(), extensionFragment);
+ ExtensionUtil.getInstance().addExtension(extensionEntity, this.configuration.getExtension(), extensionFragment);
rootDocument = setEntityToExtend(rootDocument, extensionEntity);
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/cc5d316f/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 32ff131..d1de6f9 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
@@ -182,11 +182,9 @@ public class PercolateTagProcessor implements StreamsProcessor {
}
protected void appendMatches(ArrayNode tagArray, Activity activity) {
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
- extensions.put(TAGS_EXTENSION, tagArray);
+ ExtensionUtil.getInstance().addExtension(activity, TAGS_EXTENSION, tagArray);
- activity.setAdditionalProperty(ActivityUtil.EXTENSION_PROPERTY, extensions);
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/cc5d316f/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 d30922e..bac96bf 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
@@ -64,7 +64,7 @@ public class AccountTypeProcessor extends SimpleHTTPGetProcessor {
Activity activity = mapper.convertValue(entry.getDocument(), Activity.class);
Actor actor = activity.getActor();
ActivityObject actorObject = mapper.convertValue(actor, ActivityObject.class);
- String username = (String) ExtensionUtil.getExtension(actorObject, "screenName");
+ String username = (String) ExtensionUtil.getInstance().getExtension(actorObject, "screenName");
Map<String, String> params = Maps.newHashMap();
params.put("id", actor.getId());
params.put("name", actor.getDisplayName());
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/cc5d316f/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 68016b8..238685d 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
@@ -64,7 +64,7 @@ public class DemographicsProcessor extends SimpleHTTPGetProcessor {
Activity activity = mapper.convertValue(entry.getDocument(), Activity.class);
Actor actor = activity.getActor();
ActivityObject actorObject = mapper.convertValue(actor, ActivityObject.class);
- String username = (String) ExtensionUtil.getExtension(actorObject, "screenName");
+ String username = (String) ExtensionUtil.getInstance().getExtension(actorObject, "screenName");
Map<String, String> params = Maps.newHashMap();
params.put("id", actor.getId());
params.put("name", actor.getDisplayName());
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/cc5d316f/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 e2be262..e4fa0e0 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
@@ -117,7 +117,7 @@ public abstract class AbstractRegexExtensionExtractor<T> implements StreamsProce
@SuppressWarnings("unchecked")
protected Collection<T> ensureTargetObject(Activity activity) {
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().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/cc5d316f/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 e4f2257..2de4aa8 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
@@ -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) ExtensionUtil.ensureExtensions(output).get(RegexHashtagExtractor.EXTENSION_KEY);
+ Set<String> extracted = (Set) ExtensionUtil.getInstance().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/cc5d316f/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 8aa6561..c7778a8 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
@@ -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) ExtensionUtil.ensureExtensions(output).get(RegexMentionsExtractor.EXTENSION_KEY);
+ Set<String> extracted = (Set) ExtensionUtil.getInstance().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/cc5d316f/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 03d6735..1ed805d 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
@@ -98,7 +98,7 @@ public class DatasiftInstagramActivitySerializer extends DatasiftInteractionActi
}
public void addInstagramExtensions(Activity activity, Instagram instagram) {
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().ensureExtensions(activity);
List<String> hashTags;
if(instagram.getMedia() != null) {
hashTags = instagram.getMedia().getTags();
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/cc5d316f/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 b506820..79bf940 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
@@ -127,7 +127,7 @@ public class DatasiftInteractionActivitySerializer implements ActivitySerializer
}
public static void addDatasiftExtension(Activity activity, Datasift datasift) {
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().ensureExtensions(activity);
extensions.put("datasift", datasift);
}
@@ -230,7 +230,7 @@ public class DatasiftInteractionActivitySerializer implements ActivitySerializer
}
public static void addLocationExtension(Activity activity, Interaction interaction) {
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().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/cc5d316f/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 8242da9..cbd29dd 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
@@ -179,7 +179,7 @@ public class DatasiftTwitterActivitySerializer extends DatasiftInteractionActivi
}
public void addLocationExtension(Activity activity, Twitter twitter) {
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().ensureExtensions(activity);
Map<String, Object> location = Maps.newHashMap();
double[] coordiantes = new double[] { twitter.getGeo().getLongitude(), twitter.getGeo().getLatitude() };
Map<String, Object> coords = Maps.newHashMap();
@@ -191,7 +191,7 @@ public class DatasiftTwitterActivitySerializer extends DatasiftInteractionActivi
public void addTwitterExtensions(Activity activity, Twitter twitter, Interaction interaction) {
Retweet retweet = twitter.getRetweet();
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().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/cc5d316f/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 8821006..7c945a7 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
@@ -216,7 +216,7 @@ public class FacebookActivityUtil {
*/
public static void buildExtensions(Activity activity, Post post) {
ObjectMapper mapper = StreamsJacksonMapper.getInstance();
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().ensureExtensions(activity);
if(post.getLikes() != null && post.getLikes().size() > 0) {
Map<String, Object> likes = Maps.newHashMap();
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/cc5d316f/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 b1f0ae0..8b04d26 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
@@ -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 = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extension = ExtensionUtil.getInstance().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/cc5d316f/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 73b326e..d715629 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
@@ -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 = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extension = ExtensionUtil.getInstance().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/cc5d316f/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 3eaac41..7592bab 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
@@ -170,7 +170,7 @@ public class GMailMessageActivitySerializer implements ActivitySerializer<GmailM
}
public static void addGMailExtension(Activity activity, GmailMessage gmailMessage) {
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().ensureExtensions(activity);
extensions.put("gmail", gmailMessage);
}
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/cc5d316f/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 c8ef01e..7f2a134 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
@@ -149,7 +149,7 @@ public class GooglePlusActivityUtil {
* @param gPlusActivity
*/
private static void addGPlusExtensions(Activity activity, com.google.api.services.plus.model.Activity gPlusActivity) {
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().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/cc5d316f/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 3e5099b..f5aaa4e 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
@@ -284,7 +284,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 = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().ensureExtensions(activity);
if(item.getLocation() != null) {
Map<String, Object> coordinates = new HashMap<String, Object>();
@@ -322,7 +322,7 @@ public class InstagramActivityUtil {
* @param item
*/
public static void addInstagramExtensions(Activity activity, MediaFeedData item) {
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().ensureExtensions(activity);
addLocationExtension(activity, item);
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/cc5d316f/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 9b2cc3f..0424875 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
@@ -119,7 +119,7 @@ public class MoreoverUtils {
}
public static void addLocationExtension(Activity activity, Source value) {
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().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>();
@@ -129,7 +129,7 @@ public class MoreoverUtils {
}
public static void addLanguageExtension(Activity activity, Article value) {
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().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/cc5d316f/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 1733057..a86259e 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
@@ -50,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 = ExtensionUtil.ensureExtensions(converted);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().ensureExtensions(converted);
extensions.put("keywords", beat.getContent());
setLocation(beat, extensions);
setObject(beat, converted);
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/cc5d316f/streams-contrib/streams-provider-youtube/src/main/java/com/youtube/serializer/YoutubeActivityUtil.java
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-youtube/src/main/java/com/youtube/serializer/YoutubeActivityUtil.java b/streams-contrib/streams-provider-youtube/src/main/java/com/youtube/serializer/YoutubeActivityUtil.java
index 0474567..09621e6 100644
--- a/streams-contrib/streams-provider-youtube/src/main/java/com/youtube/serializer/YoutubeActivityUtil.java
+++ b/streams-contrib/streams-provider-youtube/src/main/java/com/youtube/serializer/YoutubeActivityUtil.java
@@ -144,7 +144,7 @@ public class YoutubeActivityUtil {
* @param video
*/
private static void addYoutubeExtensions(Activity activity, Video video) {
- Map<String, Object> extensions = ExtensionUtil.ensureExtensions(activity);
+ Map<String, Object> extensions = ExtensionUtil.getInstance().ensureExtensions(activity);
extensions.put("youtube", video);