You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by bf...@apache.org on 2011/11/02 09:51:43 UTC

svn commit: r1196507 - in /oodt/trunk/cli/src: main/java/org/apache/oodt/cas/cli/ main/java/org/apache/oodt/cas/cli/action/store/spring/ main/java/org/apache/oodt/cas/cli/option/ main/java/org/apache/oodt/cas/cli/option/store/spring/ main/java/org/apac...

Author: bfoster
Date: Wed Nov  2 08:51:42 2011
New Revision: 1196507

URL: http://svn.apache.org/viewvc?rev=1196507&view=rev
Log:
- features and bug fixes found needed while integrating with cas-workflow

Added:
    oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/GroupSubOption.java   (with props)
Modified:
    oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/CmdLineArgs.java
    oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/action/store/spring/SpringCmdLineActionStoreFactory.java
    oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/CmdLineOption.java
    oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/CmdLineOptionInstance.java
    oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/GroupCmdLineOption.java
    oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/SimpleCmdLineOption.java
    oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/store/spring/SpringCmdLineOptionStoreFactory.java
    oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/parser/StdCmdLineOptionParser.java
    oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/util/CmdLineUtils.java
    oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/TestCmdLineArgs.java
    oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/parser/TestStdCmdLineOptionParser.java
    oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/util/TestCmdLineUtils.java

Modified: oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/CmdLineArgs.java
URL: http://svn.apache.org/viewvc/oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/CmdLineArgs.java?rev=1196507&r1=1196506&r2=1196507&view=diff
==============================================================================
--- oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/CmdLineArgs.java (original)
+++ oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/CmdLineArgs.java Wed Nov  2 08:51:42 2011
@@ -18,9 +18,9 @@ package org.apache.oodt.cas.cli;
 
 //OODT static imports
 import static org.apache.oodt.cas.cli.util.CmdLineUtils.findAction;
-import static org.apache.oodt.cas.cli.util.CmdLineUtils.findActionOption;
 import static org.apache.oodt.cas.cli.util.CmdLineUtils.findHelpOption;
 import static org.apache.oodt.cas.cli.util.CmdLineUtils.findPrintSupportedActionsOption;
+import static org.apache.oodt.cas.cli.util.CmdLineUtils.findSpecifiedActionOption;
 import static org.apache.oodt.cas.cli.util.CmdLineUtils.findSpecifiedOption;
 
 //JDK imports
