You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2018/05/10 02:28:16 UTC

[incubator-pulsar] branch master updated: Have the ability to provide source/sink config in cmdline for sources/sinks (#1757)

This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 8b2dfd0  Have the ability to provide source/sink config in cmdline for sources/sinks (#1757)
8b2dfd0 is described below

commit 8b2dfd04d8bac20ade9438c953dd74337835098f
Author: Sanjeev Kulkarni <sa...@gmail.com>
AuthorDate: Wed May 9 19:28:13 2018 -0700

    Have the ability to provide source/sink config in cmdline for sources/sinks (#1757)
---
 .../src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java       | 8 ++++++++
 .../src/main/java/org/apache/pulsar/admin/cli/CmdSources.java     | 8 ++++++++
 .../main/java/org/apache/pulsar/functions/utils/SinkConfig.java   | 2 +-
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
index a6319c1..36fdf46 100644
--- a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
+++ b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
@@ -133,6 +133,8 @@ public class CmdSinks extends CmdBase {
         @Parameter(names = "--sinkConfigFile", description = "The path to a YAML config file specifying the "
                 + "sink's configuration")
         protected String sinkConfigFile;
+        @Parameter(names = "--sinkConfig", description = "Sink config key/values")
+        protected String sinkConfigString;
 
         protected SinkConfig sinkConfig;
 
@@ -199,6 +201,12 @@ public class CmdSinks extends CmdBase {
             if (null == jarFile) {
                 throw new IllegalArgumentException("Connector JAR not specfied");
             }
+
+            if (null != sinkConfigString) {
+                Type type = new TypeToken<Map<String, String>>(){}.getType();
+                Map<String, Object> sinkConfigMap = new Gson().fromJson(sinkConfigString, type);
+                sinkConfig.setConfigs(sinkConfigMap);
+            }
         }
 
         @Override
diff --git a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java
index 7ff908a..79dbb50 100644
--- a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java
+++ b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java
@@ -133,6 +133,8 @@ public class CmdSources extends CmdBase {
         @Parameter(names = "--sourceConfigFile", description = "The path to a YAML config file specifying the "
                 + "source's configuration")
         protected String sourceConfigFile;
+        @Parameter(names = "--sourceConfig", description = "Source config key/values")
+        protected String sourceConfigString;
 
         protected SourceConfig sourceConfig;
 
@@ -184,6 +186,12 @@ public class CmdSources extends CmdBase {
             if (null == jarFile) {
                 throw new IllegalArgumentException("Connector JAR not specfied");
             }
+
+            if (null != sourceConfigString) {
+                Type type = new TypeToken<Map<String, String>>(){}.getType();
+                Map<String, Object> sourceConfigMap = new Gson().fromJson(sourceConfigString, type);
+                sourceConfig.setConfigs(sourceConfigMap);
+            }
         }
 
         @Override
diff --git a/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/SinkConfig.java b/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/SinkConfig.java
index 332ee4c..bfc9a43 100644
--- a/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/SinkConfig.java
+++ b/pulsar-functions/utils/src/main/java/org/apache/pulsar/functions/utils/SinkConfig.java
@@ -38,7 +38,7 @@ public class SinkConfig {
     private String name;
     private String className;
     private Map<String, String> topicToSerdeClassName;
-    private Map<String, String> configs = new HashMap<>();
+    private Map<String, Object> configs = new HashMap<>();
     private int parallelism = 1;
     private FunctionConfig.ProcessingGuarantees processingGuarantees;
 }

-- 
To stop receiving notification emails like this one, please contact
mmerli@apache.org.