You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by co...@apache.org on 2011/07/13 17:12:13 UTC

svn commit: r1146093 - in /incubator/opennlp/trunk/opennlp-tools/src: main/java/opennlp/tools/cmdline/ArgumentParser.java test/java/opennlp/tools/cmdline/ArgumentParserTest.java

Author: colen
Date: Wed Jul 13 15:12:12 2011
New Revision: 1146093

URL: http://svn.apache.org/viewvc?rev=1146093&view=rev
Log:
OPENNLP-224 Added argument description to ArgumentParser.createUsage(...)

Modified:
    incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ArgumentParser.java
    incubator/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java

Modified: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ArgumentParser.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ArgumentParser.java?rev=1146093&r1=1146092&r2=1146093&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ArgumentParser.java (original)
+++ incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ArgumentParser.java Wed Jul 13 15:12:12 2011
@@ -213,6 +213,7 @@ public class ArgumentParser {
     checkProxyInterface(argProxyInterface);
     
     StringBuilder usage = new StringBuilder();
+    StringBuilder details = new StringBuilder();
     
     for (Method method : argProxyInterface.getMethods()) {
       
@@ -221,13 +222,16 @@ public class ArgumentParser {
       OptionalParameter optional = method.getAnnotation(OptionalParameter.class);
       
       if (desc != null) {
+        String paramName = methodNameToParameter(method.getName());
         
         if (optional != null)
           usage.append('[');
         
-        usage.append(methodNameToParameter(method.getName()));
-        usage.append(' ');
-        usage.append(desc.valueName());
+        usage.append(paramName).append(' ').append(desc.valueName());
+        details.append('\t').append(paramName).append(' ').append(desc.valueName()).append('\n');
+        if(desc.description() != null && desc.description().length() > 0) {
+          details.append("\t\t").append(desc.description()).append('\n');
+        }
         
         if (optional != null)
           usage.append(']');
@@ -239,6 +243,11 @@ public class ArgumentParser {
     if (usage.length() > 0)
       usage.setLength(usage.length() - 1);
     
+    if(details.length() > 0) {
+      details.setLength(details.length() - 1);
+      usage.append("\n\nArguments description:\n").append(details.toString());
+    }
+    
     return usage.toString();
   }
   

Modified: incubator/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java?rev=1146093&r1=1146092&r2=1146093&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java (original)
+++ incubator/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java Wed Jul 13 15:12:12 2011
@@ -59,7 +59,7 @@ public class ArgumentParserTest {
   
   interface SimpleArguments {
     
-    @ParameterDescription(valueName = "charset")
+    @ParameterDescription(valueName = "charset", description = "a charset encoding")
     String getEncoding();
     
     @ParameterDescription(valueName = "num")
@@ -110,7 +110,9 @@ public class ArgumentParserTest {
       expectedLength += arg.length();
     }
     
-    assertEquals(expectedLength, usage.length());
+    assertTrue(usage.contains("a charset encoding"));
+    
+    assertTrue(expectedLength < usage.length());
   }
   
   interface ExtendsEncodingParameter extends EncodingParameter {