Index: lutinutil/src/java/org/codelutin/util/OptionParserUtil.java diff -u lutinutil/src/java/org/codelutin/util/OptionParserUtil.java:1.3 lutinutil/src/java/org/codelutin/util/OptionParserUtil.java:1.4 --- lutinutil/src/java/org/codelutin/util/OptionParserUtil.java:1.3 Wed Dec 5 03:03:57 2007 +++ lutinutil/src/java/org/codelutin/util/OptionParserUtil.java Wed Dec 12 22:11:52 2007 @@ -22,7 +22,7 @@ public class OptionParserUtil { - public static String toString(ApplicationA anno, String head, String headOptions, String headArguments, String prefix) { + public static String toString(ApplicationA anno, String head, String headOptions, String prefix) { StringBuilder builder = new StringBuilder(); builder.append(addTitle(head, '=', true)).append("\n\n"); builder.append(addTitle(headOptions, '-', false)).append("\n"); @@ -30,11 +30,6 @@ builder.append(prefix).append(OptionParserUtil.toString(definition)); builder.append("\n ").append(definition.description()).append("\n\n"); } - builder.append(addTitle(headArguments, '-', false)).append("\n"); - for (ArgumentA definition : anno.arguments()) { - builder.append(prefix).append(OptionParserUtil.toString(definition)); - builder.append("\n ").append(definition.description()).append("\n\n"); - } return builder.toString(); } @@ -351,19 +346,10 @@ GroupArgumentA[] groupArgumentAs; ArgumentA[] argumentAs; - public ApplicationA run(OptionContext[] options, OptionArgumentContext[] arguments, Class impl) { + public ApplicationA run(OptionContext[] options) { optionAs = new OptionA[options.length]; - ArgumentA[] as = new ArgumentA[arguments.length]; - if (arguments.length > 0) { - for (int i = 0; i < arguments.length; i++) { - OptionArgumentContext argument = arguments[i]; - as[i] = OptionParserAnnotationHelper.newArgumentA( - argument.type, argument.valueType, argument.key, - argument.min, argument.max, argument.description); - } - } walk(options); - parserA = OptionParserAnnotationHelper.newApplicationA(optionAs, as,impl); + parserA = OptionParserAnnotationHelper.newApplicationA(optionAs); return parserA; } @@ -402,7 +388,7 @@ protected void exitArgument(OptionArgumentContext argument, int argumentIndex) { ArgumentA argumentA = OptionParserAnnotationHelper.newArgumentA( argument.type, argument.valueType, argument.key, argument.min, - argument.max, argument.description); + argument.max); argumentAs[argumentIndex] = argumentA; } } @@ -424,19 +410,10 @@ OptionGroupArgumentDefinition[] groupArguments; OptionArgumentDefinition[] arguments; - public ApplicationDefinition run(OptionContext[] options, OptionArgumentContext[] arguments, Class impl) { + public ApplicationDefinition run(OptionContext[] options) { this.options = new OptionDefinition[options.length + 1]; - OptionArgumentDefinition[] as = new OptionArgumentDefinition[arguments.length]; - if (arguments.length > 0) { - for (int i = 0; i < arguments.length; i++) { - OptionArgumentContext argument = arguments[i]; - as[i] = new OptionArgumentDefinition( - argument.type, argument.valueType, argument.key, - argument.min, argument.max); - } - } walk(options); - definition = new ApplicationDefinition(as, this.options,impl); + definition = new ApplicationDefinition(this.options); return definition; } Index: lutinutil/src/java/org/codelutin/util/ApplicationDefinition.java diff -u lutinutil/src/java/org/codelutin/util/ApplicationDefinition.java:1.1 lutinutil/src/java/org/codelutin/util/ApplicationDefinition.java:1.2 --- lutinutil/src/java/org/codelutin/util/ApplicationDefinition.java:1.1 Wed Dec 5 02:58:03 2007 +++ lutinutil/src/java/org/codelutin/util/ApplicationDefinition.java Wed Dec 12 22:11:52 2007 @@ -13,12 +13,11 @@ package org.codelutin.util; -import org.codelutin.util.OptionParserAnnotationHelper.ArgumentA; -import org.codelutin.util.OptionParserAnnotationHelper.OptionA; import org.codelutin.util.OptionParserAnnotationHelper.ApplicationA; +import org.codelutin.util.OptionParserAnnotationHelper.OptionA; /** - * This class represents a application definition (with his arguments and options) + * This class represents a application definition (with his options) * * @author chemit */ @@ -28,45 +27,22 @@ /** les options de l'application */ protected OptionDefinition[] options; - /** les arguments de l'application */ - protected OptionArgumentDefinition[] arguments; - - /** l'implantation du conteneur des arguments */ - protected Class argumentsImpl; - - public ApplicationDefinition(OptionArgumentDefinition[] arguments, OptionDefinition[] options,Class impl) { - this.arguments = arguments; + public ApplicationDefinition(OptionDefinition[] options) { this.options = options; - this.argumentsImpl=impl; } public ApplicationDefinition(ApplicationA anno) { - ArgumentA[] argumentAs = anno.arguments(); OptionA[] optionAs = anno.options(); - this.argumentsImpl=anno.argumentsImpl(); - OptionArgumentDefinition[] _arguments = new OptionArgumentDefinition[argumentAs.length]; - for (int i = 0; i < argumentAs.length; i++) { - ArgumentA argumentA = argumentAs[i]; - _arguments[i] = new OptionArgumentDefinition(argumentA); - } OptionDefinition[] _options = new OptionDefinition[optionAs.length]; for (int i = 0; i < optionAs.length; i++) { OptionA optionA = optionAs[i]; _options[i] = new OptionDefinition(optionA); } - this.arguments = _arguments; this.options = _options; } - public OptionArgumentDefinition[] getArguments() { - return arguments; - } - public OptionDefinition[] getOptions() { return options; } - public Class getArgumentsImpl() { - return argumentsImpl; - } } Index: lutinutil/src/java/org/codelutin/util/OptionParser.java diff -u lutinutil/src/java/org/codelutin/util/OptionParser.java:1.7 lutinutil/src/java/org/codelutin/util/OptionParser.java:1.8 --- lutinutil/src/java/org/codelutin/util/OptionParser.java:1.7 Wed Dec 5 03:03:57 2007 +++ lutinutil/src/java/org/codelutin/util/OptionParser.java Wed Dec 12 22:11:52 2007 @@ -25,7 +25,6 @@ import org.codelutin.log.LutinLog; import org.codelutin.log.LutinLogFactory; import org.codelutin.util.OptionParserAnnotationHelper.ApplicationA; -import org.codelutin.util.OptionParserAnnotationHelper.ArgumentA; import org.codelutin.util.OptionParserAnnotationHelper.OptionA; import java.io.IOException; @@ -98,14 +97,9 @@ /** la liste des définitions d'options connues */ protected final Map _odefinitions; - /** la liste des définitions d'arguments connus */ - protected final Map _adefinitions; - /** le dictionnaire des definitions d'options indexées par leurs alias */ protected final Map _indexAlias; - protected Class _argImpl; - /** le dictionnaire d'actions associées aux options */ protected final Map _actions; @@ -113,9 +107,6 @@ /** la liste des options trouvées et valides, indexées par leur clef unique. */ protected final Map> _acceptedOptions; - /** la liste des argum trouvées et valides, indexées par leur clef unique. */ - protected final Map> _acceptedArguments; - /** list of errors found while parsing */ protected OptionParserException[] _errors; @@ -133,11 +124,9 @@ } this._anno = anno; this._acceptedOptions = new HashMap>(); - this._acceptedArguments = new HashMap>(); this._actions = new HashMap(); this._odefinitions = new LinkedHashMap(); - this._adefinitions = new LinkedHashMap(); this._indexAlias = new TreeMap(); if (anno.options().length > 0) { @@ -153,18 +142,6 @@ } } } - if (anno.arguments().length > 0) { - // parser have some available options - for (ArgumentA argumentA : anno.arguments()) { - // build each definition from his associated OptionA - OptionArgumentDefinition definition = new OptionArgumentDefinition(argumentA); - _adefinitions.put(argumentA.key(), definition); - _acceptedArguments.put(argumentA.key(), new ArrayList()); - } - } - _argImpl = anno.argumentsImpl(); - // create parser _context from definitions in annotation - //this._context = new ParserContext2(anno); } /** @@ -184,9 +161,6 @@ return; } - // detect application arguments (before first alias) - context.detectApplicationArguments(args.length, args); - // detect options context.detectOptions(args); @@ -198,9 +172,6 @@ } private void cleanResult() { - for (Map.Entry> stringListEntry : _acceptedArguments.entrySet()) { - stringListEntry.getValue().clear(); - } for (Map.Entry> stringListEntry : _acceptedOptions.entrySet()) { stringListEntry.getValue().clear(); } @@ -215,14 +186,6 @@ return result.toArray(new Option[result.size()]); } - public OptionArgument[] getArguments() { - List result = new ArrayList(); - for (List options : _acceptedArguments.values()) { - result.addAll(options); - } - return result.toArray(new OptionArgument[result.size()]); - } - public boolean isOptionEnabled(String key) { List