jkeyes 2002/11/14 15:30:03 Modified: cli/src/java/org/apache/commons/cli CommandLine.java cli/src/test/org/apache/commons/cli ParseTest.java Log: added fix for Rob's problem (2), so it is now possible to query using either the opt or longOpt Revision Changes Path 1.13 +13 -2 jakarta-commons/cli/src/java/org/apache/commons/cli/CommandLine.java Index: CommandLine.java =================================================================== RCS file: /home/cvs/jakarta-commons/cli/src/java/org/apache/commons/cli/CommandLine.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- CommandLine.java 11 Oct 2002 23:07:34 -0000 1.12 +++ CommandLine.java 14 Nov 2002 23:30:02 -0000 1.13 @@ -91,6 +91,9 @@ /** the processed options */ private Map options = new HashMap(); + /** the option name map */ + private Map names = new HashMap(); + /** Map of unique options for ease to get complete list of options */ private Map hashcodeMap = new HashMap(); @@ -179,8 +182,13 @@ public String[] getOptionValues( String opt ) { List values = new java.util.ArrayList(); - if( options.containsKey( opt ) ) { - List opts = (List)options.get( opt ); + String key = opt; + if( names.containsKey( opt ) ) { + key = (String)names.get( opt ); + } + + if( options.containsKey( key ) ) { + List opts = (List)options.get( key ); Iterator iter = opts.iterator(); while( iter.hasNext() ) { @@ -289,6 +297,9 @@ String key = opt.getOpt(); if( " ".equals(key) ) { key = opt.getLongOpt(); + } + else { + names.put( opt.getLongOpt(), key ); } if( options.get( key ) != null ) { 1.6 +1 -0 jakarta-commons/cli/src/test/org/apache/commons/cli/ParseTest.java Index: ParseTest.java =================================================================== RCS file: /home/cvs/jakarta-commons/cli/src/test/org/apache/commons/cli/ParseTest.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ParseTest.java 19 Sep 2002 22:59:44 -0000 1.5 +++ ParseTest.java 14 Nov 2002 23:30:03 -0000 1.6 @@ -87,6 +87,7 @@ assertTrue( "Confirm -a is set", cl.hasOption("a") ); assertTrue( "Confirm -b is set", cl.hasOption("b") ); assertTrue( "Confirm arg of -b", cl.getOptionValue("b").equals("toast") ); + assertTrue( "Confirm arg of --bfile", cl.getOptionValue( "bfile" ).equals( "toast" ) ); assertTrue( "Confirm size of extra args", cl.getArgList().size() == 2); } catch (ParseException e)
-- To unsubscribe, e-mail: <mailto:commons-dev-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:commons-dev-help@;jakarta.apache.org>