[ 
http://issues.apache.org/jira/browse/CLI-125?page=comments#action_12436347 ] 
            
David Leal commented on CLI-125:
--------------------------------

I have found another test case that fails and is related with data input 
argument type:

public final void testPossibleBug2() throws Exception {
    String[] args = new String[] { "-r", "-t", "templateId", "-gCompId",
        "1", "-f", "csv", "-sDate", "01/01/2006", "-eDate",
         "01/02/2006", "-pNames", "name1", "-pValues", "val1" };
    parser.parse(args);
}

Produce the following error:

org.apache.commons.cli2.OptionException: Unexpected -f while processing 
-l|-t|-sDate|-eDate|-gCompId|-pNames|-pValues|-f
        at org.apache.commons.cli2.option.GroupImpl.validate(GroupImpl.java:270)
        at 
org.apache.commons.cli2.option.ParentImpl.validate(ParentImpl.java:127)
        at 
org.apache.commons.cli2.option.DefaultOption.validate(DefaultOption.java:175)
        at org.apache.commons.cli2.option.GroupImpl.validate(GroupImpl.java:264)
        at org.apache.commons.cli2.commandline.Parser.parse(Parser.java:105)
        at 
com.schinvest.lra.business.batch.commandLine.batchCaller.BatchCallerCommandLineParser.parse(BatchCallerCommandLineParser.java:226)
        at 
com.schinvest.lra.business.batch.commandLine.batchCaller.TestBatchCallerCommandLineParser.testPossibleBug2(TestBatchCallerCommandLineParser.java:268)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at junit.framework.TestCase.runTest(TestCase.java:164)
        at junit.framework.TestCase.runBare(TestCase.java:130)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:120)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at 
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
        at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

but, if I supress the option -eDate it works.

Now if I eliminate the -pNames, -pValues and mantain -sDate, -eDate it works:

public final void testPossibleBug2() throws Exception {
  String[] args = new String[] { "-r", "-t", "templateId", "-gCompId",
      "1", "-f", "csv", "-sDate", "01/01/2006", "-eDate",
      "01/02/2006" };
  parser.parse(args);
}

It looks like a mistery, isn't it, :-)

> Invokes Date Validator for a Date type (fail on real example)
> -------------------------------------------------------------
>
>                 Key: CLI-125
>                 URL: http://issues.apache.org/jira/browse/CLI-125
>             Project: Commons CLI
>          Issue Type: Bug
>    Affects Versions: Nightly Builds
>            Reporter: David Leal
>         Attachments: BatchCallerCommandLineParser_help_en.out, com.zip, 
> TEST-com.schinvest.lra.business.batch.commandLine.batchCaller.TestBatchCallerCommandLineParser.txt,
>  TestBatchCallerCommandLineParser.java
>
>
> Dear Sr,
> I would like to send a fail I have found when testing my real Command Line 
> Parser example. I have the command line class definition and also the 
> corresponding testing file. (I will try to add an atachment file).
> The file occurs because it miss understand probably som option definition and 
> it try to validate a Date type with a date validator which is wrong. I can't 
> isolate the situation for the moment, but on the testing class you will see 
> exaclty what happend.
> The file occurs with this situation:
>               args = new String[]{"-holders-options", "-local", "-f", 
> "nada.es",
>                               "-movements-options", "-date", "D-3", 
> "-positions-options",
>                               "-local", "-f", "otroNada.txt", "all"};
>               parser.parse(args);
> but with this:
>               args = new String[]{"-holders-options", "-local", "-f", 
> "nada.es",
>                               "-movements-options", "-date", "D-3", 
> "holders", "movements"};
>               parser.parse(args);
> it doesn't happend. The -movements-options, -holders-options, 
> -position-options are group of options. If you invoke the just the option 
> -help you will see the documentation about the input argument options, also 
> running the test you will get an output file: 
> TestBatchCallerCommandLineParser.out with this output (englis/spanish, it 
> depends of your local configuration).
> I have defined a DisplaceDateValidator, that extends DateValidator, it just 
> convert a displace date operator (D-n) in the corresponding date (current day 
> minus n-days). This validator works, the problem comes when I want to invoke 
> the parser with more group of options. As you can see on the source code the 
> algorithm for creating -holders-options, -movements-options, 
> -positions-options, so having one or two or more group options has to be 
> treated on the same way.
> Thanks, 
> David

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to