From commits-return-12666-apmail-commons-commits-archive=commons.apache.org@commons.apache.org Sat Jun 19 22:06:52 2010 Return-Path: Delivered-To: apmail-commons-commits-archive@minotaur.apache.org Received: (qmail 69013 invoked from network); 19 Jun 2010 22:06:51 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 19 Jun 2010 22:06:51 -0000 Received: (qmail 66333 invoked by uid 500); 19 Jun 2010 22:06:51 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 66250 invoked by uid 500); 19 Jun 2010 22:06:50 -0000 Mailing-List: contact commits-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commons.apache.org Delivered-To: mailing list commits@commons.apache.org Received: (qmail 66243 invoked by uid 99); 19 Jun 2010 22:06:50 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 19 Jun 2010 22:06:50 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 19 Jun 2010 22:06:47 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 1216323889E2; Sat, 19 Jun 2010 22:06:01 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r956303 - in /commons/proper/cli/trunk/src: main/java/org/apache/commons/cli/ test/java/org/apache/commons/cli/ Date: Sat, 19 Jun 2010 22:06:00 -0000 To: commits@commons.apache.org From: ebourg@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100619220601.1216323889E2@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: ebourg Date: Sat Jun 19 22:06:00 2010 New Revision: 956303 URL: http://svn.apache.org/viewvc?rev=956303&view=rev Log: The default argument name displayed is now properly controlled by the help formatter (CLI-205) Modified: commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/HelpFormatter.java commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Option.java commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/OptionBuilder.java commons/proper/cli/trunk/src/test/java/org/apache/commons/cli/HelpFormatterTest.java Modified: commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/HelpFormatter.java URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/HelpFormatter.java?rev=956303&r1=956302&r2=956303&view=diff ============================================================================== --- commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/HelpFormatter.java (original) +++ commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/HelpFormatter.java Sat Jun 19 22:06:00 2010 @@ -648,14 +648,14 @@ public class HelpFormatter { buff.append("--").append(option.getLongOpt()); } - - // if the Option has a value - if (option.hasArg() && option.hasArgName()) + + // if the Option has a value and a non blank argname + if (option.hasArg() && (option.getArgName() == null || option.getArgName().length() != 0)) { buff.append(option.getOpt() == null ? longOptSeparator : " "); - buff.append("<").append(option.getArgName()).append(">"); + buff.append("<").append(option.getArgName() != null ? option.getArgName() : getArgName()).append(">"); } - + // if the Option is not a required option if (!required) { @@ -781,14 +781,16 @@ public class HelpFormatter if (option.hasArg()) { - if (option.hasArgName()) + String argName = option.getArgName(); + if (argName != null && argName.length() == 0) { - optBuf.append(option.hasLongOpt() ? longOptSeparator : " "); - optBuf.append("<").append(option.getArgName()).append(">"); + // if the option has a blank argname + optBuf.append(' '); } else { - optBuf.append(' '); + optBuf.append(option.hasLongOpt() ? longOptSeparator : " "); + optBuf.append("<").append(argName != null ? option.getArgName() : getArgName()).append(">"); } } Modified: commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Option.java URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Option.java?rev=956303&r1=956302&r2=956303&view=diff ============================================================================== --- commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Option.java (original) +++ commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/Option.java Sat Jun 19 22:06:00 2010 @@ -54,7 +54,7 @@ public class Option implements Cloneable private String longOpt; /** the name of the argument for this option */ - private String argName = "arg"; + private String argName; /** description of the option */ private String description; @@ -319,11 +319,9 @@ public class Option implements Cloneable } /** - * Returns whether the display name for the argument value - * has been set. + * Returns whether the display name for the argument value has been set. * - * @return if the display name for the argument value has been - * set. + * @return if the display name for the argument value has been set. */ public boolean hasArgName() { Modified: commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/OptionBuilder.java URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/OptionBuilder.java?rev=956303&r1=956302&r2=956303&view=diff ============================================================================== --- commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/OptionBuilder.java (original) +++ commons/proper/cli/trunk/src/main/java/org/apache/commons/cli/OptionBuilder.java Sat Jun 19 22:06:00 2010 @@ -77,7 +77,7 @@ public final class OptionBuilder private static void reset() { description = null; - argName = "arg"; + argName = null; longopt = null; type = null; required = false; Modified: commons/proper/cli/trunk/src/test/java/org/apache/commons/cli/HelpFormatterTest.java URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/src/test/java/org/apache/commons/cli/HelpFormatterTest.java?rev=956303&r1=956302&r2=956303&view=diff ============================================================================== --- commons/proper/cli/trunk/src/test/java/org/apache/commons/cli/HelpFormatterTest.java (original) +++ commons/proper/cli/trunk/src/test/java/org/apache/commons/cli/HelpFormatterTest.java Sat Jun 19 22:06:00 2010 @@ -305,6 +305,22 @@ public class HelpFormatterTest extends T assertEquals("usage: app -f" + EOL, out.toString()); } + public void testDefaultArgName() + { + Option option = OptionBuilder.hasArg().isRequired().create("f"); + + Options options = new Options(); + options.addOption(option); + + StringWriter out = new StringWriter(); + + HelpFormatter formatter = new HelpFormatter(); + formatter.setArgName("argument"); + formatter.printUsage(new PrintWriter(out), 80, "app", options); + + assertEquals("usage: app -f " + EOL, out.toString()); + } + public void testRtrim() { HelpFormatter formatter = new HelpFormatter();