[ 
https://issues.apache.org/jira/browse/JEXL-113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13062391#comment-13062391
 ] 

Henri Biestro commented on JEXL-113:
------------------------------------

Hi Max,
So, your functional need is extracting which variables are used to evaluate a 
script. I've had the same need for a while. 
So maybe an 'extractDependencies' method could be more useful than fumbling 
with the 'dot' operator behavior.
Its signature could be: Set<List<String>> JexlEngine.extractDependencies(Script 
script). Each entry in the returned set would be the list of constant 'names' 
used in references aka dot or bracket expressions.
Would this be adequate ?
Cheers
Henri
PS/ thanks for the positive reinforcement :-)

> Dot notation behaves unexpectedly with null values
> --------------------------------------------------
>
>                 Key: JEXL-113
>                 URL: https://issues.apache.org/jira/browse/JEXL-113
>             Project: Commons JEXL
>          Issue Type: Bug
>    Affects Versions: 2.0.1
>         Environment: JDK 1.6
>            Reporter: Max Tardiveau
>
> When a variable of the form a.b is evaluated, the context is asked first for 
> the value of a. That value is then asked for the value of b.
> So far, so good: this is exactly what you'd expect from the dot operator.
> But if the value of b is null, the context is then asked for the value of 
> a.b, in other words the dot operator is ignored and "a.b" is considered to be 
> a single variable.
> This is at best confusing. Granted, this can be avoided with the a['b'] 
> notation, but that's clumsy.
> I assume this is an attempt to support both the dot operator and ant-style 
> variables. I don't think you can have both and remain sane.
> Suggestion: either document this behavior, or make it an option. My vote 
> would be to just use the value returned, even if it's null. Either dot is an 
> operator, or it's not. Perhaps make that configurable?
> Thanks!

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to