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 530cd95ea [#5830] fix(client): add error handling for no tag in cli.
(#5857)
530cd95ea is described below
commit 530cd95eac4d435bb1d5615dcff7b7126b9589ad
Author: Edward Xu <[email protected]>
AuthorDate: Tue Dec 17 09:59:53 2024 +0800
[#5830] fix(client): add error handling for no tag in cli. (#5857)
### What changes were proposed in this pull request?
Add error handle with a friendly output for no tags command line.
### Why are the changes needed?
Now it throws an exception and may make customer confused.
Fix: #5830
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Unit tests have been attached.
---
.../org/apache/gravitino/cli/commands/CreateTag.java | 12 ++++++++----
.../org/apache/gravitino/cli/commands/DeleteTag.java | 13 +++++++++----
.../test/java/org/apache/gravitino/cli/TestMain.java | 20 ++++++++++++++++++++
3 files changed, 37 insertions(+), 8 deletions(-)
diff --git
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/CreateTag.java
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/CreateTag.java
index 61406c000..373bf0db7 100644
--- a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/CreateTag.java
+++ b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/CreateTag.java
@@ -52,11 +52,15 @@ public class CreateTag extends Command {
/** Create tags. */
@Override
public void handle() {
- boolean hasOnlyOneTag = tags.length == 1;
- if (hasOnlyOneTag) {
- handleOnlyOneTag();
+ if (tags == null || tags.length == 0) {
+ System.err.println(ErrorMessages.TAG_EMPTY);
} else {
- handleMultipleTags();
+ boolean hasOnlyOneTag = tags.length == 1;
+ if (hasOnlyOneTag) {
+ handleOnlyOneTag();
+ } else {
+ handleMultipleTags();
+ }
}
}
diff --git
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/DeleteTag.java
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/DeleteTag.java
index 2d930560c..5b094fc60 100644
--- a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/DeleteTag.java
+++ b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/DeleteTag.java
@@ -57,11 +57,16 @@ public class DeleteTag extends Command {
if (!AreYouSure.really(force)) {
return;
}
- boolean hasOnlyOneTag = tags.length == 1;
- if (hasOnlyOneTag) {
- handleOnlyOneTag();
+
+ if (tags == null || tags.length == 0) {
+ System.err.println(ErrorMessages.TAG_EMPTY);
} else {
- handleMultipleTags();
+ boolean hasOnlyOneTag = tags.length == 1;
+ if (hasOnlyOneTag) {
+ handleOnlyOneTag();
+ } else {
+ handleMultipleTags();
+ }
}
}
diff --git a/clients/cli/src/test/java/org/apache/gravitino/cli/TestMain.java
b/clients/cli/src/test/java/org/apache/gravitino/cli/TestMain.java
index c6d1bacdb..2bc05f7f3 100644
--- a/clients/cli/src/test/java/org/apache/gravitino/cli/TestMain.java
+++ b/clients/cli/src/test/java/org/apache/gravitino/cli/TestMain.java
@@ -143,4 +143,24 @@ public class TestMain {
String entity = Main.resolveEntity(line);
assertEquals(CommandEntities.CATALOG, entity);
}
+
+ @Test
+ @SuppressWarnings("DefaultCharset")
+ public void CreateTagWithNoTag() {
+ String[] args = {"tag", "create", "--metalake", "metalake_test_no_tag"};
+
+ Main.main(args);
+
+ assertTrue(errContent.toString().contains(ErrorMessages.TAG_EMPTY)); //
Expect error
+ }
+
+ @Test
+ @SuppressWarnings("DefaultCharset")
+ public void DeleteTagWithNoTag() {
+ String[] args = {"tag", "delete", "--metalake", "metalake_test_no_tag",
"-f"};
+
+ Main.main(args);
+
+ assertTrue(errContent.toString().contains(ErrorMessages.TAG_EMPTY)); //
Expect error
+ }
}