[ https://issues.apache.org/jira/browse/BEANUTILS-44?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Niall Pemberton resolved BEANUTILS-44. -------------------------------------- Resolution: Fixed Assignee: Niall Pemberton > FloatLocaleConverter cannot parse negative values > ------------------------------------------------- > > Key: BEANUTILS-44 > URL: https://issues.apache.org/jira/browse/BEANUTILS-44 > Project: Commons BeanUtils > Issue Type: Bug > Components: Locale BeanUtils / Converters > Affects Versions: 1.7.0 > Environment: Operating System: All > Platform: All > Reporter: Paul Jenkins > Assignee: Niall Pemberton > 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. - 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]