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

Reply via email to