[
https://issues.apache.org/jira/browse/JEXL-144?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Woonsan Ko updated JEXL-144:
----------------------------
Attachment: jexl3-empty-array-patch-4.txt
jexl2-empty-array-patch-4.txt
Hi,
I'm attaching new patches (jexl2-empty-array-patch-4.txt for 2.0 branch and
jexl3-empty-array-patch-4.txt for trunk).
These improve PropertySetExecutor class not to introduce a new member variable
any more. Instead, it resolves the array component type when executing the
setter method. This doesn't make any difference in performance now because the
array component type resolution is done only once anyway.
I also considered improving Uberspect instead as mentioned before, but that
approach has to introduce a new EmptyArrayPropertySetExecutor, which doesn't
seem to be really simple and nice to me.
Therefore, I decided to improve the PropertySetExecutor only, not to have a new
property there.
Could you please review the new patches?
Cheers,
Woonsan
> Empty array property setting fails
> ----------------------------------
>
> Key: JEXL-144
> URL: https://issues.apache.org/jira/browse/JEXL-144
> Project: Commons JEXL
> Issue Type: Bug
> Reporter: Woonsan Ko
> Fix For: 2.1.2, 3.0
>
> Attachments: jexl2-empty-array-patch-2.txt,
> jexl2-empty-array-patch-3.txt, jexl2-empty-array-patch-4.txt,
> jexl2-empty-array-patch.txt, jexl3-empty-array-patch-2.txt,
> jexl3-empty-array-patch-3.txt, jexl3-empty-array-patch-4.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
(v6.1#6144)