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

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

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

ASF GitHub Bot (Jira)
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

       
Reply | Threaded
Open this post in threaded view
|

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

ASF GitHub Bot (Jira)

     [ 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