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