You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Henri Biestro (JIRA)" <ji...@apache.org> on 2010/12/21 18:36:03 UTC
[jira] Resolved: (JEXL-105) Array literals are considered constant
even when they are not
[ https://issues.apache.org/jira/browse/JEXL-105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Henri Biestro resolved JEXL-105.
--------------------------------
Resolution: Fixed
Fixed at revision 1051571.
Added JexlNode.isConstant() to allow detection of constant expressions;
Fixed ASTArrayLiteral to detect at parsing time whether the array is constant or not;
Added specific test105 in IssuesTest
> Array literals are considered constant even when they are not
> -------------------------------------------------------------
>
> Key: JEXL-105
> URL: https://issues.apache.org/jira/browse/JEXL-105
> Project: Commons JEXL
> Issue Type: Bug
> Affects Versions: 2.0.1
> Environment: JDK 1.6 SE on Windows XP
> Reporter: Cary Thompson
> Assignee: Henri Biestro
> Fix For: 2.0.2
>
>
> JexlContext context = new MapContext();
> Expression selectExp = new JexlEngine().createExpression("[a.propA]");
> context.set("a", new A("a1", "p1"));
> System.out.println(Arrays.toString((Object[])selectExp.evaluate(context)));
> -->[p1]
> //selectExp = new JexlEngine().createExpression("[a.propA]");
> context.set("a", new A("a2", "p2"));
> System.out.println(Arrays.toString((Object[])selectExp.evaluate(context)));
> --> [p1] correct answer should be [p2]
> // A's class definition
> public class A {
> String nameA;
>
> String propA;
> public A(String nameA, String propA) {
> this.nameA = nameA;
> this.propA = propA;
> }
> @Override
> public String toString() {
> return "A [nameA=" + nameA + ", propA=" + propA + "]";
> }
> public String getNameA() {
> return nameA;
> }
> public String getPropA() {
> return propA;
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.