@@ -63,14 +63,18 @@ public class CmdLineArgs {
    /* package */CmdLineArgs(Set<CmdLineAction> supportedActions,
          Set<CmdLineOption> supportedOptions,
          Set<CmdLineOptionInstance> specifiedOptions) {
+      System.out.println(specifiedOptions);
       Validate.notNull(supportedActions);
       Validate.notNull(supportedOptions);
       Validate.notNull(specifiedOptions);
 
       helpOption = findHelpOption(supportedOptions);
       helpOptionInst = findSpecifiedOption(helpOption, specifiedOptions);
-      actionOption = findActionOption(supportedOptions);
-      actionOptionInst = findSpecifiedOption(actionOption, specifiedOptions);
+      actionOptionInst = findSpecifiedActionOption(specifiedOptions);
+      if (actionOptionInst == null) {
+         throw new IllegalArgumentException("Must specify action option!");
+      }
+      actionOption = (ActionCmdLineOption) actionOptionInst.getOption();
       psaOption = findPrintSupportedActionsOption(supportedOptions);
       psaOptionInst = findSpecifiedOption(psaOption, specifiedOptions);
 
@@ -89,17 +93,13 @@ public class CmdLineArgs {
       if (helpOptionInst != null) {
          customSpecifiedOptions.remove(helpOptionInst);
       }
-      if (actionOptionInst != null) {
-         customSpecifiedOptions.remove(actionOptionInst);
-      }
+      customSpecifiedOptions.remove(actionOptionInst);
       if (psaOptionInst != null) {
          customSpecifiedOptions.remove(psaOptionInst);
       }
 
       this.supportedActions = supportedActions;
-      if (actionOptionInst != null) {
-         specifiedAction = findAction(actionOptionInst, supportedActions);
-      }
+      specifiedAction = findAction(actionOptionInst, supportedActions);
    }
 
    /**

Modified: oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/action/store/spring/SpringCmdLineActionStoreFactory.java
URL: http://svn.apache.org/viewvc/oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/action/store/spring/SpringCmdLineActionStoreFactory.java?rev=1196507&r1=1196506&r2=1196507&view=diff
==============================================================================
--- oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/action/store/spring/SpringCmdLineActionStoreFactory.java (original)
+++ oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/action/store/spring/SpringCmdLineActionStoreFactory.java Wed Nov  2 08:51:42 2011
@@ -31,7 +31,7 @@ public class SpringCmdLineActionStoreFac
 
    public SpringCmdLineActionStoreFactory() {
       config = System.getProperty(
-            "org.apache.oodt.cas.cl.option.action.spring.config", null);
+            "org.apache.oodt.cas.cli.action.spring.config", null);
    }
 
    public SpringCmdLineActionStore createStore() {

Modified: oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/CmdLineOption.java
URL: http://svn.apache.org/viewvc/oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/CmdLineOption.java?rev=1196507&r1=1196506&r2=1196507&view=diff
==============================================================================
--- oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/CmdLineOption.java (original)
+++ oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/CmdLineOption.java Wed Nov  2 08:51:42 2011
@@ -71,6 +71,10 @@ public interface CmdLineOption {
 
    public List<RequirementRule> getRequirementRules();
 
+   public void setIsSubOption(boolean isSubOption);
+
+   public boolean isSubOption();
+
    public boolean equals(Object obj);
 
    public int hashCode();

Modified: oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/CmdLineOptionInstance.java
URL: http://svn.apache.org/viewvc/oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/CmdLineOptionInstance.java?rev=1196507&r1=1196506&r2=1196507&view=diff
==============================================================================
--- oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/CmdLineOptionInstance.java (original)
+++ oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/CmdLineOptionInstance.java Wed Nov  2 08:51:42 2011
@@ -17,6 +17,11 @@
 package org.apache.oodt.cas.cli.option;
 
 //JDK imports
+import static org.apache.oodt.cas.cli.util.CmdLineUtils.isActionOption;
+import static org.apache.oodt.cas.cli.util.CmdLineUtils.isGroupOption;
+import static org.apache.oodt.cas.cli.util.CmdLineUtils.isHelpOption;
+import static org.apache.oodt.cas.cli.util.CmdLineUtils.isPrintSupportedActionsOption;
+
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -59,19 +64,19 @@ public class CmdLineOptionInstance {
    }
 
    public boolean isGroup() {
-      return option instanceof GroupCmdLineOption;
+      return isGroupOption(option);
    }
 
    public boolean isAction() {
-      return option instanceof ActionCmdLineOption;
+      return isActionOption(option);
    }
 
    public boolean isHelp() {
-      return option instanceof HelpCmdLineOption;
+      return isHelpOption(option);
    }
 
    public boolean isPrintSupportedActions() {
-      return option instanceof PrintSupportedActionsCmdLineOption;
+      return isPrintSupportedActionsOption(option);
    }
 
    public boolean isValidatable() {
@@ -127,4 +132,9 @@ public class CmdLineOptionInstance {
          return false;
       }
    }
+
+   public String toString() {
+      return "[option= " + option + ",values=" + values + ",subOptions="
+            + subOptions + "]";
+   }
 }

Modified: oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/GroupCmdLineOption.java
URL: http://svn.apache.org/viewvc/oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/GroupCmdLineOption.java?rev=1196507&r1=1196506&r2=1196507&view=diff
==============================================================================
--- oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/GroupCmdLineOption.java (original)
+++ oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/GroupCmdLineOption.java Wed Nov  2 08:51:42 2011
@@ -18,11 +18,14 @@ package org.apache.oodt.cas.cli.option;
 
 //JDK imports
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 //Apache imports
 import org.apache.commons.lang.Validate;
 
+import com.google.common.collect.Lists;
+
 /**
  * {@link CmdLineOption} which is a group option (i.e. supports sub-
  * {@link CmdLineOption}s.
@@ -31,14 +34,14 @@ import org.apache.commons.lang.Validate;
  */
 public class GroupCmdLineOption extends SimpleCmdLineOption {
 
-   private Set<SubOption> subOptions;
+   private List<GroupSubOption> subOptions;
    private boolean allowAnySubOption;
 
    public GroupCmdLineOption() {
       super();
       this.setHasArgs(false);
       this.setAllowAnySubOptions(false);
-      subOptions = new HashSet<SubOption>();
+      subOptions = Lists.newArrayList();
    }
 
    public GroupCmdLineOption(String shortOption, String longOption,
@@ -54,53 +57,23 @@ public class GroupCmdLineOption extends 
       return subOptions.isEmpty() && allowAnySubOption;
    }
 
-   public void setSubOptions(Set<SubOption> subOptions) {
+   public void setSubOptions(List<GroupSubOption> subOptions) {
       Validate.notNull(subOptions, "Cannot set subOptions to NULL");
 
-      this.subOptions = new HashSet<SubOption>(subOptions);
+      this.subOptions = Lists.newArrayList(subOptions);
    }
 
-   public void addSubOption(SubOption subOption) {
+   public void addSubOption(GroupSubOption subOption) {
       Validate.notNull(subOption, "Cannot add NULL subOption");
 
       subOptions.add(subOption);
    }
 
-   public Set<SubOption> getSubOptions() {
+   public List<GroupSubOption> getSubOptions() {
       return subOptions;
    }
 
    public boolean hasSubOptions() {
       return subOptions != null && !subOptions.isEmpty();
    }
-
-   public static class SubOption {
-
-      private CmdLineOption option;
-      private boolean required;
-
-      public SubOption() {
-      }
-
-      public SubOption(CmdLineOption option, boolean required) {
-         this.option = option;
-         this.required = required;
-      }
-
-      public void setOption(CmdLineOption option) {
-         this.option = option;
-      }
-
-      public CmdLineOption getOption() {
-         return option;
-      }
-
-      public void setRequired(boolean required) {
-         this.required = required;
-      }
-
-      public boolean isRequired() {
-         return required;
-      }
-   }
 }

Added: oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/GroupSubOption.java
URL: http://svn.apache.org/viewvc/oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/GroupSubOption.java?rev=1196507&view=auto
==============================================================================
--- oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/GroupSubOption.java (added)
+++ oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/GroupSubOption.java Wed Nov  2 08:51:42 2011
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.oodt.cas.cli.option;
+
+/**
+ * A Group allowable sub-{@link CmdLineOption}.
+ *
+ * @author bfoster (Brian Foster)
+ */
+public class GroupSubOption {
+
+   private CmdLineOption option;
+   private boolean required;
+
+   public GroupSubOption() {
+      required = false;
+   }
+
+   public GroupSubOption(CmdLineOption option, boolean required) {
+      this.option = option;
+      this.required = required;
+   }
+
+   public void setOption(CmdLineOption option) {
+      this.option = option;
+   }
+
+   public CmdLineOption getOption() {
+      return option;
+   }
+
+   public void setRequired(boolean required) {
+      this.required = required;
+   }
+
+   public boolean isRequired() {
+      return required;
+   }
+}

Propchange: oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/GroupSubOption.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/SimpleCmdLineOption.java
URL: http://svn.apache.org/viewvc/oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/SimpleCmdLineOption.java?rev=1196507&r1=1196506&r2=1196507&view=diff
==============================================================================
--- oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/SimpleCmdLineOption.java (original)
+++ oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/SimpleCmdLineOption.java Wed Nov  2 08:51:42 2011
@@ -52,6 +52,8 @@ public class SimpleCmdLineOption impleme
 
    private boolean performAndQuit;
 
+   private boolean isSubOption;
+
    private Class<?> type;
 
    public SimpleCmdLineOption() {
@@ -60,6 +62,7 @@ public class SimpleCmdLineOption impleme
       required = false;
       hasArgs = false;
       performAndQuit = false;
+      isSubOption = false;
       type = String.class;
       requirementRules = new ArrayList<RequirementRule>();
    }
@@ -165,6 +168,14 @@ public class SimpleCmdLineOption impleme
       this.performAndQuit = performAndQuit;
    }
 
+   public void setIsSubOption(boolean isSubOption) {
+      this.isSubOption = isSubOption;
+   }
+
+   public boolean isSubOption() {
+      return isSubOption;
+   }
+
    @Override
    public boolean equals(Object obj) {
       if (obj instanceof CmdLineOption) {
@@ -181,7 +192,7 @@ public class SimpleCmdLineOption impleme
    }
 
    public String toString() {
-      return "Action [longOption='" + longOption + "',shortOption='"
+      return "[longOption='" + longOption + "',shortOption='"
             + shortOption + "',description='" + description + "']";
    }
 }

Modified: oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/store/spring/SpringCmdLineOptionStoreFactory.java
URL: http://svn.apache.org/viewvc/oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/store/spring/SpringCmdLineOptionStoreFactory.java?rev=1196507&r1=1196506&r2=1196507&view=diff
==============================================================================
--- oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/store/spring/SpringCmdLineOptionStoreFactory.java (original)
+++ oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/option/store/spring/SpringCmdLineOptionStoreFactory.java Wed Nov  2 08:51:42 2011
@@ -31,7 +31,7 @@ public class SpringCmdLineOptionStoreFac
 
    public SpringCmdLineOptionStoreFactory() {
       config = System.getProperty(
-            "org.apache.oodt.cas.cl.option.store.spring.config", null);
+            "org.apache.oodt.cas.cli.option.spring.config", null);
    }
 
    public SpringCmdLineOptionStore createStore() {

Modified: oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/parser/StdCmdLineOptionParser.java
URL: http://svn.apache.org/viewvc/oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/parser/StdCmdLineOptionParser.java?rev=1196507&r1=1196506&r2=1196507&view=diff
==============================================================================
--- oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/parser/StdCmdLineOptionParser.java (original)
+++ oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/parser/StdCmdLineOptionParser.java Wed Nov  2 08:51:42 2011
@@ -36,7 +36,7 @@ import org.apache.oodt.cas.cli.help.Opti
 import org.apache.oodt.cas.cli.option.CmdLineOption;
 import org.apache.oodt.cas.cli.option.CmdLineOptionInstance;
 import org.apache.oodt.cas.cli.option.GroupCmdLineOption;
-import org.apache.oodt.cas.cli.option.GroupCmdLineOption.SubOption;
+import org.apache.oodt.cas.cli.option.GroupSubOption;
 import org.apache.oodt.cas.cli.util.Args;
 
 //Google imports
@@ -149,7 +149,7 @@ public class StdCmdLineOptionParser impl
       Validate.isTrue(group.isGroup());
 
       Set<CmdLineOption> missingSubOptions = new HashSet<CmdLineOption>();
-      TOP: for (SubOption subOption : ((GroupCmdLineOption) group.getOption())
+      TOP: for (GroupSubOption subOption : ((GroupCmdLineOption) group.getOption())
             .getSubOptions()) {
          if (subOption.isRequired()) {
             for (CmdLineOptionInstance specifiedSubOption : group

Modified: oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/util/CmdLineUtils.java
URL: http://svn.apache.org/viewvc/oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/util/CmdLineUtils.java?rev=1196507&r1=1196506&r2=1196507&view=diff
==============================================================================
--- oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/util/CmdLineUtils.java (original)
+++ oodt/trunk/cli/src/main/java/org/apache/oodt/cas/cli/util/CmdLineUtils.java Wed Nov  2 08:51:42 2011
@@ -34,6 +34,7 @@ import org.apache.oodt.cas.cli.option.Ac
 import org.apache.oodt.cas.cli.option.CmdLineOption;
 import org.apache.oodt.cas.cli.option.CmdLineOptionInstance;
 import org.apache.oodt.cas.cli.option.GroupCmdLineOption;
+import org.apache.oodt.cas.cli.option.GroupSubOption;
 import org.apache.oodt.cas.cli.option.HandleableCmdLineOption;
 import org.apache.oodt.cas.cli.option.HelpCmdLineOption;
 import org.apache.oodt.cas.cli.option.PrintSupportedActionsCmdLineOption;
@@ -295,7 +296,7 @@ public class CmdLineUtils {
       Validate.notNull(subOption);
 
       if (isGroupOption(option)) {
-         for (GroupCmdLineOption.SubOption curSubOption : asGroupOption(option)
+         for (GroupSubOption curSubOption : asGroupOption(option)
                .getSubOptions()) {
             if (curSubOption.getOption().equals(subOption)) {
                return true;
@@ -543,12 +544,21 @@ public class CmdLineUtils {
 
       CmdLineOptionInstance specifiedAction = null;
       for (CmdLineOptionInstance option : options) {
-         if (isActionOption(option.getOption())) {
+         if (option.isAction()) {
             if (specifiedAction != null) {
                throw new IllegalArgumentException(
                      "Only one action may be specified!");
             }
             specifiedAction = option;
+         } else if (option.isGroup()) {
+            CmdLineOptionInstance foundAction = findSpecifiedActionOption(option
+                  .getSubOptions());
+            if (specifiedAction != null && foundAction != null) {
+               throw new IllegalArgumentException(
+                  "Only one action may be specified!");
+            } else if (foundAction != null) {
+               specifiedAction = foundAction;
+            }
          }
       }
       return specifiedAction;
@@ -808,7 +818,9 @@ public class CmdLineUtils {
             classes.add(Class.forName(value));
          return classes;
       } else if (type.equals(List.class)) {
-         return values;
+         List<Object> lists = new LinkedList<Object>();
+         lists.add(values);
+         return lists;
       } else if (type.equals(Integer.class) || type.equals(Integer.TYPE)) {
          List<Object> ints = new LinkedList<Object>();
          for (String value : values)

Modified: oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/TestCmdLineArgs.java
URL: http://svn.apache.org/viewvc/oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/TestCmdLineArgs.java?rev=1196507&r1=1196506&r2=1196507&view=diff
==============================================================================
--- oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/TestCmdLineArgs.java (original)
+++ oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/TestCmdLineArgs.java Wed Nov  2 08:51:42 2011
@@ -27,7 +27,6 @@ import static org.apache.oodt.cas.cli.te
 import static org.apache.oodt.cas.cli.test.util.TestUtils.createSimpleOption;
 
 //JDK imports
-import java.util.HashSet;
 import java.util.Set;
 
 //OODT imports
@@ -39,6 +38,9 @@ import org.apache.oodt.cas.cli.option.Cm
 import org.apache.oodt.cas.cli.option.HelpCmdLineOption;
 import org.apache.oodt.cas.cli.option.PrintSupportedActionsCmdLineOption;
 
+//Google imports
+import com.google.common.collect.Sets;
+
 //JUnit imports
 import junit.framework.TestCase;
 
@@ -101,7 +103,7 @@ public class TestCmdLineArgs extends Tes
       Set<CmdLineOption> options = newHashSet(SUPPORTED_OPTIONS);
       options.add(customOption);
       CmdLineArgs args = new CmdLineArgs(SUPPORTED_ACTIONS, options,
-            new HashSet<CmdLineOptionInstance>());
+            Sets.newHashSet(createOptionInstance(ACTION_OPTION, TEST_ACTION_1.getName())));
 
       // Test that custom supported options only contains the custom option.
       assertEquals(newHashSet(customOption), args.getCustomSupportedOptions());
@@ -114,14 +116,15 @@ public class TestCmdLineArgs extends Tes
       CmdLineOptionInstance specifiedOptions = createOptionInstance(
             customOption, "test-values");
       CmdLineArgs args = new CmdLineArgs(SUPPORTED_ACTIONS, options,
-            newHashSet(specifiedOptions));
+            newHashSet(specifiedOptions,
+                  createOptionInstance(ACTION_OPTION, TEST_ACTION_1.getName())));
 
       // Test that custom specified options only contains the custom option.
       assertEquals(newHashSet(specifiedOptions),
             args.getCustomSpecifiedOptions());
 
       args = new CmdLineArgs(SUPPORTED_ACTIONS, options,
-            new HashSet<CmdLineOptionInstance>());
+            Sets.newHashSet(createOptionInstance(ACTION_OPTION, TEST_ACTION_1.getName())));
 
       // Test that custom specified options is empty since custom option was not
       // specified.

Modified: oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/parser/TestStdCmdLineOptionParser.java
URL: http://svn.apache.org/viewvc/oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/parser/TestStdCmdLineOptionParser.java?rev=1196507&r1=1196506&r2=1196507&view=diff
==============================================================================
--- oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/parser/TestStdCmdLineOptionParser.java (original)
+++ oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/parser/TestStdCmdLineOptionParser.java Wed Nov  2 08:51:42 2011
@@ -31,9 +31,9 @@ import java.util.Set;
 import org.apache.oodt.cas.cli.option.CmdLineOption;
 import org.apache.oodt.cas.cli.option.CmdLineOptionInstance;
 import org.apache.oodt.cas.cli.option.GroupCmdLineOption;
+import org.apache.oodt.cas.cli.option.GroupSubOption;
 import org.apache.oodt.cas.cli.option.HelpCmdLineOption;
 import org.apache.oodt.cas.cli.option.SimpleCmdLineOption;
-import org.apache.oodt.cas.cli.option.GroupCmdLineOption.SubOption;
 import org.apache.oodt.cas.cli.parser.StdCmdLineOptionParser;
 import org.apache.oodt.cas.cli.util.Args;
 
@@ -59,9 +59,9 @@ public class TestStdCmdLineOptionParser 
       options.add(listOption = createSimpleOption("list", true));
       options.add(scalarOption = createSimpleOption("scalar", true));
       options.add(noneOption = createSimpleOption("none", false));
-      options.add(noneOption = createGroupOption("group", new SubOption(
-            listOption, true), new SubOption(scalarOption, true),
-            new SubOption(noneOption, false)));
+      options.add(noneOption = createGroupOption("group", new GroupSubOption(
+            listOption, true), new GroupSubOption(scalarOption, true),
+            new GroupSubOption(noneOption, false)));
       options.add(new HelpCmdLineOption());
 
       // Parse args.
@@ -168,11 +168,11 @@ public class TestStdCmdLineOptionParser 
    }
 
    private static GroupCmdLineOption createGroupOption(String longName,
-         SubOption... subOptions) {
+         GroupSubOption... subOptions) {
       GroupCmdLineOption option = new GroupCmdLineOption();
       option.setLongOption(longName);
       option.setShortOption(longName);
-      option.setSubOptions(new HashSet<SubOption>(Arrays.asList(subOptions)));
+      option.setSubOptions(Lists.newArrayList(subOptions));
       return option;
    }
 

Modified: oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/util/TestCmdLineUtils.java
URL: http://svn.apache.org/viewvc/oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/util/TestCmdLineUtils.java?rev=1196507&r1=1196506&r2=1196507&view=diff
==============================================================================
--- oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/util/TestCmdLineUtils.java (original)
+++ oodt/trunk/cli/src/test/org/apache/oodt/cas/cli/util/TestCmdLineUtils.java Wed Nov  2 08:51:42 2011
@@ -44,10 +44,10 @@ import org.apache.oodt.cas.cli.option.Ad
 import org.apache.oodt.cas.cli.option.CmdLineOption;
 import org.apache.oodt.cas.cli.option.CmdLineOptionInstance;
 import org.apache.oodt.cas.cli.option.GroupCmdLineOption;
+import org.apache.oodt.cas.cli.option.GroupSubOption;
 import org.apache.oodt.cas.cli.option.HelpCmdLineOption;
 import org.apache.oodt.cas.cli.option.PrintSupportedActionsCmdLineOption;
 import org.apache.oodt.cas.cli.option.SimpleCmdLineOption;
-import org.apache.oodt.cas.cli.option.GroupCmdLineOption.SubOption;
 import org.apache.oodt.cas.cli.option.handler.CmdLineOptionHandler;
 import org.apache.oodt.cas.cli.option.validator.AllowedArgsCmdLineOptionValidator;
 import org.apache.oodt.cas.cli.option.validator.CmdLineOptionValidator;
@@ -244,7 +244,7 @@ public class TestCmdLineUtils extends Te
       GroupCmdLineOption groupOption = createGroupOption("group", false);
       assertFalse(CmdLineUtils.isSubOption(groupOption, subOption));
 
-      groupOption.addSubOption(new SubOption(subOption, false));
+      groupOption.addSubOption(new GroupSubOption(subOption, false));
       assertTrue(CmdLineUtils.isSubOption(groupOption, subOption));
    }