commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Woonsan Ko (JIRA)" <>
Subject [jira] [Updated] (JEXL-144) Empty array property setting fails
Date Sat, 02 Nov 2013 05:02:18 GMT


Woonsan Ko updated JEXL-144:

    Attachment: jexl3-empty-array-patch.txt

Attaching patches:
- jexl2-empty-array-patch.txt for 2.0 branch
- jexl3-empty-array-patch.txt for trunk

All the internal method cache objects (ClassMap, MethodMap, MethodKey, etc) do not have the
argument information. So, they cannot detect if the property value argument is an empty array.
Therefore, the most proper location to improve is, IMHO, where methods
are looked up by the input argument and its type.

Basically, PropertySetExecutor now finds an array setter method by the method name if no proper
method was found yet.
And, it invokes the detected method with a newly created empty array object later by the detected
array component type.

Please review the patches.

Thanks in advance,


> Empty array property setting fails
> ----------------------------------
>                 Key: JEXL-144
>                 URL:
>             Project: Commons JEXL
>          Issue Type: Bug
>            Reporter: Woonsan Ko
>             Fix For: 2.1.2, 3.0
>         Attachments: jexl2-empty-array-patch.txt, jexl3-empty-array-patch.txt
> Suppose a bean has an array property setter method (e.g, public void setStrarr(String
[]) ).
> If I use an expression like this with an empty array, then it fails with the error message,
"inaccessible or unknown property strarr".
>   // example expression
>   bean.strarr = [ ];

This message was sent by Atlassian JIRA

View raw message