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 2014/08/13 01:04:50 UTC

[06/13] git commit: user mention detection working v0 bean to help configure managed sources via API

user mention detection working
v0 bean to help configure managed sources via API


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

Branch: refs/heads/STREAMS-142
Commit: 6381dc978b1a9794cd31dec909574015f820bd77
Parents: 9acc2f0
Author: sblackmon <sb...@w2odigital.com>
Authored: Fri Aug 8 11:47:55 2014 -0500
Committer: sblackmon <sb...@apache.org>
Committed: Tue Aug 12 18:04:23 2014 -0500

----------------------------------------------------------------------
 .../regex/AbstractRegexExtensionExtractor.java  |  13 ++-
 .../com/datasift/DatasiftConfiguration.json     | 115 ++++++++++++++++++-
 2 files changed, 123 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/6381dc97/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 afd4972..ef31cdf 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
@@ -19,11 +19,14 @@
 
 package org.apache.streams.regex;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.google.common.base.Strings;
 import com.google.common.collect.Lists;
 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.json.Activity;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -46,6 +49,7 @@ public abstract class AbstractRegexExtensionExtractor<T> implements StreamsProce
 
     private final static Logger LOGGER = LoggerFactory.getLogger(AbstractRegexExtensionExtractor.class);
 
+    private final static ObjectMapper mapper = StreamsJacksonMapper.getInstance();
 
     private String pattern;
 
@@ -61,18 +65,23 @@ public abstract class AbstractRegexExtensionExtractor<T> implements StreamsProce
 
     @Override
     public List<StreamsDatum> process(StreamsDatum entry) {
-        if (!(entry.getDocument() instanceof Activity)) {
+        Activity activity;
+        if (entry.getDocument() instanceof Activity) {
+            activity = (Activity) entry.getDocument();
+        } else if (entry.getDocument() instanceof ObjectNode) {
+            activity = mapper.convertValue(entry.getDocument(), Activity.class);
+        } else {
             return Lists.newArrayList();
         }
         if (Strings.isNullOrEmpty(pattern)) {
             prepare(null);
         }
-        Activity activity = (Activity) entry.getDocument();
         Map<String, List<Integer>> matches = RegexUtils.extractMatches(pattern, activity.getContent());
         Collection<T> entities = ensureTargetObject(activity);
         for (String key : matches.keySet()) {
             entities.add(prepareObject(key));
         }
+        entry.setDocument(activity);
         return Lists.newArrayList(entry);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/6381dc97/streams-contrib/streams-provider-datasift/src/main/jsonschema/com/datasift/DatasiftConfiguration.json
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-datasift/src/main/jsonschema/com/datasift/DatasiftConfiguration.json b/streams-contrib/streams-provider-datasift/src/main/jsonschema/com/datasift/DatasiftConfiguration.json
index f9a3574..ae9daa6 100644
--- a/streams-contrib/streams-provider-datasift/src/main/jsonschema/com/datasift/DatasiftConfiguration.json
+++ b/streams-contrib/streams-provider-datasift/src/main/jsonschema/com/datasift/DatasiftConfiguration.json
@@ -2,8 +2,10 @@
     "type": "object",
     "$schema": "http://json-schema.org/draft-03/schema",
     "id": "#",
-    "javaType" : "org.apache.streams.datasift.DatasiftConfiguration",
-    "javaInterfaces": ["java.io.Serializable"],
+    "javaType": "org.apache.streams.datasift.DatasiftConfiguration",
+    "javaInterfaces": [
+        "java.io.Serializable"
+    ],
     "properties": {
         "apiKey": {
             "type": "string"
@@ -13,10 +15,117 @@
         },
         "streamHash": {
             "type": "array",
-            "minItems": 1,
+            "minItems": 0,
             "items": {
                 "type": "string"
             }
+        },
+        "streamCsdl": {
+            "type": "array",
+            "minItems": 0,
+            "items": {
+                "type": "string"
+            }
+        },
+        "managedSources": {
+            "type": "array",
+            "minItems": 0,
+            "items": {
+                "javaType": "org.apache.streams.datasift.managed.ManagedSource",
+                "type": "object",
+                "properties": {
+                    "auth": {
+                        "type": "array",
+                        "items": {
+                            "javaType": "org.apache.streams.datasift.managed.ManagedSourceAuth",
+                            "type": "object",
+                            "properties": {
+                                "identity_id": {
+                                    "type": "string"
+                                },
+                                "parameters": {
+                                    "type": "object",
+                                    "properties": {
+                                        "value": {
+                                            "type": "string"
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    },
+                    "created_at": {
+                        "type": "number"
+                    },
+                    "id": {
+                        "type": "string"
+                    },
+                    "name": {
+                        "type": "string"
+                    },
+                    "parameters": {
+                        "javaType": "org.apache.streams.datasift.managed.ManagedSourceParameters",
+                        "type": "object",
+                        "properties": {
+                            "comments": {
+                                "type": "boolean"
+                            },
+                            "likes": {
+                                "type": "boolean"
+                            }
+                        }
+                    },
+                    "resources": {
+                        "type": "array",
+                        "items": [
+                            {
+                                "javaType": "org.apache.streams.datasift.managed.ManagedSourceResource",
+                                "type": "object",
+                                "properties": {
+                                    "parameters": {
+                                        "type": "object",
+                                        "properties": {
+                                            "distance": {
+                                                "type": "string"
+                                            },
+                                            "exact_match": {
+                                                "type": "string"
+                                            },
+                                            "foursq": {
+                                                "type": "string"
+                                            },
+                                            "lat": {
+                                                "type": "string"
+                                            },
+                                            "lng": {
+                                                "type": "string"
+                                            },
+                                            "type": {
+                                                "type": "string"
+                                            },
+                                            "usermeta": {
+                                                "type": "string"
+                                            },
+                                            "value": {
+                                                "type": "number"
+                                            }
+                                        }
+                                    },
+                                    "resource_id": {
+                                        "type": "string"
+                                    }
+                                }
+                            }
+                        ]
+                    },
+                    "source_type": {
+                        "type": "string"
+                    },
+                    "status": {
+                        "type": "string"
+                    }
+                }
+            }
         }
     }
 }
\ No newline at end of file