IGNITE-8898 Renamed command argument '--force' to '--yes' for control.sh

Signed-off-by: Andrey Gura <ag...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/413b4a8a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/413b4a8a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/413b4a8a

Branch: refs/heads/ignite-8446
Commit: 413b4a8a1f905e31e3a8770d2c78ca953d39a60f
Parents: 0011cc5
Author: vd-pyatkov <vpyat...@gridgain.com>
Authored: Mon Jul 9 20:15:49 2018 +0300
Committer: Andrey Gura <ag...@apache.org>
Committed: Mon Jul 9 20:15:49 2018 +0300

----------------------------------------------------------------------
 .../ignite/internal/commandline/Arguments.java  | 14 ++---
 .../internal/commandline/CommandHandler.java    | 35 +++++------
 .../commandline/CommandHandlerParsingTest.java  | 61 ++++++++++++++++++++
 .../ignite/util/GridCommandHandlerTest.java     |  9 ++-
 4 files changed, 90 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/413b4a8a/modules/core/src/main/java/org/apache/ignite/internal/commandline/Arguments.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/commandline/Arguments.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/commandline/Arguments.java
index 0d4b38e..5b8a0dc 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/commandline/Arguments.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/commandline/Arguments.java
@@ -41,7 +41,7 @@ public class Arguments {
     private String pwd;
 
     /** Force option is used for auto confirmation. */
-    private boolean force;
+    private boolean autoConfirmation;
 
     /**
      * Action for baseline command.
@@ -91,11 +91,11 @@ public class Arguments {
      * @param walArgs WAL args.
      * @param pingTimeout Ping timeout. See {@link 
GridClientConfiguration#pingTimeout}.
      * @param pingInterval Ping interval. See {@link 
GridClientConfiguration#pingInterval}.
-     * @param force Force flag.
+     * @param autoConfirmation Auto confirmation flag.
      */
     public Arguments(Command cmd, String host, String port, String user, 
String pwd, String baselineAct,
                      String baselineArgs, VisorTxTaskArg txArg, CacheArguments 
cacheArgs, String walAct, String walArgs,
-                     Long pingTimeout, Long pingInterval, boolean force) {
+                     Long pingTimeout, Long pingInterval, boolean 
autoConfirmation) {
         this.cmd = cmd;
         this.host = host;
         this.port = port;
@@ -109,7 +109,7 @@ public class Arguments {
         this.walArgs = walArgs;
         this.pingTimeout = pingTimeout;
         this.pingInterval = pingInterval;
-        this.force = force;
+        this.autoConfirmation = autoConfirmation;
     }
 
     /**
@@ -208,9 +208,9 @@ public class Arguments {
     }
 
     /**
-     * @return Force option.
+     * @return Auto confirmation option.
      */
-    public boolean force() {
-        return force;
+    public boolean autoConfirmation() {
+        return autoConfirmation;
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/413b4a8a/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java
index 6b506d3..ca14e08 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java
@@ -145,8 +145,8 @@ public class CommandHandler {
     /** */
     private static final String CMD_USER = "--user";
 
-    /** Force option is used for auto confirmation. */
-    private static final String CMD_FORCE = "--force";
+    /** Option is used for auto confirmation. */
+    private static final String CMD_AUTO_CONFIRMATION = "--yes";
 
     /** */
     protected static final String CMD_PING_INTERVAL = "--ping-interval";
@@ -162,7 +162,7 @@ public class CommandHandler {
         AUX_COMMANDS.add(CMD_PORT);
         AUX_COMMANDS.add(CMD_PASSWORD);
         AUX_COMMANDS.add(CMD_USER);
-        AUX_COMMANDS.add(CMD_FORCE);
+        AUX_COMMANDS.add(CMD_AUTO_CONFIRMATION);
         AUX_COMMANDS.add(CMD_PING_INTERVAL);
         AUX_COMMANDS.add(CMD_PING_TIMEOUT);
     }
@@ -353,9 +353,6 @@ public class CommandHandler {
      * @return Prompt text if confirmation needed, otherwise {@code null}.
      */
     private String confirmationPrompt(Arguments args) {
-        if (args.force())
-            return null;
-
         String str = null;
 
         switch (args.command()) {
@@ -1352,7 +1349,7 @@ public class CommandHandler {
 
         String walArgs = "";
 
-        boolean force = false;
+        boolean autoConfirmation = false;
 
         CacheArguments cacheArgs = null;
 
@@ -1474,8 +1471,8 @@ public class CommandHandler {
 
                         break;
 
-                    case CMD_FORCE:
-                        force = true;
+                    case CMD_AUTO_CONFIRMATION:
+                        autoConfirmation = true;
 
                         break;
 
@@ -1502,7 +1499,7 @@ public class CommandHandler {
             throw new IllegalArgumentException("Both user and password should 
be specified");
 
         return new Arguments(cmd, host, port, user, pwd, baselineAct, 
baselineArgs, txArgs, cacheArgs, walAct, walArgs,
-                pingTimeout, pingInterval, force);
+                pingTimeout, pingInterval, autoConfirmation);
     }
 
     /**
@@ -1835,22 +1832,22 @@ public class CommandHandler {
                 log("This utility can do the following commands:");
 
                 usage("  Activate cluster:", ACTIVATE);
-                usage("  Deactivate cluster:", DEACTIVATE, " [--force]");
+                usage("  Deactivate cluster:", DEACTIVATE, " [" + 
CMD_AUTO_CONFIRMATION + "]");
                 usage("  Print current cluster state:", STATE);
                 usage("  Print cluster baseline topology:", BASELINE);
-                usage("  Add nodes into baseline topology:", BASELINE, " add 
consistentId1[,consistentId2,....,consistentIdN] [--force]");
-                usage("  Remove nodes from baseline topology:", BASELINE, " 
remove consistentId1[,consistentId2,....,consistentIdN] [--force]");
-                usage("  Set baseline topology:", BASELINE, " set 
consistentId1[,consistentId2,....,consistentIdN] [--force]");
-                usage("  Set baseline topology based on version:", BASELINE, " 
version topologyVersion [--force]");
+                usage("  Add nodes into baseline topology:", BASELINE, " add 
consistentId1[,consistentId2,....,consistentIdN] [" + CMD_AUTO_CONFIRMATION + 
"]");
+                usage("  Remove nodes from baseline topology:", BASELINE, " 
remove consistentId1[,consistentId2,....,consistentIdN] [" + 
CMD_AUTO_CONFIRMATION + "]");
+                usage("  Set baseline topology:", BASELINE, " set 
consistentId1[,consistentId2,....,consistentIdN] [" + CMD_AUTO_CONFIRMATION + 
"]");
+                usage("  Set baseline topology based on version:", BASELINE, " 
version topologyVersion [" + CMD_AUTO_CONFIRMATION + "]");
                 usage("  List or kill transactions:", TX, " [xid XID] 
[minDuration SECONDS] " +
                     "[minSize SIZE] [label PATTERN_REGEX] [servers|clients] " +
-                    "[nodes consistentId1[,consistentId2,....,consistentIdN] 
[limit NUMBER] [order DURATION|SIZE|", CMD_TX_ORDER_START_TIME, "] [kill] 
[--force]");
+                    "[nodes consistentId1[,consistentId2,....,consistentIdN] 
[limit NUMBER] [order DURATION|SIZE|", CMD_TX_ORDER_START_TIME, "] [kill] [" + 
CMD_AUTO_CONFIRMATION + "]");
 
                 if(enableExperimental) {
                     usage("  Print absolute paths of unused archived wal 
segments on each node:", WAL,
                             " print 
[consistentId1,consistentId2,....,consistentIdN]");
                     usage("  Delete unused archived wal segments on each 
node:", WAL,
-                            " delete 
[consistentId1,consistentId2,....,consistentIdN] [--force]");
+                            " delete 
[consistentId1,consistentId2,....,consistentIdN] [" + CMD_AUTO_CONFIRMATION + 
"]");
                 }
 
                 log("  View caches information in a cluster. For more details 
type:");
@@ -1858,7 +1855,7 @@ public class CommandHandler {
                 nl();
 
                 log("By default commands affecting the cluster require 
interactive confirmation.");
-                log("Use --force option to disable it.");
+                log("Use " + CMD_AUTO_CONFIRMATION + " option to disable it.");
                 nl();
 
                 log("Default values:");
@@ -1880,7 +1877,7 @@ public class CommandHandler {
 
             Arguments args = parseAndValidate(rawArgs);
 
-            if (!confirm(args)) {
+            if (!args.autoConfirmation() && !confirm(args)) {
                 log("Operation cancelled.");
 
                 return EXIT_CODE_OK;

http://git-wip-us.apache.org/repos/asf/ignite/blob/413b4a8a/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java
index 737c0c7..0ac5d1a 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java
@@ -23,6 +23,7 @@ import java.util.UUID;
 import junit.framework.TestCase;
 import org.apache.ignite.internal.commandline.cache.CacheArguments;
 import org.apache.ignite.internal.commandline.cache.CacheCommand;
+import org.apache.ignite.internal.visor.tx.VisorTxOperation;
 import org.apache.ignite.internal.visor.tx.VisorTxProjection;
 import org.apache.ignite.internal.visor.tx.VisorTxSortOrder;
 import org.apache.ignite.internal.visor.tx.VisorTxTaskArg;
@@ -259,6 +260,66 @@ public class CommandHandlerParsingTest extends TestCase {
     }
 
     /**
+     * Tests that the auto confirmation flag was correctly parsed.
+     */
+    public void testParseAutoConfirmationFlag() {
+        CommandHandler hnd = new CommandHandler();
+
+        for (Command cmd : Command.values()) {
+            if (cmd != Command.DEACTIVATE
+                && cmd != Command.BASELINE
+                && cmd != Command.TX)
+                continue;
+
+            Arguments args = hnd.parseAndValidate(asList(cmd.text()));
+
+            assertEquals(cmd, args.command());
+            assertEquals(DFLT_HOST, args.host());
+            assertEquals(DFLT_PORT, args.port());
+            assertEquals(false, args.autoConfirmation());
+
+            switch (cmd) {
+                case DEACTIVATE: {
+                    args = hnd.parseAndValidate(asList(cmd.text(), "--yes"));
+
+                    assertEquals(cmd, args.command());
+                    assertEquals(DFLT_HOST, args.host());
+                    assertEquals(DFLT_PORT, args.port());
+                    assertEquals(true, args.autoConfirmation());
+
+                    break;
+                }
+                case BASELINE: {
+                    for (String baselineAct : asList("add", "remove", "set")) {
+                        args = hnd.parseAndValidate(asList(cmd.text(), 
baselineAct, "c_id1,c_id2", "--yes"));
+
+                        assertEquals(cmd, args.command());
+                        assertEquals(DFLT_HOST, args.host());
+                        assertEquals(DFLT_PORT, args.port());
+                        assertEquals(baselineAct, args.baselineAction());
+                        assertEquals("c_id1,c_id2", args.baselineArguments());
+                        assertEquals(true, args.autoConfirmation());
+                    }
+
+                    break;
+                }
+                case TX: {
+                    args = hnd.parseAndValidate(asList(cmd.text(), "xid", 
"xid1", "minDuration", "10", "kill", "--yes"));
+
+                    assertEquals(cmd, args.command());
+                    assertEquals(DFLT_HOST, args.host());
+                    assertEquals(DFLT_PORT, args.port());
+                    assertEquals(true, args.autoConfirmation());
+
+                    assertEquals("xid1", args.transactionArguments().getXid());
+                    assertEquals(10_000, 
args.transactionArguments().getMinDuration().longValue());
+                    assertEquals(VisorTxOperation.KILL, 
args.transactionArguments().getOperation());
+                }
+            }
+        }
+    }
+
+    /**
      * Tests host and port arguments.
      * Tests connection settings arguments.
      */

http://git-wip-us.apache.org/repos/asf/ignite/blob/413b4a8a/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java 
b/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
index 5dd9b2b..c37b17c 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
@@ -109,6 +109,9 @@ public class GridCommandHandlerTest extends 
GridCommonAbstractTest {
     /** Test out - can be injected via {@link #injectTestSystemOut()} instead 
of System.out and analyzed in test. */
     protected ByteArrayOutputStream testOut;
 
+    /** Option is used for auto confirmation. */
+    private static final String CMD_AUTO_CONFIRMATION = "--yes";
+
     /**
      * @return Folder in work directory.
      * @throws IgniteCheckedException If failed to resolve folder name.
@@ -209,7 +212,7 @@ public class GridCommandHandlerTest extends 
GridCommonAbstractTest {
      */
     protected int execute(ArrayList<String> args) {
         // Add force to avoid interactive confirmation
-        args.add("--force");
+        args.add(CMD_AUTO_CONFIRMATION);
 
         return new CommandHandler().execute(args);
     }
@@ -221,7 +224,7 @@ public class GridCommandHandlerTest extends 
GridCommonAbstractTest {
      */
     protected int execute(CommandHandler hnd, ArrayList<String> args) {
         // Add force to avoid interactive confirmation
-        args.add("--force");
+        args.add(CMD_AUTO_CONFIRMATION);
 
         return hnd.execute(args);
     }
@@ -235,7 +238,7 @@ public class GridCommandHandlerTest extends 
GridCommonAbstractTest {
         ArrayList<String> args0 = new ArrayList<>(Arrays.asList(args));
 
         // Add force to avoid interactive confirmation
-        args0.add("--force");
+        args0.add(CMD_AUTO_CONFIRMATION);
 
         return hnd.execute(args0);
     }

Reply via email to