You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Glen Mazza <gl...@verizon.net> on 2007/11/04 17:57:21 UTC

Re: svn commit: r591788 - in /incubator/cxf/trunk/tools/common/src: main/java/org/apache/cxf/tools/common/ main/java/org/apache/cxf/tools/common/toolspec/parser/ test/java/org/apache/cxf/tools/common/toolspec/parser/

Am Sonntag, den 04.11.2007, 15:12 +0000 schrieb ema@apache.org:
> Author: ema
> Date: Sun Nov  4 07:12:10 2007
> New Revision: 591788
> 
> URL: http://svn.apache.org/viewvc?rev=591788&view=rev
> Log:
> CXF-1170: Improve the format of tooling help detailed usage, use the unix man style to print help message 
> 
> Modified:
>     incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/AbstractCXFToolContainer.java
>     incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/toolspec/parser/CommandLineParser.java
>     incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/toolspec/parser/detailedUsage.xsl
>     incubator/cxf/trunk/tools/common/src/test/java/org/apache/cxf/tools/common/toolspec/parser/CommandLineParserTest.java
> 
> Modified: incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/AbstractCXFToolContainer.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/AbstractCXFToolContainer.java?rev=591788&r1=591787&r2=591788&view=diff
> ==============================================================================
> --- incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/AbstractCXFToolContainer.java (original)
> +++ incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/AbstractCXFToolContainer.java Sun Nov  4 07:12:10 2007
> @@ -92,12 +92,10 @@
>                  System.out.println();
>                  System.out.println("Options: ");
>                  System.out.println();
> -                System.out.println(parser.getDetailedUsage());
> +                System.out.println(parser.getFromatedDetailedUsage());

getFormatted...
    ^^   ^

>                  String toolUsage = parser.getToolUsage();
> -
>                  if (toolUsage != null) {
>                      System.out.println(toolUsage);
> -                    System.out.println();
>                  }
>              } catch (Exception ex) {
>                  System.err.println("Error : Could not output detailed usage");

Error:

> 
> Modified: incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/toolspec/parser/CommandLineParser.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/toolspec/parser/CommandLineParser.java?rev=591788&r1=591787&r2=591788&view=diff
> ==============================================================================
> +    public String getFromatedDetailedUsage() throws TransformerException {
> +        ByteArrayOutputStream baos = new ByteArrayOutputStream();
> +        toolspec.transform(getClass().getResourceAsStream("detailedUsage.xsl"), baos);
> +        String usage = baos.toString();
> +        // we use the following pattern to format usage
> +        // |-------|-options|------|description-----------------|
> +        // before option white space size is 7
> +        int beforeOptSpan = 3;
> +        // option lenght is 8

length

> +        StringBuffer strbuffer = new StringBuffer();
> +        for (int j = 0; j < length - 1; j = j + 2) {
> +            int optionLen = orginalStrs[j].length();
> +            addWhiteNamespace(strbuffer, beforeOptSpan);
> +            if (optionLen <= optSpan) {
> +                // && beforeOptSpan + optionLen + optSpan + desLen <= totalLen -
> +                // 1) {
> +
> +                strbuffer.append(orginalStrs[j]);
> +                addWhiteNamespace(strbuffer, optSpan - orginalStrs[j].length());
> +                strbuffer.append(" ");
> +                if (orginalStrs[j + 1].length() > totalLen - beforeDesSpan) {
> +                    String tmp = orginalStrs[j + 1].substring(0, totalLen - beforeDesSpan);
> +                    strbuffer.append(tmp);
> +                    orginalStrs[j + 1] = orginalStrs[j + 1].substring(totalLen - beforeDesSpan, 
> +                                                                      orginalStrs[j + 1].length());
> +                    strbuffer.append(lineSeparator);
> +                } else {
> +                    strbuffer.append(orginalStrs[j + 1]);

original

> Modified: incubator/cxf/trunk/tools/common/src/test/java/org/apache/cxf/tools/common/toolspec/parser/CommandLineParserTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/common/src/test/java/org/apache/cxf/tools/common/toolspec/parser/CommandLineParserTest.java?rev=591788&r1=591787&r2=591788&view=diff
> ==============================================================================
> --- incubator/cxf/trunk/tools/common/src/test/java/org/apache/cxf/tools/common/toolspec/parser/CommandLineParserTest.java (original)
> +++ incubator/cxf/trunk/tools/common/src/test/java/org/apache/cxf/tools/common/toolspec/parser/CommandLineParserTest.java Sun Nov  4 07:12:10 2007
> @@ -303,5 +303,14 @@
>      public void testGetDetailedUsage() {
>          assertTrue("Namespace".equals(parser.getDetailedUsage("namespace")));
>      }
> +    
> +
> +    @Test
> +    public void testFormatedDetailedUsage() throws Exception {

Formatted

> +        String usage = parser.getFromatedDetailedUsage();
> +        assertNotNull(usage);
> +        StringTokenizer st1 = new StringTokenizer(usage, System.getProperty("line.separator"));
> +        assertEquals(13, st1.countTokens());
> +    }
>  
>  }
> 
>