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 <55496001+wau...@users.noreply.github.com> 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); } }