[
https://issues.apache.org/jira/browse/JEXL-171?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14709555#comment-14709555
]
Henri Biestro edited comment on JEXL-171 at 8/24/15 4:37 PM:
-------------------------------------------------------------
Solution is too complex and does not provide a base for JEXL-174.
Furthermore, it (still) does not cleanly covers cases where '.' and '[]'
operators may/could/do have different behaviors; for maps in this particular
bug case, the '.' operator should attempt finding properties before using the
get/put methods and the '[]' operator should always use the get/put methods.
This would require adding 2 methods to JexlUberspect:
{code}
JexlPropertyGet getArrayGet(Object obj, Object identifier);
JexlPropertySet getArraySet(Object obj, Object identifier, Object arg);
{code}
was (Author: henrib):
Solution is too complex and does not provide a solution path for JEXL-174.
Furthermore, it does not cleanly covers cases where '.' and '[]' operators
could have a different behaviors.
> Map access operator does not work if key name clashes with map property name
> ----------------------------------------------------------------------------
>
> Key: JEXL-171
> URL: https://issues.apache.org/jira/browse/JEXL-171
> Project: Commons JEXL
> Issue Type: Bug
> Affects Versions: 3.0
> Reporter: Dmitri Blinov
> Assignee: Henri Biestro
> Priority: Critical
> Fix For: 3.0
>
>
> The following example returns *false*, according to documentation should
> return *2*.
> i = new ("java.util.HashMap"); i.a = 1; i["empty"] = 2; i["empty"]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)