commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Koppelhuber (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (BEANUTILS-307) BeanUtils.setProperty(...) not working for property "xValue" (see description for reason)
Date Thu, 28 Feb 2008 20:51:55 GMT

    [ https://issues.apache.org/jira/browse/BEANUTILS-307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12573435#action_12573435
] 

toast edited comment on BEANUTILS-307 at 2/28/08 12:50 PM:
---------------------------------------------------------------------------

ok, you are right
i looked it up in the java beans 1.01 spec
in chapter 8.8 it says:
"...we normally convert the first character to lower case. However to support ... use of all
upper case ...if  first two characters ... are upper case ... leave it alone."

this behaviour was a bit confusing, since normally all variables start with lower case.
also no exception is thrown by setProperty(...) nor at least a warning that the method is
not available. it just doesn't work.


      was (Author: toast):
    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.


Mime
View raw message