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 cdc5f8fdc0 [#6097] improve(CLI): Add --quiet option to the Gravitino
CLI (#6447)
cdc5f8fdc0 is described below
commit cdc5f8fdc098d36246a103806f6d5191c2b2c4f2
Author: Lord of Abyss <[email protected]>
AuthorDate: Thu Feb 13 16:10:11 2025 +0800
[#6097] improve(CLI): Add --quiet option to the Gravitino CLI (#6447)
### What changes were proposed in this pull request?
Add --quiet option to the Gravitino CLI
### Why are the changes needed?
Fix: #6097
### Does this PR introduce _any_ user-facing change?
user can use --quiet option suppress the output.
### How was this patch tested?
local test
```bash
gcli tag create -m cli_demo --tag tagA tagB -i
# Tags tagA,tagB created
gcli tag create -m cli_demo --tag tagC tagD -i --quiet
# no output
```
---
.../main/java/org/apache/gravitino/cli/CommandContext.java | 11 +++++++++++
.../main/java/org/apache/gravitino/cli/GravitinoOptions.java | 2 ++
.../main/java/org/apache/gravitino/cli/commands/Command.java | 5 ++++-
3 files changed, 17 insertions(+), 1 deletion(-)
diff --git
a/clients/cli/src/main/java/org/apache/gravitino/cli/CommandContext.java
b/clients/cli/src/main/java/org/apache/gravitino/cli/CommandContext.java
index fc713ba577..b684ede48f 100644
--- a/clients/cli/src/main/java/org/apache/gravitino/cli/CommandContext.java
+++ b/clients/cli/src/main/java/org/apache/gravitino/cli/CommandContext.java
@@ -29,6 +29,7 @@ public class CommandContext {
private final boolean ignoreVersions;
private final String outputFormat;
private final String url;
+ private final boolean quiet;
private final CommandLine line;
private String ignoreEnv;
@@ -50,6 +51,7 @@ public class CommandContext {
line.hasOption(GravitinoOptions.OUTPUT)
? line.getOptionValue(GravitinoOptions.OUTPUT)
: Command.OUTPUT_FORMAT_PLAIN;
+ this.quiet = line.hasOption(GravitinoOptions.QUIET);
this.url = getUrl();
this.ignoreVersions = getIgnore();
@@ -91,6 +93,15 @@ public class CommandContext {
return outputFormat;
}
+ /**
+ * Returns whether the command information should be suppressed.
+ *
+ * @return True if the command information should be suppressed.
+ */
+ public boolean quiet() {
+ return quiet;
+ }
+
/**
* Retrieves the Gravitino URL from the command line options or the
GRAVITINO_URL environment
* variable or the Gravitino config file.
diff --git
a/clients/cli/src/main/java/org/apache/gravitino/cli/GravitinoOptions.java
b/clients/cli/src/main/java/org/apache/gravitino/cli/GravitinoOptions.java
index 47f9914233..9d304c8775 100644
--- a/clients/cli/src/main/java/org/apache/gravitino/cli/GravitinoOptions.java
+++ b/clients/cli/src/main/java/org/apache/gravitino/cli/GravitinoOptions.java
@@ -48,6 +48,7 @@ public class GravitinoOptions {
public static final String PRIVILEGE = "privilege";
public static final String PROPERTIES = "properties";
public static final String PROPERTY = "property";
+ public static final String QUIET = "quiet";
public static final String PROVIDER = "provider";
public static final String RENAME = "rename";
public static final String ROLE = "role";
@@ -91,6 +92,7 @@ public class GravitinoOptions {
options.addOption(createSimpleOption(null, SORTORDER, "display sortorder
information"));
options.addOption(createSimpleOption(null, ENABLE, "enable entities"));
options.addOption(createSimpleOption(null, DISABLE, "disable entities"));
+ options.addOption(createSimpleOption(null, QUIET, "quiet mode"));
// Create/update options
options.addOption(createArgOption(RENAME, "new entity name"));
diff --git
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/Command.java
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/Command.java
index c9d758c17a..6ecef9278b 100644
--- a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/Command.java
+++ b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/Command.java
@@ -85,7 +85,10 @@ public abstract class Command {
* @param message The message to display.
*/
public void printInformation(String message) {
- // so that future outoput could be suppressed
+ if (context.quiet()) {
+ return;
+ }
+
System.out.print(message);
}