[
https://issues.apache.org/jira/browse/JEXL-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17035185#comment-17035185
]
Dmitri Blinov commented on JEXL-302:
------------------------------------
Thanks for the clarification, it was the transion from {{a[['b', 'c']]}} to
{{[a.b, a.c]}} that I wasn't able to figure out. This is not obvious because
getting list of properties via array access is not supported anywhere in the
basic implementation. Not sure whether it's worth adding such a feature though.
But one thing that I think is strange here is that \{{getVariables()}} in fact
*relies* on the hypotesis that one should implement array access to support
sets and arrays in such a way.
> JexlScript.getVariables returns strange values for array access
> ---------------------------------------------------------------
>
> Key: JEXL-302
> URL: https://issues.apache.org/jira/browse/JEXL-302
> Project: Commons JEXL
> Issue Type: Bug
> Affects Versions: 3.1
> Reporter: Dmitri Blinov
> Assignee: Henri Biestro
> Priority: Minor
> Fix For: 3.2
>
>
> I can not understand the logic behind the current implementation of
> {{JexlScript.getVariables()}} method. From the documentation we know that the
> result should be the set of script variables. For the code
> {code:java}
> a[b][c]{code}
> it gives three variables {{a}}, {{b}}, {{c}}. So far so good. But for the code
> {code:java}
> a[b]['c']{code}
> it returns {{a}} and {{b c}}, where second variable has two fragments {{b}}
> and {{c}}. The documentation states that variables with multiple fragments
> are ant-ish variables, but I don't have any of ant-ish variables in the
> example, and {{'c'}} is not a variable, but a constant. I expect to get {{a}}
> and {{b}} as a result.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)