You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Bryan Helm (JIRA)" <ji...@apache.org> on 2015/10/15 16:33:05 UTC

[jira] [Commented] (BEANUTILS-35) Indexed properties with Array type cause IllegalArgumentException in setProperty/populate

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

Bryan Helm commented on BEANUTILS-35:
-------------------------------------

I'm using a patched version of BeanUtilsBean where the [0] is removed on line 993 (v1.9.2). When copying a String array to an array type, it should just copy the array, but the code dereferences it with [0], wrongly. This causes an array property to be copied as the first element of the array instead of as the whole array. It does not necessarily cause the exception seen here (a two dimensional array can be dereferenced and copied to an array), This seems like a really obvious bug and not related to the bigger issues being discussed here. Am I missing something?

> Indexed properties with Array type cause IllegalArgumentException in setProperty/populate
> -----------------------------------------------------------------------------------------
>
>                 Key: BEANUTILS-35
>                 URL: https://issues.apache.org/jira/browse/BEANUTILS-35
>             Project: Commons BeanUtils
>          Issue Type: Bug
>          Components: Bean / Property Utils
>    Affects Versions: 1.7.0
>         Environment: Operating System: All
> Platform: All
>            Reporter: David Wood
>            Assignee: Niall Pemberton
>             Fix For: 2.0
>
>         Attachments: ASF.LICENSE.NOT.GRANTED--ArrayIndexedProperty.patch, ASF.LICENSE.NOT.GRANTED--beanutils-indexed-arrays.patch, BEANUTILS-35-PropertyUtilsBean-getPropertyType.patch
>
>
> If you attempt:
> public String[] getIndexedArrayProperty(int index)
> public void setIndexedArrayProperty(int index,String newvalue[])
> ...this will fail with an IllegalArgumentException in PropertyUtilsBean, because
> setProperty will decide to store the first element of the newvalue array rather
> than the whole array.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)