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

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


The following commit(s) were added to refs/heads/master by this push:
     new 116495c901c Parse function userConfig to Map<String, Object> (#15669)
116495c901c is described below

commit 116495c901ce1c463e748d9ce7981d259d15de83
Author: Christophe Bornet <[email protected]>
AuthorDate: Mon May 23 14:51:25 2022 +0200

    Parse function userConfig to Map<String, Object> (#15669)
    
    Currently only {userConfig: {some-key: some-value}} is allowed which is 
limiting
    With this change any JSON compatible object is allowed. Eg: {userConfig: 
{some-key: [value1, value2]}}
---
 .../src/test/java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java    | 3 ++-
 .../src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java        | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git 
a/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java
 
b/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java
index 5ea9b69a43b..d6efebeb658 100644
--- 
a/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java
+++ 
b/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/CmdFunctionsTest.java
@@ -171,7 +171,8 @@ public class CmdFunctionsTest {
             "--namespace", "ns1",
             "--className", DummyFunction.class.getName(),
             "--dead-letter-topic", "test-dead-letter-topic",
-            "--custom-runtime-options", "custom-runtime-options"
+            "--custom-runtime-options", "custom-runtime-options",
+            "--user-config", "{\"key\": [\"value1\", \"value2\"]}"
         });
 
         CreateFunction creater = cmd.getCreater();
diff --git 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
index 203aea96f2c..f851c02ff63 100644
--- 
a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
+++ 
b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdFunctions.java
@@ -523,7 +523,7 @@ public class CmdFunctions extends CmdBase {
             }
 
             if (null != userConfigString) {
-                Type type = new TypeToken<Map<String, String>>() {}.getType();
+                Type type = new TypeToken<Map<String, Object>>() {}.getType();
                 Map<String, Object> userConfigMap = new 
Gson().fromJson(userConfigString, type);
                 if (userConfigMap == null) {
                     userConfigMap = new HashMap<>();

Reply via email to