From 8feee36de8e6042f928439b06a03d50018423afe Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Fri, 17 Aug 2007 00:53:26 +0000
Subject: [PATCH] The following modifications have the following goals:
---
opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java | 53 ++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 36 insertions(+), 17 deletions(-)
diff --git a/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java b/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java
index 0aca8af..5d8a591 100644
--- a/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java
+++ b/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java
@@ -63,7 +63,7 @@
* it is allowed to re-use subcommand-specific options for different purposes
* between different subcommands.
*/
-public class SubCommandArgumentParser
+public class SubCommandArgumentParser extends ArgumentParser
{
// The argument that will be used to trigger the display of usage information.
private Argument usageArgument;
@@ -138,6 +138,7 @@
public SubCommandArgumentParser(String mainClassName, Message toolDescription,
boolean longArgumentsCaseSensitive)
{
+ super(mainClassName, toolDescription, longArgumentsCaseSensitive);
this.mainClassName = mainClassName;
this.toolDescription = toolDescription;
this.longArgumentsCaseSensitive = longArgumentsCaseSensitive;
@@ -1496,7 +1497,7 @@
* @return A string containing usage information based on the defined
* arguments.
*/
- public Message getUsage()
+ public String getUsage()
{
MessageBuilder buffer = new MessageBuilder();
@@ -1513,7 +1514,7 @@
getSubCommandUsage(buffer, subCommand);
}
- return buffer.toMessage();
+ return buffer.toMessage().toString();
}
@@ -1607,9 +1608,10 @@
}
-
- // Get default usage.
- private void getUsage(OutputStream outputStream)
+ /**
+ * {@inheritDoc}
+ */
+ public void getUsage(OutputStream outputStream)
throws IOException {
outputStream.write(getBytes(String.valueOf(getUsage())));
}
@@ -1636,20 +1638,29 @@
buffer.append(" ");
buffer.append(scriptName);
- buffer.append(" {subcommand} {options}");
-
- buffer.append(EOL);
- buffer.append(EOL);
-
- if (c.isEmpty())
+ if (subCommands.isEmpty())
{
- buffer.append(INFO_SUBCMDPARSER_SUBCMD_HELP_HEADING.get());
+ buffer.append(" "+INFO_SUBCMDPARSER_OPTIONS.get());
}
else
{
- buffer.append(INFO_SUBCMDPARSER_SUBCMD_HEADING.get());
+ buffer.append(" "+INFO_SUBCMDPARSER_SUBCMD_AND_OPTIONS.get());
}
- buffer.append(EOL);
+
+ if (!subCommands.isEmpty())
+ {
+ buffer.append(EOL);
+ buffer.append(EOL);
+ if (c.isEmpty())
+ {
+ buffer.append(INFO_SUBCMDPARSER_SUBCMD_HELP_HEADING.get());
+ }
+ else
+ {
+ buffer.append(INFO_SUBCMDPARSER_SUBCMD_HEADING.get());
+ }
+ buffer.append(EOL);
+ }
if (c.isEmpty()) {
// Display usage arguments (except the default one).
@@ -1691,8 +1702,16 @@
buffer.append(EOL);
if (showGlobalOptions) {
- buffer.append(INFO_SUBCMDPARSER_GLOBAL_HEADING.get());
- buffer.append(EOL);
+ if (subCommands.isEmpty())
+ {
+ buffer.append(INFO_SUBCMDPARSER_WHERE_OPTIONS_INCLUDE.get());
+ buffer.append(EOL);
+ }
+ else
+ {
+ buffer.append(INFO_SUBCMDPARSER_GLOBAL_HEADING.get());
+ buffer.append(EOL);
+ }
// --version is a builtin option
boolean dashVAccepted = true;
--
Gitblit v1.10.0