[ 
https://issues.apache.org/jira/browse/CONFIGURATION-566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13902847#comment-13902847
 ] 

Oliver Heger commented on CONFIGURATION-566:
--------------------------------------------

But does this really solve the problem? The documentation of 
BeanUtils.setProperty() says:

"If the property is read only then the method returns without throwing an 
exception."

So this means, if the isWriteable() check is removed, the property will not be 
set, but the caller does not get any feedback about the problem. I think, this 
is worse.

> BeanHelper.createBean() can't support Map<> bean property loading from file
> ---------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-566
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-566
>             Project: Commons Configuration
>          Issue Type: Bug
>          Components: Type conversion
>    Affects Versions: 1.10
>            Reporter: Shen liang
>
> The issue is BeanUtils.setProperty() can support the java Map bean to set the 
> (key, value) entry. But the BeahHelper.initProperty() add 1 more 
> PropertyUtils.isWriteable() check. While this PropertyUtils.isWriteable() 
> doesn't support java Map bean. 
> The check "PropertyUtils.isWriteable()" is quite redundant and unnecessary.
>   
> Is it better to remove the check "PropertyUtils.isWriteable()" since the 
> BeanUtils.setProperty() has various ways to set the properties?
> {noformat}
> BeanHelper.createBean() 
>  -> DefaultBeanFactory.createBean()
>       -> DefaultBeanFactory.initBeanInstance()
>            -> BeanHelper.initBean()
>                 ->BeahHelper.initProperty()
>                    {
>                         if (!PropertyUtils.isWriteable(bean, propName))
>                         ...
>                         BeanUtils.setProperty(bean, propName, value);
>                    }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to