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 <[email protected]>
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 <[email protected]>
---
.../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);
}
}