Repository: storm
Updated Branches:
  refs/heads/master 71d615b7c -> 56bc60374


fix CLI about parsing the command line arguments


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/3af457f8
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/3af457f8
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/3af457f8

Branch: refs/heads/master
Commit: 3af457f8cd3dec53af969a70f7f5238b4502dada
Parents: 58050a5
Author: xiaojian.fxj <[email protected]>
Authored: Tue Feb 23 23:11:44 2016 +0800
Committer: xiaojian.fxj <[email protected]>
Committed: Tue Feb 23 23:11:44 2016 +0800

----------------------------------------------------------------------
 storm-core/src/jvm/org/apache/storm/command/CLI.java      | 9 ++++++---
 storm-core/test/jvm/org/apache/storm/command/TestCLI.java | 4 +++-
 2 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/3af457f8/storm-core/src/jvm/org/apache/storm/command/CLI.java
----------------------------------------------------------------------
diff --git a/storm-core/src/jvm/org/apache/storm/command/CLI.java 
b/storm-core/src/jvm/org/apache/storm/command/CLI.java
index d4eaa5d..2bad836 100644
--- a/storm-core/src/jvm/org/apache/storm/command/CLI.java
+++ b/storm-core/src/jvm/org/apache/storm/command/CLI.java
@@ -238,10 +238,13 @@ public class CLI {
             DefaultParser parser = new DefaultParser();
             CommandLine cl = parser.parse(options, rawArgs);
             HashMap<String, Object> ret = new HashMap<>();
-            for (Opt opt: opts) {
+            for (Opt opt : opts) {
                 Object current = null;
-                for (String val: cl.getOptionValues(opt.shortName)) {
-                    current = opt.process(current, val);
+                String[] strings = cl.getOptionValues(opt.shortName);
+                if (strings != null) {
+                    for (String val : cl.getOptionValues(opt.shortName)) {
+                        current = opt.process(current, val);
+                    }
                 }
                 if (current == null) {
                     current = opt.defaultValue;

http://git-wip-us.apache.org/repos/asf/storm/blob/3af457f8/storm-core/test/jvm/org/apache/storm/command/TestCLI.java
----------------------------------------------------------------------
diff --git a/storm-core/test/jvm/org/apache/storm/command/TestCLI.java 
b/storm-core/test/jvm/org/apache/storm/command/TestCLI.java
index b647458..5b2f220 100644
--- a/storm-core/test/jvm/org/apache/storm/command/TestCLI.java
+++ b/storm-core/test/jvm/org/apache/storm/command/TestCLI.java
@@ -32,13 +32,15 @@ public class TestCLI {
            .opt("b", "bb", 1, CLI.AS_INT)
            .opt("c", "cc", 1, CLI.AS_INT, CLI.FIRST_WINS)
            .opt("d", "dd", null, CLI.AS_STRING, CLI.INTO_LIST)
+           .opt("e", "ee", null, CLI.AS_INT)
            .arg("A")
            .arg("B", CLI.AS_INT)
            .parse("-a100", "--aa", "200", "-c2", "-b", "50", "--cc", "100", 
"A-VALUE", "1", "2", "3", "-b40", "-d1", "-d2", "-d3");
-        assertEquals(6, values.size());
+        assertEquals(7, values.size());
         assertEquals("200", (String)values.get("a"));
         assertEquals((Integer)40, (Integer)values.get("b"));
         assertEquals((Integer)2, (Integer)values.get("c"));
+        assertEquals(null, values.get("e"));
 
         List<String> d = (List<String>)values.get("d");
         assertEquals(3, d.size());

Reply via email to