commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: [JEXL] Multi-statement expression evaluation - change to last?
Date Tue, 13 May 2008 21:30:39 GMT
On 13/05/2008, Rahul Akolkar <rahul.akolkar@gmail.com> wrote:
> On 5/13/08, sebb <sebbaz@gmail.com> wrote:
>  > The Jexl eval() method allows for multiple statements in the expression.
>  >
>
> <snip/>
>
>  What method is that? oacj.Expression#evaluate(JexlContext) ?
>

ExpressionFactory

>
>  >  However, the result of the expression is currently taken to be the
>  >  first statement.
>  >
>
> <snap/>
>
>  Yes, in fact, only the first will be evaluated.
>
>
>
>  >  This is at odds with other scripting languages such as Javascript and
>  >  Beanshell which return the value of the last statement.
>  >
>
> <snip/>
>
>  You can get that behavior using oacj.Script rather than
>  oacj.Expression. Perhaps you are looking for scripts?

I'm using the BSF interface, which has either Object eval() or void
exec() methods.

This is for use in JMeter, which needs the returned Object.

I'd not realised that the Script method returned an Object - I've just
changed the JexlEngine code I took from JEXL-39 to use that instead
and that has fixed it for JMeter.

However, what to do for the official Jexl-BSF implementation?

Seems to me that it would be best to use Script for that as well; it
will still be usable with a single expression.

>
>  -Rahul
>
>
>
>  >  Seems to me that this behaviour is counter-intuitive (which is
>  >  possibly why the warning is logged).
>  >
>  >  Would there be any support for changing the behaviour to return the
>  >  value of the last statement?
>  >
>  >  [If necessary, perhaps this could be selected as a run-time option.]
>  >
>
>
> ---------------------------------------------------------------------
>  To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>  For additional commands, e-mail: dev-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message