[ 
https://issues.apache.org/jira/browse/JEXL-218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmitri Blinov closed JEXL-218.
------------------------------
       Resolution: Not A Problem
    Fix Version/s: 3.0

This issue was resolved as bug in client code, has nothing to do with jexl, 
sorry.

> Overloaded JexlArithmetic.empty() method is not called for a class 
> implementing Map interface
> ---------------------------------------------------------------------------------------------
>
>                 Key: JEXL-218
>                 URL: https://issues.apache.org/jira/browse/JEXL-218
>             Project: Commons JEXL
>          Issue Type: Bug
>    Affects Versions: 3.0
>            Reporter: Dmitri Blinov
>             Fix For: 3.0
>
>
> Sorry for not providing a test case but this is a rare problem I haven't 
> managed to catch. I have a class which implements a {{Map}} interface and I 
> have an overloaded {{JexlArithmetic.empty()}} and {{JexlArithmetic.size()}} 
> methods for this class, and these methods are *not* related to correspondent 
> {{Map.isEmpty()}} and {{Map.size()}} methods, they provide separate semantics 
> in my case. Apart from the point that this design is questionable, most of 
> the time everything works as expected in jexl, i.e. when {code}empty(x){code} 
> or {code}size(x){code} operators are used in scripting, the overloaded 
> {{JexlArithmetic.empty()}} and {{JexlArithmetic.size()}} are called. But 
> sometimes in rare circumstances these operators are not called and 
> {{Map.isEmpty()}} and {{Map.size()}} methods respectively are called instead. 
> I suspect this has something to do with operators caching, may be you'll be 
> able to check the code?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to