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

jmclean pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new 8b33df56f [#5924] improvement(CLI): fix cli list command produce no 
outputs (#5942)
8b33df56f is described below

commit 8b33df56f95a018c06ae36d7ae3da069b4ec96ba
Author: Lord of Abyss <103809695+abyss-l...@users.noreply.github.com>
AuthorDate: Tue Dec 24 05:31:52 2024 +0800

    [#5924] improvement(CLI): fix cli list command produce no outputs (#5942)
    
    ### What changes were proposed in this pull request?
    
    When using the list command, it’s helpful to provide a friendly
    information if no data is retrieve.
    
    ### Why are the changes needed?
    
    Fix: #5924
    
    ### Does this PR introduce _any_ user-facing change?
    
    NO
    
    ### How was this patch tested?
    
    ```bash
    bin/gcli.sh catalog list -m demo_metalake2
    # No catalogs exists.
    
    bin/gcli.sh table list -m demo_metalake --name Hive_catalog.empty
    # output: No tables exists.
    ```
    
    ---------
    
    Co-authored-by: Qiming Teng <ten...@outlook.com>
---
 .../main/java/org/apache/gravitino/cli/commands/ListAllTags.java    | 2 +-
 .../main/java/org/apache/gravitino/cli/commands/ListCatalogs.java   | 6 +++++-
 .../main/java/org/apache/gravitino/cli/commands/ListFilesets.java   | 2 +-
 .../src/main/java/org/apache/gravitino/cli/commands/ListGroups.java | 2 +-
 .../main/java/org/apache/gravitino/cli/commands/ListMetalakes.java  | 6 +++++-
 .../src/main/java/org/apache/gravitino/cli/commands/ListRoles.java  | 2 +-
 .../src/main/java/org/apache/gravitino/cli/commands/ListSchema.java | 2 +-
 .../src/main/java/org/apache/gravitino/cli/commands/ListTables.java | 5 ++++-
 .../src/main/java/org/apache/gravitino/cli/commands/ListTopics.java | 5 ++++-
 9 files changed, 23 insertions(+), 9 deletions(-)

diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListAllTags.java 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListAllTags.java
index fa6c74c7a..cded12808 100644
--- 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListAllTags.java
+++ 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListAllTags.java
@@ -53,7 +53,7 @@ public class ListAllTags extends Command {
       exitWithError(exp.getMessage());
     }
 
-    String all = String.join(",", tags);
+    String all = tags.length == 0 ? "No tags exist." : String.join(",", tags);
 
     System.out.println(all.toString());
   }
diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListCatalogs.java 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListCatalogs.java
index e6aaf811e..eb9c960b1 100644
--- 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListCatalogs.java
+++ 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListCatalogs.java
@@ -49,7 +49,11 @@ public class ListCatalogs extends Command {
     try {
       GravitinoClient client = buildClient(metalake);
       catalogs = client.listCatalogsInfo();
-      output(catalogs);
+      if (catalogs.length == 0) {
+        System.out.println("No catalogs exist.");
+      } else {
+        output(catalogs);
+      }
     } catch (NoSuchMetalakeException err) {
       exitWithError(ErrorMessages.UNKNOWN_METALAKE);
     } catch (Exception exp) {
diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListFilesets.java 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListFilesets.java
index 34839f683..d00ba3e6b 100644
--- 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListFilesets.java
+++ 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListFilesets.java
@@ -71,7 +71,7 @@ public class ListFilesets extends Command {
       exitWithError(exp.getMessage());
     }
 
-    String all = Joiner.on(",").join(filesets);
+    String all = filesets.length == 0 ? "No filesets exist." : 
Joiner.on(",").join(filesets);
 
     System.out.println(all.toString());
   }
diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListGroups.java 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListGroups.java
index fd9009a75..a517b4dae 100644
--- 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListGroups.java
+++ 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListGroups.java
@@ -53,7 +53,7 @@ public class ListGroups extends Command {
       exitWithError(exp.getMessage());
     }
 
-    String all = String.join(",", groups);
+    String all = groups.length == 0 ? "No groups exist." : String.join(",", 
groups);
 
     System.out.println(all.toString());
   }
diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListMetalakes.java
 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListMetalakes.java
index ee5ac81d6..b2388e5cd 100644
--- 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListMetalakes.java
+++ 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListMetalakes.java
@@ -43,7 +43,11 @@ public class ListMetalakes extends Command {
     try {
       GravitinoAdminClient client = buildAdminClient();
       metalakes = client.listMetalakes();
-      output(metalakes);
+      if (metalakes.length == 0) {
+        System.out.println("No metalakes exist.");
+      } else {
+        output(metalakes);
+      }
     } catch (Exception exp) {
       exitWithError(exp.getMessage());
     }
diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListRoles.java 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListRoles.java
index a7bb1cd20..2ecb35bd0 100644
--- a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListRoles.java
+++ b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListRoles.java
@@ -53,7 +53,7 @@ public class ListRoles extends Command {
       exitWithError(exp.getMessage());
     }
 
-    String all = String.join(",", roles);
+    String all = roles.length == 0 ? "No roles exist." : String.join(",", 
roles);
 
     System.out.println(all.toString());
   }
diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListSchema.java 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListSchema.java
index cf5fe487c..110a6477a 100644
--- 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListSchema.java
+++ 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListSchema.java
@@ -60,7 +60,7 @@ public class ListSchema extends Command {
       exitWithError(exp.getMessage());
     }
 
-    String all = Joiner.on(",").join(schemas);
+    String all = schemas.length == 0 ? "No schemas exist." : 
Joiner.on(",").join(schemas);
 
     System.out.println(all.toString());
   }
diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListTables.java 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListTables.java
index e6afb9b51..41a71e87c 100644
--- 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListTables.java
+++ 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListTables.java
@@ -61,7 +61,10 @@ public class ListTables extends TableCommand {
       tableNames.add(tables[i].name());
     }
 
-    String all = Joiner.on(System.lineSeparator()).join(tableNames);
+    String all =
+        tableNames.isEmpty()
+            ? "No tables exist."
+            : Joiner.on(System.lineSeparator()).join(tableNames);
 
     System.out.println(all.toString());
   }
diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListTopics.java 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListTopics.java
index af4cc2177..a2da6a69a 100644
--- 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListTopics.java
+++ 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListTopics.java
@@ -66,7 +66,10 @@ public class ListTopics extends Command {
       exitWithError(exp.getMessage());
     }
 
-    String all = Joiner.on(",").join(Arrays.stream(topics).map(topic -> 
topic.name()).iterator());
+    String all =
+        topics.length == 0
+            ? "No topics exist."
+            : Joiner.on(",").join(Arrays.stream(topics).map(topic -> 
topic.name()).iterator());
     System.out.println(all);
   }
 }

Reply via email to