DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=23815>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=23815

[beanutils]PropertyUtils.getNestedProperty() doesn't allow getXxxx on Map-Instances 
any longer

[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|PropertyUtils.getNestedPrope|[beanutils]PropertyUtils.get
                   |rty() doesn't allow getXxxx |NestedProperty() doesn't
                   |on Map-Instances any longer |allow getXxxx on Map-
                   |                            |Instances any longer



------- Additional Comments From [EMAIL PROTECTED]  2004-07-09 07:37 -------
Theres an inconsistency here. If you look at the setNestedProperty() method it 
has the following code:

if (bean instanceof Map) {

   // check to see if the class has a standard property 
   PropertyDescriptor descriptor = 
       getPropertyDescriptor(bean, name);
   if (descriptor == null) {
       // no - then put the value into the map
       ((Map) bean).put(name, value);
   } else {
       // yes - use that instead
       setSimpleProperty(bean, name, value);
   }

} else (....) {

So effectively it is doing what Jon suggested - check first if theres a 
property and if not and its a Map set the value. However the getNestedProperty
() doesn't do this so the two methods are inconsistent.

This inconsistency was pointed out by Senén in Bug 26904 and he/she requested 
that the get/setSimpleProperty handle Maps.

I agree that is what we do - in the get/setSimpleProperty methods first check 
if the property exists in the bean (if it does, use it) - if it doesn't then 
check if the bean is a Map (if it is then get/set the map's key value) 
otherwise throw the "unknown property" exception.

What do you think - does this satisfy Craig's issue with backwards 
compatibility? I'll attach a patch

Niall

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to