You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Michael Grove (JIRA)" <ji...@apache.org> on 2015/06/17 20:52:00 UTC
[jira] [Updated] (BEANUTILS-474) FluentPropertyBeanIntrospector
does not use the same naming algorithm as DefaultBeanIntrospector
[ https://issues.apache.org/jira/browse/BEANUTILS-474?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Grove updated BEANUTILS-474:
------------------------------------
Attachment: beanutils-474.diff
see attached test case and fix
> FluentPropertyBeanIntrospector does not use the same naming algorithm as DefaultBeanIntrospector
> ------------------------------------------------------------------------------------------------
>
> Key: BEANUTILS-474
> URL: https://issues.apache.org/jira/browse/BEANUTILS-474
> Project: Commons BeanUtils
> Issue Type: Bug
> Components: Bean / Property Utils
> Affects Versions: 1.9.2
> Reporter: Michael Grove
> Priority: Minor
> Labels: naming, property
> Attachments: beanutils-474.diff
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> If you have a bean with the methods `URI getURI()` and `void setURI(URI)` the `DefaultBeanIntrospector` will find the property `URI` with the expected getter and setter. The `FluentPropertyBeanIntrospector` will instead find the property `uRI`, which (imo) is incorrect; you end up with a duplicate of the same property when using the two introspectors together.
> `DefaultBeanIntrospector` uses `Introspector#decapitalize` whereas `FluentPropertyBeanIntrospector` uses it's internal method `propertyName` which is where the difference arises from. `FluentPropertyBeanIntrospector` should just use `Introspector#decapitalize` when generating names.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)