[ 
https://issues.apache.org/jira/browse/VELOCITY-753?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nathan Bubna resolved VELOCITY-753.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0
                   1.7

> IntrospectionUtils.isMethodInvocationConvertible() returns true for 
> NumberFormat.format(double) method with a Float.class argument
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: VELOCITY-753
>                 URL: https://issues.apache.org/jira/browse/VELOCITY-753
>             Project: Velocity
>          Issue Type: Bug
>          Components: Engine
>    Affects Versions: 1.6.2
>            Reporter: Tim Kuntz
>             Fix For: 1.7, 2.0
>
>
> NumberFormat has both a format(double) and format(Object) method. When 
> evaluated against a Float, IntrospectionUtils is returning true. This causes 
> Method.getBestMatch() to throw an AmbigouusException.
> I have included a failing test case below to show this issue.
> Thanks,
> Tim
> import java.io.StringReader;
> import java.io.StringWriter;
> import java.text.NumberFormat;
> import junit.framework.TestCase;
> import org.apache.velocity.VelocityContext;
> import org.apache.velocity.app.Velocity;
> public class VelocityFormatTest extends TestCase {
>       public void test_format_of_float() throws Exception {
>               // verify format() outside of Velocity
>               NumberFormat numberFormat = NumberFormat.getInstance();
>               Float aFloat = new Float(5.23);
>               assertEquals("5.23", numberFormat.format(aFloat));
>               Velocity.init();
>               VelocityContext context = new VelocityContext();
>               context.put("numberFormatter", numberFormat);
>               context.put("aFloat", aFloat);
>               StringWriter sw = new StringWriter();
>               StringReader sr = new StringReader(
>                               "float value is 
> ${numberFormatter.format($aFloat)}");
>               Velocity.evaluate(context, sw, "name", sr);
>               String expectedValue = "float value is 5.23";
>               assertEquals(expectedValue, sw.toString());
>       }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to