diff --git a/zanata-client-commands/src/main/java/org/zanata/client/commands/ConfigurableOptions.java b/zanata-client-commands/src/main/java/org/zanata/client/commands/ConfigurableOptions.java index d310c64e..8d8cb44e 100644 --- a/zanata-client-commands/src/main/java/org/zanata/client/commands/ConfigurableOptions.java +++ b/zanata-client-commands/src/main/java/org/zanata/client/commands/ConfigurableOptions.java @@ -58,4 +58,11 @@ public interface ConfigurableOptions extends BasicOptions { public void setDisableSSLCert(boolean disableSSLCert); + + /** + * Use to disable check for presence of username and API key before running command. + * + * @return true if this command should fail when username or API key is absent. + */ + public boolean isAuthRequired(); } diff --git a/zanata-client-commands/src/main/java/org/zanata/client/commands/ConfigurableOptionsImpl.java b/zanata-client-commands/src/main/java/org/zanata/client/commands/ConfigurableOptionsImpl.java index 739adbd7..49574784 100644 --- a/zanata-client-commands/src/main/java/org/zanata/client/commands/ConfigurableOptionsImpl.java +++ b/zanata-client-commands/src/main/java/org/zanata/client/commands/ConfigurableOptionsImpl.java @@ -137,4 +137,9 @@ void setDisableSSLCert(boolean disableSSLCert) { this.disableSSLCert = disableSSLCert; } + @Override + public boolean isAuthRequired() { + // auth should be required for most commands + return true; + } } diff --git a/zanata-client-commands/src/main/java/org/zanata/client/commands/ListRemoteOptionsImpl.java b/zanata-client-commands/src/main/java/org/zanata/client/commands/ListRemoteOptionsImpl.java index f6755908..c3c13efb 100644 --- a/zanata-client-commands/src/main/java/org/zanata/client/commands/ListRemoteOptionsImpl.java +++ b/zanata-client-commands/src/main/java/org/zanata/client/commands/ListRemoteOptionsImpl.java @@ -17,4 +17,8 @@ public String getCommandDescription() { return "Lists all remote documents in the configured server/project/version."; } + @Override + public boolean isAuthRequired() { + return false; + } } diff --git a/zanata-client-commands/src/main/java/org/zanata/client/commands/PublicanPullOptionsImpl.java b/zanata-client-commands/src/main/java/org/zanata/client/commands/PublicanPullOptionsImpl.java index 8a4ebb8d..5e987dc5 100644 --- a/zanata-client-commands/src/main/java/org/zanata/client/commands/PublicanPullOptionsImpl.java +++ b/zanata-client-commands/src/main/java/org/zanata/client/commands/PublicanPullOptionsImpl.java @@ -73,4 +73,8 @@ public void setExportPot(boolean exportPot) { this.exportPot = exportPot; } + @Override + public boolean isAuthRequired() { + return false; + } } diff --git a/zanata-client-commands/src/main/java/org/zanata/client/commands/pull/PullOptionsImpl.java b/zanata-client-commands/src/main/java/org/zanata/client/commands/pull/PullOptionsImpl.java index 85ad86bb..c735c96f 100644 --- a/zanata-client-commands/src/main/java/org/zanata/client/commands/pull/PullOptionsImpl.java +++ b/zanata-client-commands/src/main/java/org/zanata/client/commands/pull/PullOptionsImpl.java @@ -164,4 +164,9 @@ void setContinueAfterError(boolean continueAfterError) { public boolean isContinueAfterError() { return continueAfterError; } + + @Override + public boolean isAuthRequired() { + return false; + } } diff --git a/zanata-client-commands/src/main/java/org/zanata/client/commands/stats/GetStatisticsOptionsImpl.java b/zanata-client-commands/src/main/java/org/zanata/client/commands/stats/GetStatisticsOptionsImpl.java index 00ad5c0b..0f055a52 100644 --- a/zanata-client-commands/src/main/java/org/zanata/client/commands/stats/GetStatisticsOptionsImpl.java +++ b/zanata-client-commands/src/main/java/org/zanata/client/commands/stats/GetStatisticsOptionsImpl.java @@ -112,4 +112,9 @@ public String getCommandName() { public String getCommandDescription() { return "Displays translation statistics for a Zanata project version."; } + + @Override + public boolean isAuthRequired() { + return false; + } }