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 2012/07/11 14:16:33 UTC

[jira] [Created] (JEXL-137) Invalid script variable list for nested array/map access

Henri Biestro created JEXL-137:
----------------------------------

             Summary: Invalid script variable list for nested array/map access
                 Key: JEXL-137
                 URL: https://issues.apache.org/jira/browse/JEXL-137
             Project: Commons JEXL
          Issue Type: Bug
    Affects Versions: 2.1.1
            Reporter: Henri Biestro
            Assignee: Henri Biestro
             Fix For: 2.1.2, 3.0


On behalf of Tomas Kukosa:
If the expression contains nested array/map access then the getVariables() method does not return the right value. 
The result of test code below is: 

script: A+B[C]+D[E[F]]+x[y[z]] 
variables: [[A], [C], [B], [D], [x]] 

E, F, y, z variables got lost somewhere. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (JEXL-137) Invalid script variable list for nested array/map access

Posted by "Henri Biestro (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JEXL-137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Henri Biestro resolved JEXL-137.
--------------------------------

    Resolution: Fixed

In 3.0:
Added new inner class Engine.VarCollector to properly collect variables;
Updated TemplateEngine to use new Engine.VarCollector;
Updated test;
Added Dumper class to ease characterizing AST related issues;

jexl3/trunk/src/main/java/org/apache/commons/jexl3/internal/Engine.java
jexl3/trunk/src/main/java/org/apache/commons/jexl3/internal/TemplateEngine.java
jexl3/trunk/src/main/java/org/apache/commons/jexl3/parser/ASTIdentifierAccess.java
jexl3/trunk/src/main/java/org/apache/commons/jexl3/parser/ParserVisitor.java
jexl3/trunk/src/test/java/org/apache/commons/jexl3/VarTest.java
jexl3/trunk/src/test/java/org/apache/commons/jexl3/internal/Dumper.java

Committed revision 1360141.

In 2.1.2:
Modified JexlEngine.getVariable() logic and test;
Added Dumper class to ease characterizing AST related issues;
jexl2/src/main/java/org/apache/commons/jexl2/JexlEngine.java
jexl2/src/test/java/org/apache/commons/jexl2/Dumper.java
jexl2/src/test/java/org/apache/commons/jexl2/VarTest.java

Committed revision 1360142.
                
> Invalid script variable list for nested array/map access
> --------------------------------------------------------
>
>                 Key: JEXL-137
>                 URL: https://issues.apache.org/jira/browse/JEXL-137
>             Project: Commons JEXL
>          Issue Type: Bug
>    Affects Versions: 2.1.1
>            Reporter: Henri Biestro
>            Assignee: Henri Biestro
>             Fix For: 2.1.2, 3.0
>
>
> On behalf of Tomas Kukosa:
> If the expression contains nested array/map access then the getVariables() method does not return the right value. 
> The result of test code below is: 
> script: A+B[C]+D[E[F]]+x[y[z]] 
> variables: [[A], [C], [B], [D], [x]] 
> E, F, y, z variables got lost somewhere. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira