[
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.