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<>();