[ 
https://issues.apache.org/jira/browse/FELIX-2894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13045602#comment-13045602
 ] 

Derek Baum commented on FELIX-2894:
-----------------------------------

The code currently committed to resolve this issue (has wrong issue id in 
comment so is not listed in subversion commits tab)

    r1086855 | pkriens | 2011-03-30 07:40:15 +0100 (Wed, 30 Mar 2011) | 1 line

    FELIX-2984 Invalid handling of parameters (options were ok). It works now 
and the tests are running but I am not confident this
    code is correct yet. Will probably have to rewrite this.

causes another problem:

no error is generated if too many args are supplied, as long as the initial 
args are ok

e.g. before this change, specifying too many args causes an error, as expected:

g! addcommand 1 2 3 4
gogo: IllegalArgumentException: Cannot coerce addcommand(String, String, 
String, String) to any of [(String, Object, String), (String, Object), (String, 
Object, Class)]


after this change, no error is issued:

g! addcommand 1 2 3 4
g! 

> Gogo does not handles options but not parameters
> ------------------------------------------------
>
>                 Key: FELIX-2894
>                 URL: https://issues.apache.org/jira/browse/FELIX-2894
>             Project: Felix
>          Issue Type: Bug
>          Components: Gogo Runtime
>            Reporter: Peter Kriens
>
> If you create a function with a parameter then the correct method cannot be 
> found:
> public void xyz( @Parameter( names="-v", absentValue="absent") String string 
> ) { return string; }
> This method is not found for xyz -v abc
> There were two bugs in the code:
> - annotation values can never be null but null was checked for the 
> presentValue to see if it was not there.
> - After handling the parameters the new length of the command line was 
> checked against the xargs. However, this still contained the parameter name + 
> value. So the size was too high to match.
> I've added a check for the Parameter.UNSPECIFIED when checking the status of 
> presentValue and I removed the check for the length of xargs, only types is 
> relevant I think. However, might need some other pair of eyes

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to