[ http://issues.apache.org/jira/browse/BEANUTILS-44?page=all ]
Niall Pemberton updated BEANUTILS-44: ------------------------------------- Bugzilla Id: (was: 33841) Component/s: Locale BeanUtils / Converters > [beanutils] FloatLocaleConverter cannot parse negative values > ------------------------------------------------------------- > > Key: BEANUTILS-44 > URL: http://issues.apache.org/jira/browse/BEANUTILS-44 > Project: Commons BeanUtils > Issue Type: Bug > Components: Locale BeanUtils / Converters > Environment: Operating System: All > Platform: All > Reporter: Paul Jenkins > Fix For: 1.8.0 > > > Problem found in Build 1.7 > LocaleBeanUtils.setProperty(bean, name, value); > Does not handle negative values. When processing negative values the > FloatLocaleConverter.parse(value, pattern) throws a ConversionException > because > of the following if test: - > if(Math.abs(parsed.doubleValue() - parsed.floatValue()) > > parsed.floatValue() * 0.00001) { > throw new ConversionException(...); > } > This test will always fail for a valid negative value because the > multiplication by 0.00001 will result in a negative value which will be less > then the abs subtraction. > A solution to this problem would be to check Math.abs(parsed.floatValue() * > 0.00001) > We also suffer from the previously reported problem of the locale converters > not supporting boolean to get round this problem we have to determine the > property type and call either LocaleBeanUtils.setProperty() or > BeanUtils.setProperty() this would be made easier if the: - > protected Descriptor calculate(Object bean, String name) > method was made public. -- 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]