Package org.apache.oodt.cas.cli.option

Examples of org.apache.oodt.cas.cli.option.CmdLineOption


   public void testSettingOfProperties() {
      String property = "test.property";
      SetJavaPropertiesHandler handler = new SetJavaPropertiesHandler();
      handler.setPropertyNames(Lists.newArrayList(property));
      CmdLineOption option = createAdvancedOption("testOption", handler);
      CmdLineOptionInstance optionInstance = createOptionInstance(option, "Hello", "World");

      assertNull(System.getProperty(property));
     
      handler.handleOption(null, optionInstance);
      assertEquals("Hello World", System.getProperty(property));

      option.setType(List.class);
      handler.handleOption(null, optionInstance);
      assertEquals("Hello,World", System.getProperty(property));
   }
View Full Code Here


      for (ParsedArg arg : parsedArgs) {

         if (arg.getType().equals(ParsedArg.Type.OPTION)) {

            // check if option is a valid one
            CmdLineOption option = getOptionByName(arg.getName(),
                  validOptions);
            if (option == null) {
               throw new CmdLineConstructionException("Invalid option: '" + arg.getName() + "'");
            }

            // read found option
            CmdLineOptionInstance specifiedOption = getOption(parsedArgs, option);

            // Check if we are currently loading subOptions.
            if (!groupOptions.isEmpty()) {

               CmdLineOptionInstance currentGroup = groupOptions.peek();

               // Check if option is NOT a subOption for current group.
               if (!isSubOption(currentGroup.getOption(), option)) {

                  // Check if current group was expecting more subOptions.
                  Set<CmdLineOption> requiredSubOptions = verifyGroupHasRequiredSubOptions(currentGroup);
                  if (!requiredSubOptions.isEmpty()) {
                     throw new CmdLineConstructionException(
                           "Missing the following required subOptions for '"
                                 + currentGroup.getOption()
                                 + "': "
                                 + sortOptionsByRequiredStatus(requiredSubOptions));

                  } else if (currentGroup.getSubOptions().isEmpty()) {
                     throw new CmdLineConstructionException(
                           "Must specify a subOption for group option '"
                                 + currentGroup.getOption() + "'");

                  } else {

                     // pop group and add to list of specified options.
                     optionInstances.add(groupOptions.pop());
                  }
               // It is a sub-option...
               } else {

                  // Add option to current group subOptions.
                  currentGroup.addSubOption(specifiedOption);
                  continue;

               }
            }

            if (option instanceof GroupCmdLineOption) {

               // Push group as current group.
               groupOptions.push(specifiedOption);
              
               if (!parsedArgs.hasNext()) {
                  throw new CmdLineConstructionException(
                        "Must specify a subOption for group option '"
                              + specifiedOption.getOption() + "'");
               }
            } else if (option.isSubOption()) {
               throw new CmdLineConstructionException("Option '" + option
                     + "' is a subOption, but was used at top level Option");

            } else {
View Full Code Here

         } else if (isGroupOption(option)) {
            Set<CmdLineOption> subOptions = Sets.newHashSet();
            for (GroupSubOption subOption : asGroupOption(option).getSubOptions()) {
               subOptions.add(subOption.getOption());
            }
            CmdLineOption foundOption = getOptionByName(optionName, subOptions);
            if (foundOption != null) {
               return foundOption;
            }
         }
      }
View Full Code Here

      // Check that all options were loaded.
      assertEquals(2, options.size());

      // Load and verify printHelloWorld was loaded correctly.
      CmdLineOption option = getOptionByName("printHelloWorld", options);
      assertTrue(option instanceof AdvancedCmdLineOption);
      AdvancedCmdLineOption advancedOption = (AdvancedCmdLineOption) option;
      assertEquals("phw", advancedOption.getShortOption());
      assertEquals("printHelloWorld", advancedOption.getLongOption());
      assertEquals("Print Hello World", advancedOption.getDescription());
View Full Code Here

*/
public class TestCmdLineUtils extends TestCase {

   public void testDetermineRequired() {
      CmdLineAction action = createAction("TestAction");
      CmdLineOption urlOption, passOption, actionOption;

      HashSet<CmdLineOption> options = Sets.newHashSet(
            urlOption = createSimpleOption("url",
                  createRequiredRequirementRule(action)),
            passOption = createSimpleOption("pass", false),
View Full Code Here

            createSimpleOption("url", false)));
   }

   public void testDetermineOptional() {
      CmdLineAction action = createAction("TestAction");
      CmdLineOption actionOption = new ActionCmdLineOption();
      CmdLineOption passOption, userOption;

      HashSet<CmdLineOption> options = Sets.newHashSet(
            createSimpleOption("url", createRequiredRequirementRule(action)),
            passOption = createSimpleOption("pass", false),
            userOption = createSimpleOption("user", false), actionOption);
View Full Code Here

      assertTrue(CmdLineUtils.isOptional(action,
            createSimpleOption("url", false)));
   }

   public void testGetRequiredOptions() {
      CmdLineOption urlOption = createSimpleOption("url", true);
      HashSet<CmdLineOption> options = Sets.newHashSet(urlOption,
            createActionOption("action"), createSimpleOption("user", false),
            createSimpleOption("pass", false));

      assertEquals(Sets.newHashSet(urlOption),
View Full Code Here

      assertEquals(Sets.newHashSet(urlOption),
            CmdLineUtils.getRequiredOptions(options));
   }

   public void testGetRequiredOptionsDoNotIgnoreActionOptions() {
      CmdLineOption actionOption, urlOption;
      HashSet<CmdLineOption> options = Sets.newHashSet(
            actionOption = createActionOption("action"),
            urlOption = createSimpleOption("url", true),
            createSimpleOption("user", false),
            createSimpleOption("pass", false));

      actionOption.setRequired(true);
      assertEquals(Sets.newHashSet(actionOption, urlOption),
            CmdLineUtils.getRequiredOptions(options, false));
   }
View Full Code Here

            CmdLineUtils.getRequiredOptions(options, false));
   }

   public void testSortOptionsByRequiredStatus() {
      CmdLineAction action = createAction("action");
      CmdLineOption userOption, urlOption, passOption, actionOption;
      HashSet<CmdLineOption> options = Sets.newHashSet(
            userOption = createSimpleOption("user", false),
            urlOption = createSimpleOption("url",
                  createRequiredRequirementRule(action)),
            passOption = createSimpleOption("pass", false),
View Full Code Here

      assertEquals("Young", sortedActions.get(3).getName());
   }

   public void testGetOptionByName() {
      CmdLineAction action = createAction("action");
      CmdLineOption userOption, urlOption, passOption, actionOption;
      HashSet<CmdLineOption> options = Sets.newHashSet(
            userOption = createSimpleOption("user", "username", false),
            urlOption = createSimpleOption("u", "url",
                  createRequiredRequirementRule(action)),
            passOption = createSimpleOption("pass", "password", false),
            actionOption = createActionOption("action"));

      assertEquals(userOption,
            CmdLineUtils.getOptionByName(userOption.getShortOption(), options));
      assertEquals(userOption,
            CmdLineUtils.getOptionByName(userOption.getLongOption(), options));
      assertEquals(urlOption,
            CmdLineUtils.getOptionByName(urlOption.getShortOption(), options));
      assertEquals(urlOption,
            CmdLineUtils.getOptionByName(urlOption.getLongOption(), options));
      assertEquals(passOption,
View Full Code Here

TOP

Related Classes of org.apache.oodt.cas.cli.option.CmdLineOption

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.