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

sijie 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 333a75c  If left unspecified, function tenants and namespaces should 
have the same behavior as topics (#1843)
333a75c is described below

commit 333a75cf33b369b0d882a620f82f9ad02efb0f47
Author: Sanjeev Kulkarni <[email protected]>
AuthorDate: Fri May 25 11:17:54 2018 -0700

    If left unspecified, function tenants and namespaces should have the same 
behavior as topics (#1843)
    
    * If left unspecified, function tenants and namespaces should have the same 
behavior as topics
    
    * Address comments
    
    * Fixed unittest
    
    * Fix Unittest
---
 .../org/apache/pulsar/admin/cli/CmdFunctionsTest.java    |  6 +++---
 .../java/org/apache/pulsar/admin/cli/CmdFunctions.java   | 16 ++++------------
 .../main/java/org/apache/pulsar/admin/cli/CmdSinks.java  |  7 +++++++
 .../java/org/apache/pulsar/admin/cli/CmdSources.java     |  7 +++++++
 4 files changed, 21 insertions(+), 15 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 3d0bb2b..de4ab40 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
@@ -209,7 +209,7 @@ public class CmdFunctionsTest {
         });
 
         CreateFunction creater = cmd.getCreater();
-        assertEquals("tenant", creater.getFunctionConfig().getTenant());
+        assertEquals("public", creater.getFunctionConfig().getTenant());
         verify(functions, times(1)).createFunction(any(FunctionDetails.class), 
anyString());
     }
 
@@ -228,8 +228,8 @@ public class CmdFunctionsTest {
         });
 
         CreateFunction creater = cmd.getCreater();
-        assertEquals("tenant", creater.getFunctionConfig().getTenant());
-        assertEquals("namespace", creater.getFunctionConfig().getNamespace());
+        assertEquals("public", creater.getFunctionConfig().getTenant());
+        assertEquals("default", creater.getFunctionConfig().getNamespace());
         verify(functions, times(1)).createFunction(any(FunctionDetails.class), 
anyString());
     }
 
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 21de29b..d565568 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
@@ -22,6 +22,8 @@ import static 
com.google.common.base.Preconditions.checkNotNull;
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.util.Objects.isNull;
 import static org.apache.bookkeeper.common.concurrent.FutureUtils.result;
+import static org.apache.pulsar.common.naming.TopicName.DEFAULT_NAMESPACE;
+import static org.apache.pulsar.common.naming.TopicName.PUBLIC_TENANT;
 
 import com.beust.jcommander.Parameter;
 import com.beust.jcommander.Parameters;
@@ -606,21 +608,11 @@ public class CmdFunctions extends CmdBase {
         }
 
         private void inferMissingTenant(FunctionConfig functionConfig) {
-            try {
-                String inputTopic = getUniqueInput(functionConfig);
-                
functionConfig.setTenant(TopicName.get(inputTopic).getTenant());
-            } catch (IllegalArgumentException ex) {
-                throw new RuntimeException("You need to specify a tenant for 
the function", ex);
-            }
+            functionConfig.setTenant(PUBLIC_TENANT);
         }
 
         private void inferMissingNamespace(FunctionConfig functionConfig) {
-            try {
-                String inputTopic = getUniqueInput(functionConfig);
-                
functionConfig.setNamespace(TopicName.get(inputTopic).getNamespacePortion());
-            } catch (IllegalArgumentException ex) {
-                throw new RuntimeException("You need to specify a namespace 
for the function");
-            }
+            functionConfig.setNamespace(DEFAULT_NAMESPACE);
         }
 
         private void inferMissingOutput(FunctionConfig functionConfig) {
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 fa99091..822d600 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
@@ -56,6 +56,9 @@ import org.apache.pulsar.io.core.Sink;
 
 import net.jodah.typetools.TypeResolver;
 
+import static org.apache.pulsar.common.naming.TopicName.DEFAULT_NAMESPACE;
+import static org.apache.pulsar.common.naming.TopicName.PUBLIC_TENANT;
+
 @Getter
 @Parameters(commandDescription = "Interface for managing Pulsar Sinks (Egress 
data from Pulsar)")
 public class CmdSinks extends CmdBase {
@@ -182,9 +185,13 @@ public class CmdSinks extends CmdBase {
 
             if (null != tenant) {
                 sinkConfig.setTenant(tenant);
+            } else if (sinkConfig.getTenant() == null) {
+                sinkConfig.setTenant(PUBLIC_TENANT);
             }
             if (null != namespace) {
                 sinkConfig.setNamespace(namespace);
+            } else if (sinkConfig.getNamespace() == null) {
+                sinkConfig.setNamespace(DEFAULT_NAMESPACE);
             }
             if (null != name) {
                 sinkConfig.setName(name);
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 6cdc37c..d16fb5b 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
@@ -50,6 +50,9 @@ import org.apache.pulsar.io.core.Source;
 
 import net.jodah.typetools.TypeResolver;
 
+import static org.apache.pulsar.common.naming.TopicName.DEFAULT_NAMESPACE;
+import static org.apache.pulsar.common.naming.TopicName.PUBLIC_TENANT;
+
 @Getter
 @Parameters(commandDescription = "Interface for managing Pulsar Source 
(Ingress data to Pulsar)")
 public class CmdSources extends CmdBase {
@@ -175,9 +178,13 @@ public class CmdSources extends CmdBase {
 
             if (null != tenant) {
                 sourceConfig.setTenant(tenant);
+            } else if (sourceConfig.getTenant() == null) {
+                sourceConfig.setTenant(PUBLIC_TENANT);
             }
             if (null != namespace) {
                 sourceConfig.setNamespace(namespace);
+            } else if (sourceConfig.getNamespace() == null) {
+                sourceConfig.setNamespace(DEFAULT_NAMESPACE);
             }
             if (null != name) {
                 sourceConfig.setName(name);

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to