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

[jira] Reopened: (BEANUTILS-294) BeanUtilsBean.setProperty() does not support nested map

     [ https://issues.apache.org/jira/browse/BEANUTILS-294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stephen Leung reopened BEANUTILS-294:
-------------------------------------


Just tried setting nested map property with BeanUtilsBean.setProperty() and it seemed it still doesn't support nested maps. The test case mentioned above (PropertyUtilsTestCase.testSetMappedMap()) works because it is using PropertyUtils, but not BeanUtils. If we replace PropertyUtils.setProperty() with BeanUtils.setProperty() in the unit test, then the unit test will fail.

It is important to make BeanUtils.setProperty() to support nested maps since it is used by Struts.


> BeanUtilsBean.setProperty() does not support nested map
> -------------------------------------------------------
>
>                 Key: BEANUTILS-294
>                 URL: https://issues.apache.org/jira/browse/BEANUTILS-294
>             Project: Commons BeanUtils
>          Issue Type: Bug
>          Components: Bean / Property Utils
>    Affects Versions: 1.8.0-BETA
>            Reporter: Stephen Leung
>            Priority: Critical
>
> I tried to call BeanUtilsBean.setProperty() with a DynaActionForm as the "bean" and "someMap(x)(y)" as the "name". In BeanUtilsBean.setProperty(), after the while loop at line 900, target became "null" and name became = "(y)". And consequently IllegalArgumentException is thrown at line 930 when setProperty() tried to getPropertyDescriptor() of a null bean. Specifically, the following is the stack trace. Could somebody look into it?
> Thanks.
> java.lang.IllegalArgumentException: No bean specified
>      at org.apache.common.beanutils.PropertyUtilsBean.getPropertyDescriptor(PropertyUtilsBean.java:871)
>      at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:930)
>      at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:829)
>      at org.apache.commons.beanutils.BeanUtils.populate(BeanUtilsBean.java:433)
>      at org.apache.struts.util.RequestUtils.pouplate(RequestUtils.java:467)
>     ......

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