/** */ static public String[] setOptions(Object target, CommandLine cli) { Option[] options = cli.getOptions(); for (Option option : options) { String name = option.getLongOpt(); if( name==null ) continue; String propName = convertOptionToPropertyName(name); String value = option.getValue(); if( value!=null ) { Class<?> type = IntrospectionSupport.getPropertyType(target, propName); if( type.isArray() ) { IntrospectionSupport.setProperty(target, propName, option.getValues()); } else if( type.isAssignableFrom(ArrayList.class) ) { IntrospectionSupport.setProperty(target, propName, new ArrayList(option.getValuesList()) ); } else if( type.isAssignableFrom(HashSet.class) ) { IntrospectionSupport.setProperty(target, propName, new HashSet(option.getValuesList()) ); } else { IntrospectionSupport.setProperty(target, propName, value); } } else { IntrospectionSupport.setProperty(target, propName, true); } } return cli.getArgs(); }
if (opt.getValues() == null && !opt.hasOptionalArg())
/** * Retrieves the array of values, if any, of an option. * * @param opt string name of the option * @return Values of the argument if option is set, and has an argument, * otherwise null. */ public String[] getOptionValues(String opt) { opt = Util.stripLeadingHyphens(opt); String key = opt; if (names.containsKey(opt)) { key = (String) names.get(opt); } if (options.containsKey(key)) { return ((Option) options.get(key)).getValues(); } return null; }
/** * Retrieves the array of values, if any, of an option. * * @param opt string name of the option * @return Values of the argument if option is set, and has an argument, * otherwise null. */ public String[] getOptionValues(String opt) { opt = Util.stripLeadingHyphens(opt); String key = opt; if (names.containsKey(opt)) { key = names.get(opt); } if (options.containsKey(key)) { return options.get(key).getValues(); } return null; }
private static boolean checkOptionArgsNumber(Option[] options) { for (Option option : options) { int argNb = option.getArgs(); String[] args = option.getValues(); if (argNb == 0) { if (args != null && args.length > 0) { System.err.println(option.getArgName() + " shall have " + argNb + " arguments (was " + Arrays.toString(args) + ")"); return false; } } else { if (args == null || args.length != argNb) { System.err.println(option.getArgName() + " shall have " + argNb + " arguments (was " + Arrays.toString(args) + ")"); return false; } } } return true; }
private static boolean checkOptionArgsNumber(Option[] options) { for (Option option : options) { int argNb = option.getArgs(); String[] args = option.getValues(); if (argNb == 0) { if (args != null && args.length > 0) { System.err.println(option.getArgName() + " shall have " + argNb + " arguments (was " + Arrays.toString(args) + ")"); return false; } } else { if (args == null || args.length != argNb) { System.err.println(option.getArgName() + " shall have " + argNb + " arguments (was " + Arrays.toString(args) + ")"); return false; } } } return true; }
/** Ensures options argument counts are correct */ private static boolean checkOptionArgsNumber(Option[] options) { for (Option option : options) { int argNb = option.getArgs(); String[] args = option.getValues(); if (argNb == 0) { if (args != null && args.length > 0) { System.err.println(option.getArgName() + " shall have " + argNb + " arguments (was " + Arrays.toString(args) + ")"); return false; } } else { if (args == null || args.length != argNb) { System.err.println(option.getArgName() + " shall have " + argNb + " arguments (was " + Arrays.toString(args) + ")"); return false; } } } return true; }
/** Ensures options argument counts are correct */ private static boolean checkOptionArgsNumber(Option[] options) { for (Option option : options) { int argNb = option.getArgs(); String[] args = option.getValues(); if (argNb == 0) { if (args != null && args.length > 0) { System.err.println(option.getArgName() + " shall have " + argNb + " arguments (was " + Arrays.toString(args) + ")"); return false; } } else { if (args == null || args.length != argNb) { System.err.println(option.getArgName() + " shall have " + argNb + " arguments (was " + Arrays.toString(args) + ")"); return false; } } } return true; }
public static void checkArgs(final IOption ioption, final RemoteProgram remoteProgram) throws OptionException { if (ioption.getOption().getLongOpt().equals("args") && remoteProgram.getArguments().size()>0 && ( ioption.getOption().getValues() == null || ioption.getOption().getValues().length < remoteProgram.getArguments().size())) { throw new OptionException( LaunchingMessageKind.EREMOTE0005.format(remoteProgram .getAdapterClass().getCanonicalName(), remoteProgram.getArguments().size())); } }
/** * Non-static version of main so that we can define anonymous local classes to override or extend * the above. * @param args a String array of input options */ public void runMain(String[] args) { Options o = this.getCliOptions(); try { new GnuParser().parse(o, args); } catch (ParseException pe) { // The message from pe is ugly, so we omit it. System.err.println("Error parsing command line"); new HelpFormatter().printHelp(this.getClassName(), o); System.exit(1); } try { float ratio = 0.8f; if (this.oratio.getValue() != null) { ratio = Float.parseFloat(this.oratio.getValue()); } this.runSubsampler(this.otest.getValues(), 12, 20, ratio); } catch (Exception e) { e.printStackTrace(); System.exit(1); } } }
if ((opt.getValues() == null) && !opt.hasOptionalArg()) { throw new MissingArgumentException("Missing argument for option:" + opt.getKey());
if ((opt.getValues() == null) && !opt.hasOptionalArg()) { throw new MissingArgumentException("Missing argument for option:" + opt.getKey());
if (opt.getValues() == null && !opt.hasOptionalArg())
if (opt.getValues() == null && !opt.hasOptionalArg())
public static void processArgs(final IOption ioption, final Launch<?> launch, final Object... args) throws OptionException, ParserException { // Check arguments number final String[] arguments = ioption.getOption().getValues(); final RemoteProgram remoteProgram = (RemoteProgram) args[0]; if (arguments != null) { if (remoteProgram.getArguments().size() > arguments.length) { throw new OptionException( LaunchingMessageKind.EREMOTE0005.format( remoteProgram.getAdapterClass(), arguments.length)); } // Initialize arguments format initializeArg(remoteProgram, arguments, launch); } }