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/28 21:26:52 UTC

[07/15] git commit: realized datasift managed source config objects don't have setters, so creating streams beans that do.

realized datasift managed source config objects don't have setters, so creating streams beans that do.


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

Branch: refs/heads/master
Commit: 0cf06a53519344eb0c03f458360c1523e2f87310
Parents: 1360223
Author: sblackmon <sb...@w2odigital.com>
Authored: Sun Aug 10 10:43:32 2014 -0500
Committer: sblackmon <sb...@apache.org>
Committed: Tue Aug 12 18:04:23 2014 -0500

----------------------------------------------------------------------
 .../provider/DatasiftManagedSourceSetup.java    | 17 +++-
 .../com/datasift/DatasiftConfiguration.json     | 96 +++++++++++++++++++-
 2 files changed, 109 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/0cf06a53/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/provider/DatasiftManagedSourceSetup.java
----------------------------------------------------------------------
diff --git a/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/provider/DatasiftManagedSourceSetup.java b/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/provider/DatasiftManagedSourceSetup.java
index 03bd7d1..9e2f99e 100644
--- a/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/provider/DatasiftManagedSourceSetup.java
+++ b/streams-contrib/streams-provider-datasift/src/main/java/org/apache/streams/datasift/provider/DatasiftManagedSourceSetup.java
@@ -5,12 +5,15 @@ import com.datasift.client.FutureData;
 import com.datasift.client.managedsource.ManagedSource;
 import com.datasift.client.managedsource.ManagedSourceList;
 import com.datasift.client.managedsource.sources.DataSource;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import org.apache.streams.StreamsConfiguration;
 import org.apache.streams.config.StreamsConfigurator;
 import org.apache.streams.datasift.DatasiftConfiguration;
+import org.apache.streams.datasift.managed.StreamsManagedSource;
+import org.apache.streams.datasift.util.StreamsDatasiftMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -28,9 +31,11 @@ public class DatasiftManagedSourceSetup implements Runnable {
 
     private static DatasiftConfiguration config = DatasiftStreamConfigurator.detectConfiguration(StreamsConfigurator.config);
 
+    private static final ObjectMapper MAPPER = StreamsDatasiftMapper.getInstance();
+
     DataSiftClient client;
     Map<String, ManagedSource> currentManagedSourceMap = Maps.newHashMap();
-    List<ManagedSource> updatedManagedSourceList;
+    List<StreamsManagedSource> updatedManagedSourceList;
 
     public static void main(String[] args) {
         DatasiftManagedSourceSetup job = new DatasiftManagedSourceSetup();
@@ -46,9 +51,15 @@ public class DatasiftManagedSourceSetup implements Runnable {
 
         updatedManagedSourceList = config.getManagedSources();
 
-        for( ManagedSource source : updatedManagedSourceList ) {
+        for( StreamsManagedSource source : updatedManagedSourceList ) {
             ManagedSource current = currentManagedSourceMap.get( source.getId() );
-            ManagedSource updated = client.managedSource().update(current.getName(), (DataSource) source, current).sync();
+            LOGGER.info( "CURRENT: " + current );
+            // merge 'em
+            ManagedSource working = MAPPER.convertValue(source, ManagedSource.class);
+            LOGGER.info( "WORKING: " + working );
+            ManagedSource updated = client.managedSource().update(current.getName(), (DataSource) working, current).sync();
+            LOGGER.info( "UPDATED: " + updated );
+
         }
 
     }

http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/0cf06a53/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 e024f43..9a0f027 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
@@ -31,8 +31,102 @@
             "type": "array",
             "minItems": 0,
             "items": {
+                "javaType": "org.apache.streams.datasift.managed.StreamsManagedSource",
                 "type": "object",
-                "javaType": "com.datasift.client.managedsource.ManagedSource"
+                "properties": {
+                    "auth": {
+                        "type": "array",
+                        "items": {
+                            "javaType": "org.apache.streams.datasift.managed.StreamsManagedSourceAuth",
+                            "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.StreamsManagedSourceParams",
+                        "type": "object",
+                        "properties": {
+                            "comments": {
+                                "type": "boolean"
+                            },
+                            "likes": {
+                                "type": "boolean"
+                            }
+                        }
+                    },
+                    "resources": {
+                        "type": "array",
+                        "items": [
+                            {
+                                "javaType": "org.apache.streams.datasift.managed.StreamsManagedSourceResource",
+                                "type": "object",
+                                "properties": {
+                                    "parameters": {
+                                        "type": "object",
+                                        "properties": {
+                                            "distance": {
+                                                "type": "number"
+                                            },
+                                            "exact_match": {
+                                                "type": "string"
+                                            },
+                                            "foursq": {
+                                                "type": "string"
+                                            },
+                                            "lat": {
+                                                "type": "number"
+                                            },
+                                            "lng": {
+                                                "type": "number"
+                                            },
+                                            "type": {
+                                                "type": "string",
+                                                "enum" : ["user", "tag", "area", "location", "popular"]
+                                            },
+                                            "usermeta": {
+                                                "type": "string"
+                                            },
+                                            "value": {
+                                                "type": "number"
+                                            }
+                                        }
+                                    },
+                                    "resource_id": {
+                                        "type": "string"
+                                    }
+                                }
+                            }
+                        ]
+                    },
+                    "source_type": {
+                        "type": "string",
+                        "enum" : ["facebook_page", "googleplus", "instagram", "yammer"]
+                    },
+                    "status": {
+                        "type": "string"
+                    }
+                }
             }
         }
     }