[jira] Commented: (BEANUTILS-307) BeanUtils.setProperty(...) not working for property "xValue" (see description for reason)
[ https://issues.apache.org/jira/browse/BEANUTILS-307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12573435#action_12573435 ] Alexander Koppelhuber commented on BEANUTILS-307: - ok, you are right i looked it up in the java beans 1.01 spec in chapter 8.8 it says: > BeanUtils.setProperty(...) not working for property "xValue" (see description > for reason) > - > > Key: BEANUTILS-307 > URL: https://issues.apache.org/jira/browse/BEANUTILS-307 > Project: Commons BeanUtils > Issue Type: Bug > Components: Bean / Property Utils >Affects Versions: 1.8.0-BETA > Environment: linux, jdk 1.6, beanutils 1.8 beta >Reporter: Alexander Koppelhuber > > setting values for a property that has one lower case character at the > beginning > followed by an upper case character does not work. for example "xValue" or > "zIndex". > The reason (as far as I found out) is as follows: > Introspector.getBeanInfo() gets the property names from the get/set methods. > In Introspector.getTargetPropertyInfo() the following code creates a > PropertyDescriptor: > >pd = new PropertyDescriptor(decapitalize(name.substring(3)),..) > decapitalize() says "when there is more than one character and both > the first and second characters are upper case, we leave it alone..." > which results in the name = "XValue" for the method getXValue() > so setProperty(...) does not find a descriptor for "xValue" and cannot call > the setXValue method > I think this issue is not limited to 1.8 beta but also to earlier versions -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (BEANUTILS-307) BeanUtils.setProperty(...) not working for property "xValue" (see description for reason)
[ https://issues.apache.org/jira/browse/BEANUTILS-307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12573379#action_12573379 ] Niall Pemberton commented on BEANUTILS-307: --- OK its been a while since I looked at the java beans spec - my first thought is you should be using "XValue" as the property name instead of "xValue". > BeanUtils.setProperty(...) not working for property "xValue" (see description > for reason) > - > > Key: BEANUTILS-307 > URL: https://issues.apache.org/jira/browse/BEANUTILS-307 > Project: Commons BeanUtils > Issue Type: Bug > Components: Bean / Property Utils >Affects Versions: 1.8.0-BETA > Environment: linux, jdk 1.6, beanutils 1.8 beta >Reporter: Alexander Koppelhuber > > setting values for a property that has one lower case character at the > beginning > followed by an upper case character does not work. for example "xValue" or > "zIndex". > The reason (as far as I found out) is as follows: > Introspector.getBeanInfo() gets the property names from the get/set methods. > In Introspector.getTargetPropertyInfo() the following code creates a > PropertyDescriptor: > >pd = new PropertyDescriptor(decapitalize(name.substring(3)),..) > decapitalize() says "when there is more than one character and both > the first and second characters are upper case, we leave it alone..." > which results in the name = "XValue" for the method getXValue() > so setProperty(...) does not find a descriptor for "xValue" and cannot call > the setXValue method > I think this issue is not limited to 1.8 beta but also to earlier versions -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.