You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streams.apache.org by mf...@apache.org on 2014/07/14 19:31:21 UTC

[03/12] git commit: STREAMS-105 | Ensured that the user_mentions entries are correctly structured and that the activity object has the correct ID and content

STREAMS-105 | Ensured that the user_mentions entries are correctly structured and that the activity object has the correct ID and content


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

Branch: refs/heads/master
Commit: c35c2ef74df06779d50bdf80a79823ade57ac1c4
Parents: d71b159
Author: Robert Douglas <rd...@w2odigital.com>
Authored: Fri Jun 27 16:46:07 2014 -0500
Committer: Robert Douglas <rd...@w2odigital.com>
Committed: Fri Jun 27 16:46:07 2014 -0500

----------------------------------------------------------------------
 .../DatasiftDefaultActivitySerializer.java      |  7 +++--
 .../DatasiftTweetActivitySerializer.java        | 30 ++++++++++++--------
 2 files changed, 23 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/c35c2ef7/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftDefaultActivitySerializer.java
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftDefaultActivitySerializer.java b/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftDefaultActivitySerializer.java
index b8c87e5..09126dc 100644
--- a/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftDefaultActivitySerializer.java
+++ b/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftDefaultActivitySerializer.java
@@ -22,8 +22,8 @@ import java.util.Map;
 import static org.apache.streams.data.util.ActivityUtil.ensureExtensions;
 
 /**
-*
-*/
+ *
+ */
 public class DatasiftDefaultActivitySerializer implements ActivitySerializer<Datasift>, Serializable {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(DatasiftDefaultActivitySerializer.class);
@@ -174,6 +174,9 @@ public class DatasiftDefaultActivitySerializer implements ActivitySerializer<Dat
         ActivityObject actObj = new ActivityObject();
         actObj.setObjectType(interaction.getContenttype());
         actObj.setUrl(interaction.getLink());
+        actObj.setId(interaction.getId());
+        actObj.setContent(interaction.getContent());
+
         return actObj;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/c35c2ef7/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftTweetActivitySerializer.java
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftTweetActivitySerializer.java b/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftTweetActivitySerializer.java
index 3406eb4..465196f 100644
--- a/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftTweetActivitySerializer.java
+++ b/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/serializer/DatasiftTweetActivitySerializer.java
@@ -31,10 +31,12 @@ import org.apache.streams.datasift.twitter.Twitter;
 import org.apache.streams.pojo.json.Activity;
 import org.apache.streams.pojo.json.Actor;
 import org.apache.streams.pojo.json.Image;
+import org.apache.streams.twitter.pojo.UserMentions;
 import org.apache.streams.twitter.serializer.util.TwitterActivityUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -204,8 +206,8 @@ public class DatasiftTweetActivitySerializer extends DatasiftDefaultActivitySeri
                 }
             }
         }
-        extensions.put("hashtags", hashTags);
 
+        extensions.put("hashtags", hashTags);
 
         if(retweet != null) {
             Map<String, Object> rebroadcasts = Maps.newHashMap();
@@ -215,18 +217,22 @@ public class DatasiftTweetActivitySerializer extends DatasiftDefaultActivitySeri
         }
 
         if(interaction.getAdditionalProperties() != null) {
-            Object mentionsObject = interaction.getAdditionalProperties().get("mentions");
-            if(mentionsObject != null ) {
-                if(mentionsObject instanceof List) {
-                    List mentions = (List) mentionsObject;
-                    List<Map<String, Object>> userMentions = Lists.newLinkedList();
-                    for(Object mention : mentions) {
-                        Map<String, Object> actor = Maps.newHashMap();
-                        actor.put("displayName", mention);
-                        userMentions.add(actor);
-                    }
-                    extensions.put("user_mentions", userMentions);
+            ArrayList<String> mentions = (ArrayList<String>) interaction.getAdditionalProperties().get("mentions");
+            ArrayList<Long> mentionIds = (ArrayList<Long>) interaction.getAdditionalProperties().get("mention_ids");
+            ArrayList<UserMentions> userMentions = new ArrayList<UserMentions>();
+
+            if(mentions != null && mentionIds != null && (mentionIds.size() == mentions.size()) && !mentions.isEmpty() && !mentionIds.isEmpty()) {
+                for(int x = 0; x < mentions.size(); x ++) {
+                    UserMentions mention = new UserMentions();
+
+                    mention.setIdStr("id:twitter:" + mentionIds.get(x));
+                    mention.setId(mentionIds.get(x));
+                    mention.setName(mentions.get(x));
+                    mention.setScreenName(mentions.get(x));
+
+                    userMentions.add(mention);
                 }
+                extensions.put("user_mentions", userMentions);
             }
         }
         extensions.put("keywords", interaction.getContent());