You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by bu...@apache.org on 2005/02/01 23:47:22 UTC
DO NOT REPLY [Bug 33341] New: -
HelpFormatter doesn't function correctly for options with only LongOpt
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=33341>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=33341
Summary: HelpFormatter doesn't function correctly for options
with only LongOpt
Product: Commons
Version: 1.0 Final
Platform: All
OS/Version: All
Status: NEW
Severity: major
Priority: P2
Component: CLI
AssignedTo: commons-dev@jakarta.apache.org
ReportedBy: steve.morin@gmail.com
The following doesn't work (org.apache.commons.cli.HelpFormatter
)correctly and doesn't print out the help menu of options
that only specify LongOpt.
The output is:
[java] usage: -a | -d | --shutdown | -s | -h [-r <email>] [-f <flight>] [-t]
[java] VendMore - Email Management System
[java] -t,--test test mode - makes no permanent changes.
[java] --shutdown shutdown rpc server.
[java] -a,--add add user to email queue.
[java] -d,--delete delete user from email queue.
[java] -f,--flight flight which is the index into the email being sent
[java] -h,--help Print this usage information.
[java] -r recipient's email
[java] -s,--send send email command
[java] For more information, see Steve Morin
[java] Java Result: 1
it is missing the following options when printing the help display.
options.addOption(OptionBuilder.withDescription("hostname for the XmlRpc
client to connect to.").withLongOpt("hostname").create());
options.addOption(OptionBuilder.withDescription("port for the xmlrpc
client to use.").withLongOpt("port").create());
options.addOption(OptionBuilder.withDescription("additional xmlrpc
connection").withLongOpt("urlpath").create());
options.addOption(OptionBuilder.withDescription("add a parameter
form name=value.").hasArg().withLongOpt("params").create());
example of the offending code
private CommandLineParser cmd;
private Options options;
private OptionGroup ogmain;
public CmdLineArg() {
super();
cmd = new BasicParser();
options = new Options();
ogmain = new OptionGroup();
ogmain.setRequired(true);
localinit();
init();
}
public CommandLine run(String[] args) {
try {
options.addOption(OptionBuilder.withDescription("add a parameter
form name=value.").hasArg().withLongOpt("params").create());
options.addOption(OptionBuilder.withDescription("recipient's
email").hasArg().create('r'));
options.addOption(OptionBuilder.withDescription("flight which is
the index into the email being sent").withLongOpt("flight").hasArg().create('f'));
options.addOption(OptionBuilder.withDescription("test mode - makes
no permanent changes.").withLongOpt("test").create('t'));
ogmain.addOption(OptionBuilder.withDescription("Print this usage
information.").withLongOpt("help").create('h'));
ogmain.addOption(OptionBuilder.withDescription("send email
command").withLongOpt("send").hasArg().create('s'));
ogmain.addOption(OptionBuilder.withDescription("add user to email
queue.").withLongOpt("add").create('a'));
ogmain.addOption(OptionBuilder.withDescription("delete user from email
queue.").withLongOpt("delete").create('d'));
ogmain.addOption(OptionBuilder.withDescription("shutdown rpc
server.").withLongOpt("shutdown").create());
options.addOption(OptionBuilder.withDescription("hostname for the XmlRpc
client to connect to.").withLongOpt("hostname").create());
options.addOption(OptionBuilder.withDescription("port for the xmlrpc
client to use.").withLongOpt("port").create());
options.addOption(OptionBuilder.withDescription("additional xmlrpc
connection").withLongOpt("urlpath").create());
options.addOptionGroup(this.ogmain);
return cmd.parse(options,args);
} catch (ParseException e) {
printUsage();
System.exit(1);
return null;
}
}
protected void printUsage(){
HelpFormatter helpFormatter = new HelpFormatter();
helpFormatter.printHelp(getUSAGE(),getHEADER(),options,getFOOTER());
}
--
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org