You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Henrib <hb...@gmail.com> on 2009/11/17 23:09:42 UTC

[JEXL 2.0] o.a.c.jexl or o.a.c.jexl2 ?

One (non Maven related) question for the JEXL community:

The (soon-to-be published) JEXL-2.0 RCx version comes with a lot of changes.
The upper level API deprecates ExpressionFactory & ScriptFactory - replaced
by JexlEngine -, Expression methods that used to throw exceptions
(ParseException, Exception) throw unchecked exceptions and the inner level
classes (o.a.c.{util,introspection,etc}) have to many changes to be listed.

Upper level API code compatibility has been checked through Jelly and more
recently through Commons Configuration; 1.1 behavior seems preserved enough
for the switch to JEXL-2.0 to be one compilation away.
However, with so many changes and not so many checks, it may be preferable
to be on the safe side and put the whole JEXL-2.0 into
org.apache.commons.jexl2; this would allow 1.1 dependant code to continue
living its merry way (OSGi non withstanding) and let switchers decide when
to actually perform the switch.

We need your opinions and options; let us know.
Cheers
Henrib

-- 
View this message in context: http://old.nabble.com/-JEXL-2.0--o.a.c.jexl-or-o.a.c.jexl2---tp26396881p26396881.html
Sent from the Commons - Dev mailing list archive at Nabble.com.


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


Re: [JEXL 2.0] o.a.c.jexl or o.a.c.jexl2 ?

Posted by Henrib <hb...@gmail.com>.


Jörg Schaible-2 wrote:
> 
> ...
> The question is, if it is a drop-in replacement. If not, you may not be
> able
> to use the new version due to transitive deps.
> ...
> 
JEXL 2.0 is a drop-in replacement when JEXL 1.x has been used "casually";
the "core" public API, classes & behaviors have been preserved
({Script,Expression}Factory, Expression, JexlContext). The internals have
changed but if there were some devs using those, they've sailed away a long
time ago...

I know Jelly (which is pretty much abandoned) is a "casual" user and I
suspect the huge majority of projects to be in this case too. (Jelly's most
prominent dependent, Maven 1, although much used, is already superseded by
Maven 2).
The probability of the transitive dependencies problem occurring seems low
and highly likely solved by removing JEXL 1.x from the classpath.

On the other hand, using o.a.c.jexl2 does not hurt JEXL 2.0 besides slowing
down its eventual adoption rate (which has no value by itself); it might
even speed-up the release (pending a correct one can be published :-)).

If the safe o.a.c.jexl2 approach allows to release JEXL-2.0 faster, I'm all
for it.




-- 
View this message in context: http://old.nabble.com/-JEXL-2.0--o.a.c.jexl-or-o.a.c.jexl2---tp26396881p26417357.html
Sent from the Commons - Dev mailing list archive at Nabble.com.


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


Re: [JEXL 2.0] o.a.c.jexl or o.a.c.jexl2 ?

Posted by Jörg Schaible <jo...@gmx.de>.
Hi,

Henrib wrote at Mittwoch, 18. November 2009 00:53:

> 
> 
> 
> Paul Benedict-2 wrote:
>> 
>> ...
>> Do you think this is beneficial to your users?
>> ...
>> 
> Who are JEXL users today? 

http://mvnrepository.com/artifact/commons-jexl/commons-jexl/1.1

Most prominent: Maven 1, ServiceMix and commons-scxml.

However, there are enough projects using older versions:

http://mvnrepository.com/artifact/commons-jexl/commons-jexl/1.0

Most interesting for us: commons-jelly.

> Is it better for them to be one compilation away 
> with no code change (based on known cases) or would they rather continue
> using an obsolete version?

Well, what do you do if you use commons-jelly, commons-scxml and
commons-jexl in combination?

> I'm a biased user and see Jexl as a coding "glue" convenient for dev teams
> and the compilation option suits me well. I also don't know how many
> active projects still use JEXL (besides Commons Configuration); its
> community is not very vocal... Thus the question trying to get other
> active users opinion. :-)

The question is, if it is a drop-in replacement. If not, you may not be able
to use the new version due to transitive deps.

- Jörg



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


Re: [JEXL 2.0] o.a.c.jexl or o.a.c.jexl2 ?

Posted by Henrib <hb...@gmail.com>.


Paul Benedict-2 wrote:
> 
> ...
> Do you think this is beneficial to your users?
> ...
> 
Who are JEXL users today? Is it better for them to be one compilation away
with no code change (based on known cases) or would they rather continue
using an obsolete version?
I'm a biased user and see Jexl as a coding "glue" convenient for dev teams
and the compilation option suits me well. I also don't know how many active
projects still use JEXL (besides Commons Configuration); its community is
not very vocal... Thus the question trying to get other active users
opinion. :-)

Henrib
-- 
View this message in context: http://old.nabble.com/-JEXL-2.0--o.a.c.jexl-or-o.a.c.jexl2---tp26396881p26400017.html
Sent from the Commons - Dev mailing list archive at Nabble.com.


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


Re: [JEXL 2.0] o.a.c.jexl or o.a.c.jexl2 ?

Posted by Paul Benedict <pb...@apache.org>.
I don't think there is a silver-bullet answer, but o.a.c.jexl2
sensible if the architecture radically changes.

Struts 2 and Tapestry 5 have the # in their package structure. The
reason for this is so old and new versions can run together within the
same web app class loader. This makes sense for frameworks.

Do you think this is beneficial to your users?

Paul

On Tue, Nov 17, 2009 at 4:09 PM, Henrib <hb...@gmail.com> wrote:
>
> One (non Maven related) question for the JEXL community:
>
> The (soon-to-be published) JEXL-2.0 RCx version comes with a lot of changes.
> The upper level API deprecates ExpressionFactory & ScriptFactory - replaced
> by JexlEngine -, Expression methods that used to throw exceptions
> (ParseException, Exception) throw unchecked exceptions and the inner level
> classes (o.a.c.{util,introspection,etc}) have to many changes to be listed.
>
> Upper level API code compatibility has been checked through Jelly and more
> recently through Commons Configuration; 1.1 behavior seems preserved enough
> for the switch to JEXL-2.0 to be one compilation away.
> However, with so many changes and not so many checks, it may be preferable
> to be on the safe side and put the whole JEXL-2.0 into
> org.apache.commons.jexl2; this would allow 1.1 dependant code to continue
> living its merry way (OSGi non withstanding) and let switchers decide when
> to actually perform the switch.
>
> We need your opinions and options; let us know.
> Cheers
> Henrib
>
> --
> View this message in context: http://old.nabble.com/-JEXL-2.0--o.a.c.jexl-or-o.a.c.jexl2---tp26396881p26396881.html
> Sent from the Commons - Dev mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> 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