OgnlRuntime.getMethod fails to return correct method in some circumstances.
---------------------------------------------------------------------------

                 Key: OGNL-41
                 URL: https://issues.apache.org/jira/browse/OGNL-41
             Project: OGNL
          Issue Type: Bug
            Reporter: Daniel Pitts


OgnlRuntime.getMethod fails to return correct method in some circumstances, 
causing the wrong method to be called in "compiled" expressions.

The test case class is "Messages", which has a few "format" methods.  When 
attempting to call message.format("SomeString", one), OgnlRuntime.getMethod 
returns null, instead of finding "format(String, Object)".

The problem is partially masked by the next call in ASTMethod: 
"OgnlRuntime.getReadMethod", which returns the "format(String, Object[])" 
method.

In the unit tests, MethodTest[3] is the one that is wrong. The expected result 
should be "first", but is instead "foo". 

When running MethodTest with compilation turned off, "foo" is return as 
expected.

It looks like the logic in "getAppropriateMethod" is correct, but currently 
relies on actual arguments, rather than just argument types.  I think it could 
be refactored and used for both the compiled and uncompiled use cases. 

I have no patch at the moment.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to