[ https://issues.apache.org/jira/browse/JEXL-148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14354596#comment-14354596 ]
Henri Biestro edited comment on JEXL-148 at 3/10/15 9:39 AM: ------------------------------------------------------------- Not reproduced on 3.0 trunk: {code} public void test148() throws Exception { String[] scripts = {"var x = new ('java.util.HashMap'); x.one = 1; x.two = 2; x.one", // results to 1 "x = new ('java.util.HashMap'); x.one = 1; x.two = 2; x.one",// results to 1 "x = new ('java.util.HashMap'); x.one = 1; x.two = 2; x['one']",//results to 1 "var x = new ('java.util.HashMap'); x.one = 1; x.two = 2; x['one']"// result to null? }; JexlEngine JEXL = new Engine(); JexlContext jc = new MapContext(); for (String s : scripts) { Object o = JEXL.createScript(s).execute(jc); Assert.assertEquals(1, o); } } {code} was (Author: henrib): Not reproduced on 3.0 trunk: {code} public void test148() throws Exception { String[] scripts = {"var x = new ('java.util.HashMap'); x.one = 1; x.two = 2; x.one", // results to 1 "x = new ('java.util.HashMap'); x.one = 1; x.two = 2; x.one",// results to 1 "x = new ('java.util.HashMap'); x.one = 1; x.two = 2; x['one']",//results to 1 "var x = new ('java.util.HashMap'); x.one = 1; x.two = 2; x['one']"// result to null? }; JexlEngine JEXL = new Engine(); JexlContext jc = new MapContext(); for (String s : scripts) { Object o = JEXL.createScript(s).execute(jc); Assert.assertEquals(1, o); } } {ocde} > Incorrect Map Property get > -------------------------- > > Key: JEXL-148 > URL: https://issues.apache.org/jira/browse/JEXL-148 > Project: Commons JEXL > Issue Type: Bug > Affects Versions: 2.1.1 > Reporter: Dmitri Blinov > > If I try to execute jelly statement that assigns values to map and gets > values from that map after. In one particular case map value is not > accessible, I assume there is an error. > "var x = new ("java.util.HashMap"); x.one = 1; x.two = 2; x.one" results to 1 > "x = new ("java.util.HashMap"); x.one = 1; x.two = 2; x.one" results to 1 > "x = new ("java.util.HashMap"); x.one = 1; x.two = 2; x['one']" results to 1 > "var x = new ("java.util.HashMap"); x.one = 1; x.two = 2; x['one']" result to > null > The script is evaluated in the following usual manner: > ... > Script s = jexl.createScript(expr); > try { > Object result = s.execute(jc); > .. > I'm ready to provide more details if nessesary -- This message was sent by Atlassian JIRA (v6.3.4#6332)