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