You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Alexander Koppelhuber (JIRA)" <ji...@apache.org> on 2008/02/28 17:59:51 UTC

[jira] Created: (BEANUTILS-307) BeanUtils.setProperty(...) not working for property "xValue"

BeanUtils.setProperty(...) not working for property "xValue"
------------------------------------------------------------

                 Key: BEANUTILS-307
                 URL: https://issues.apache.org/jira/browse/BEANUTILS-307
             Project: Commons BeanUtils
          Issue Type: Bug
          Components: Bean / Property Utils
         Environment: linux, jdk 1.6, beanutils 1.8 beta
            Reporter: Alexander Koppelhuber


settings 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:

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (BEANUTILS-307) BeanUtils.setProperty(...) not working for property "xValue"

Posted by "Alexander Koppelhuber (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BEANUTILS-307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexander Koppelhuber updated BEANUTILS-307:
--------------------------------------------

    Description: 
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

  was:
settings 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


> BeanUtils.setProperty(...) not working for property "xValue"
> ------------------------------------------------------------
>
>                 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] Updated: (BEANUTILS-307) BeanUtils.setProperty(...) not working for property "xValue"

Posted by "Alexander Koppelhuber (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BEANUTILS-307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexander Koppelhuber updated BEANUTILS-307:
--------------------------------------------

    Fix Version/s:     (was: 1.8.0)
      Description: 
settings 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

  was:
settings 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


> BeanUtils.setProperty(...) not working for property "xValue"
> ------------------------------------------------------------
>
>                 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
>
> settings 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] Issue Comment Edited: (BEANUTILS-307) BeanUtils.setProperty(...) not working for property "xValue" (see description for reason)

Posted by "Alexander Koppelhuber (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Resolved: (BEANUTILS-307) BeanUtils.setProperty(...) not working for property "xValue" (see description for reason)

Posted by "Niall Pemberton (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BEANUTILS-307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Niall Pemberton resolved BEANUTILS-307.
---------------------------------------

    Resolution: Invalid

OK I'll close this then - thanks for checking

> 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] Updated: (BEANUTILS-307) BeanUtils.setProperty(...) not working for property "xValue"

Posted by "Alexander Koppelhuber (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BEANUTILS-307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexander Koppelhuber updated BEANUTILS-307:
--------------------------------------------

    Description: 
settings 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

  was:
settings 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


> BeanUtils.setProperty(...) not working for property "xValue"
> ------------------------------------------------------------
>
>                 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
>             Fix For: 1.8.0
>
>
> settings 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

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (BEANUTILS-307) BeanUtils.setProperty(...) not working for property "xValue"

Posted by "Alexander Koppelhuber (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BEANUTILS-307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexander Koppelhuber updated BEANUTILS-307:
--------------------------------------------

        Fix Version/s: 1.8.0
    Affects Version/s: 1.8.0-BETA

> BeanUtils.setProperty(...) not working for property "xValue"
> ------------------------------------------------------------
>
>                 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
>             Fix For: 1.8.0
>
>
> settings 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

-- 
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)

Posted by "Alexander Koppelhuber (JIRA)" <ji...@apache.org>.
    [ 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)

Posted by "Niall Pemberton (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Updated: (BEANUTILS-307) BeanUtils.setProperty(...) not working for property "xValue"

Posted by "Alexander Koppelhuber (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BEANUTILS-307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexander Koppelhuber updated BEANUTILS-307:
--------------------------------------------

    Description: 
settings 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

  was:
settings 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:


> BeanUtils.setProperty(...) not working for property "xValue"
> ------------------------------------------------------------
>
>                 Key: BEANUTILS-307
>                 URL: https://issues.apache.org/jira/browse/BEANUTILS-307
>             Project: Commons BeanUtils
>          Issue Type: Bug
>          Components: Bean / Property Utils
>         Environment: linux, jdk 1.6, beanutils 1.8 beta
>            Reporter: Alexander Koppelhuber
>
> settings 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

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (BEANUTILS-307) BeanUtils.setProperty(...) not working for property "xValue" (see description for reason)

Posted by "Alexander Koppelhuber (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/BEANUTILS-307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexander Koppelhuber updated BEANUTILS-307:
--------------------------------------------

    Summary: BeanUtils.setProperty(...) not working for property "xValue" (see description for reason)  (was: BeanUtils.setProperty(...) not working for property "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.