You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ni...@apache.org on 2020/09/10 06:19:43 UTC
[ignite] 01/02: IGNITE-13422 --enable-experimental option for
control.sh introduced
This is an automated email from the ASF dual-hosted git repository.
nizhikov pushed a commit to branch IGNITE-13422
in repository https://gitbox.apache.org/repos/asf/ignite.git
commit 54efa3887ee034244c7080ba726c26b123985f39
Author: Nikolay Izhikov <ni...@apache.org>
AuthorDate: Thu Sep 10 00:49:49 2020 +0300
IGNITE-13422 --enable-experimental option for control.sh introduced
---
.../internal/commandline/CommandHandler.java | 30 +++++++++++++++++++++-
.../internal/commandline/CommonArgParser.java | 9 +++++++
2 files changed, 38 insertions(+), 1 deletion(-)
diff --git a/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java b/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java
index 32875b7..54b6433 100644
--- a/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java
+++ b/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java
@@ -57,6 +57,7 @@ import org.jetbrains.annotations.Nullable;
import static java.lang.System.lineSeparator;
import static java.util.Objects.nonNull;
+import static org.apache.ignite.IgniteSystemProperties.IGNITE_ENABLE_EXPERIMENTAL_COMMAND;
import static org.apache.ignite.internal.IgniteVersionUtils.ACK_VER_STR;
import static org.apache.ignite.internal.IgniteVersionUtils.COPYRIGHT;
import static org.apache.ignite.internal.commandline.CommandLogger.DOUBLE_INDENT;
@@ -64,6 +65,7 @@ import static org.apache.ignite.internal.commandline.CommandLogger.INDENT;
import static org.apache.ignite.internal.commandline.CommandLogger.errorMessage;
import static org.apache.ignite.internal.commandline.CommandLogger.optional;
import static org.apache.ignite.internal.commandline.CommonArgParser.CMD_AUTO_CONFIRMATION;
+import static org.apache.ignite.internal.commandline.CommonArgParser.CMD_ENABLE_EXPERIMENTAL;
import static org.apache.ignite.internal.commandline.CommonArgParser.CMD_VERBOSE;
import static org.apache.ignite.internal.commandline.CommonArgParser.getCommonOptions;
import static org.apache.ignite.internal.commandline.TaskExecutor.DFLT_HOST;
@@ -229,7 +231,7 @@ public class CommandHandler {
boolean verbose = false;
try {
- if (F.isEmpty(rawArgs) || (rawArgs.size() == 1 && CMD_HELP.equalsIgnoreCase(rawArgs.get(0)))) {
+ if (isHelp(rawArgs)) {
printHelp();
return EXIT_CODE_OK;
@@ -381,6 +383,32 @@ public class CommandHandler {
}
}
+ /** @return {@code True} if arguments metans "print help" command. */
+ private boolean isHelp(List<String> rawArgs) {
+ if(F.isEmpty(rawArgs))
+ return true;
+
+ if (rawArgs.size() < 3) {
+ boolean help = false;
+ boolean experimental = false;
+
+ for (String arg : rawArgs) {
+ if (CMD_HELP.equalsIgnoreCase(arg))
+ help = true;
+ else if (CMD_ENABLE_EXPERIMENTAL.equalsIgnoreCase(arg)) {
+ System.setProperty(IGNITE_ENABLE_EXPERIMENTAL_COMMAND, "true");
+
+ experimental = true;
+ }
+ }
+
+ return (help && experimental) ||
+ ((help || experimental) && rawArgs.size() == 1);
+ }
+
+ return false;
+ }
+
/**
* Analyses passed exception to find out whether it is related to SSL misconfiguration issues.
*
diff --git a/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommonArgParser.java b/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommonArgParser.java
index 5d3568f..fa99b92 100644
--- a/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommonArgParser.java
+++ b/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommonArgParser.java
@@ -26,6 +26,7 @@ import java.util.Set;
import java.util.logging.Logger;
import org.apache.ignite.ssl.SslContextFactory;
+import static org.apache.ignite.IgniteSystemProperties.IGNITE_ENABLE_EXPERIMENTAL_COMMAND;
import static org.apache.ignite.internal.client.GridClientConfiguration.DFLT_PING_INTERVAL;
import static org.apache.ignite.internal.client.GridClientConfiguration.DFLT_PING_TIMEOUT;
import static org.apache.ignite.internal.commandline.CommandLogger.optional;
@@ -94,6 +95,9 @@ public class CommonArgParser {
/** */
static final String CMD_TRUSTSTORE_TYPE = "--truststore-type";
+ /** */
+ static final String CMD_ENABLE_EXPERIMENTAL = "--enable-experimental";
+
/** List of optional auxiliary commands. */
private static final Set<String> AUX_COMMANDS = new HashSet<>();
@@ -154,6 +158,7 @@ public class CommonArgParser {
list.add(optional(CMD_TRUSTSTORE_TYPE, "TRUSTSTORE_TYPE"));
list.add(optional(CMD_TRUSTSTORE, "TRUSTSTORE_PATH"));
list.add(optional(CMD_TRUSTSTORE_PASSWORD, "TRUSTSTORE_PASSWORD"));
+ list.add(optional(CMD_ENABLE_EXPERIMENTAL));
return list.toArray(new String[0]);
}
@@ -321,6 +326,10 @@ public class CommonArgParser {
verbose = true;
break;
+ case CMD_ENABLE_EXPERIMENTAL:
+ System.setProperty(IGNITE_ENABLE_EXPERIMENTAL_COMMAND, "true");
+ break;
+
default:
throw new IllegalArgumentException("Unexpected argument: " + str);
}