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 69e93f9631 [#6014] refactor: CLI output methods for no data hints
(#6015)
69e93f9631 is described below
commit 69e93f96317d09fcdc64104b3507714a0b90973b
Author: Jimmy Lee <[email protected]>
AuthorDate: Sat Dec 28 22:12:32 2024 +0800
[#6014] refactor: CLI output methods for no data hints (#6015)
### What changes were proposed in this pull request?
In the `ListMetalakes` and `ListCatalogs` methods, retain the use of
`output(metalakes)` and `output(catalogs)`. If metalakes or catalogs are
empty arrays, they will be handled by the `output` method in
`PlainFormat` and `TableFormat`.
### Why are the changes needed?
Issue: https://github.com/apache/gravitino/issues/6014
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
No.
---
.../gravitino/cli/commands/ListCatalogs.java | 6 +---
.../gravitino/cli/commands/ListMetalakes.java | 6 +---
.../apache/gravitino/cli/outputs/PlainFormat.java | 24 ++++++++++------
.../apache/gravitino/cli/outputs/TableFormat.java | 32 ++++++++++++++--------
4 files changed, 38 insertions(+), 30 deletions(-)
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 eb9c960b14..e6aaf811ec 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,11 +49,7 @@ public class ListCatalogs extends Command {
try {
GravitinoClient client = buildClient(metalake);
catalogs = client.listCatalogsInfo();
- if (catalogs.length == 0) {
- System.out.println("No catalogs exist.");
- } else {
- output(catalogs);
- }
+ 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/ListMetalakes.java
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/ListMetalakes.java
index b2388e5cd3..ee5ac81d64 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,11 +43,7 @@ public class ListMetalakes extends Command {
try {
GravitinoAdminClient client = buildAdminClient();
metalakes = client.listMetalakes();
- if (metalakes.length == 0) {
- System.out.println("No metalakes exist.");
- } else {
- output(metalakes);
- }
+ output(metalakes);
} catch (Exception exp) {
exitWithError(exp.getMessage());
}
diff --git
a/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/PlainFormat.java
b/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/PlainFormat.java
index 6160634db9..66e616c4f7 100644
---
a/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/PlainFormat.java
+++
b/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/PlainFormat.java
@@ -50,10 +50,14 @@ public class PlainFormat {
static final class MetalakesPlainFormat implements OutputFormat<Metalake[]> {
@Override
public void output(Metalake[] metalakes) {
- List<String> metalakeNames =
-
Arrays.stream(metalakes).map(Metalake::name).collect(Collectors.toList());
- String all = String.join(System.lineSeparator(), metalakeNames);
- System.out.println(all);
+ if (metalakes.length == 0) {
+ System.out.println("No metalakes exist.");
+ } else {
+ List<String> metalakeNames =
+
Arrays.stream(metalakes).map(Metalake::name).collect(Collectors.toList());
+ String all = String.join(System.lineSeparator(), metalakeNames);
+ System.out.println(all);
+ }
}
}
@@ -74,10 +78,14 @@ public class PlainFormat {
static final class CatalogsPlainFormat implements OutputFormat<Catalog[]> {
@Override
public void output(Catalog[] catalogs) {
- List<String> catalogNames =
-
Arrays.stream(catalogs).map(Catalog::name).collect(Collectors.toList());
- String all = String.join(System.lineSeparator(), catalogNames);
- System.out.println(all);
+ if (catalogs.length == 0) {
+ System.out.println("No catalogs exist.");
+ } else {
+ List<String> catalogNames =
+
Arrays.stream(catalogs).map(Catalog::name).collect(Collectors.toList());
+ String all = String.join(System.lineSeparator(), catalogNames);
+ System.out.println(all);
+ }
}
}
}
diff --git
a/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/TableFormat.java
b/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/TableFormat.java
index 6946ad1306..c9f502069b 100644
---
a/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/TableFormat.java
+++
b/clients/cli/src/main/java/org/apache/gravitino/cli/outputs/TableFormat.java
@@ -56,13 +56,17 @@ public class TableFormat {
static final class MetalakesTableFormat implements OutputFormat<Metalake[]> {
@Override
public void output(Metalake[] metalakes) {
- List<String> headers = Collections.singletonList("metalake");
- List<List<String>> rows = new ArrayList<>();
- for (int i = 0; i < metalakes.length; i++) {
- rows.add(Arrays.asList(metalakes[i].name()));
+ if (metalakes.length == 0) {
+ System.out.println("No metalakes exist.");
+ } else {
+ List<String> headers = Collections.singletonList("metalake");
+ List<List<String>> rows = new ArrayList<>();
+ for (int i = 0; i < metalakes.length; i++) {
+ rows.add(Arrays.asList(metalakes[i].name()));
+ }
+ TableFormatImpl tableFormat = new TableFormatImpl();
+ tableFormat.print(headers, rows);
}
- TableFormatImpl tableFormat = new TableFormatImpl();
- tableFormat.print(headers, rows);
}
}
@@ -85,13 +89,17 @@ public class TableFormat {
static final class CatalogsTableFormat implements OutputFormat<Catalog[]> {
@Override
public void output(Catalog[] catalogs) {
- List<String> headers = Collections.singletonList("catalog");
- List<List<String>> rows = new ArrayList<>();
- for (int i = 0; i < catalogs.length; i++) {
- rows.add(Arrays.asList(catalogs[i].name()));
+ if (catalogs.length == 0) {
+ System.out.println("No catalogs exist.");
+ } else {
+ List<String> headers = Collections.singletonList("catalog");
+ List<List<String>> rows = new ArrayList<>();
+ for (int i = 0; i < catalogs.length; i++) {
+ rows.add(Arrays.asList(catalogs[i].name()));
+ }
+ TableFormatImpl tableFormat = new TableFormatImpl();
+ tableFormat.print(headers, rows);
}
- TableFormatImpl tableFormat = new TableFormatImpl();
- tableFormat.print(headers, rows);
}
}