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


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