You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Claus Ibsen <cl...@gmail.com> on 2011/09/04 10:10:02 UTC

Re: [HEADS UP] - A prototype of an improved Simple language for Apache Camel

Hi

Just an update on the status.

I discovered an issue in the scala DSL, which I managed to fix
yesterday. The problem was the scala DSL would cause all languages to
be evaluated as Expression, and then converted to Predicate if
applicable. This was wrong, as the DSL indicate whether it should be a
Predicate or Expression. This level of indirection would cause an
issue as first being an Expression and then a Predicate. And also
cause a slight difference between Scala DSL and Java DSL etc.

The problem was identified due the improved Simple language prototype
as it parse the input depending on its a Expression or Predicate. The
latter has all the operators and whatnot. Where as the former is the
"template style" which was the origin roots of the Simple language - A
very simple expression language for dynamic templates, eg to say
"Hello ${body} how are you?".

The old simple language did support a style by which you could be lazy
and omit the ${ } tokens, and just indicate "body" or "header.foo".
The new simple language prefers to use "${body}" and "${header.foo}"
as its consistent and also stands out to the user, that this is a
function, and not plain text. However the old style is supported using
a "SimpleBackwardsCompatibleParser" which have been marked as
@deprecated, and to be removed in Camel 3.0.

I have been running with the simple prototype for a week on my laptop,
and have identified some minor mistakes in the Camel source code due
the old simple language. I have corrected them.

So it would be a matter of time before the prototype is ready as a
donation to Apache and to be included in Camel 2.9.

the prototype is located here
https://github.com/davsclaus/camel-simple2


-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Re: [HEADS UP] - A prototype of an improved Simple language for Apache Camel

Posted by Taariq Levack <ta...@gmail.com>.
Well spotted, I was gonna mention this problem once I understood it better,
a couple of tests I brought over from the main patch were failing.
All tests pass after the update, so it's backwards compatible alright.

Taariq

On Sun, Sep 4, 2011 at 10:10 AM, Claus Ibsen <cl...@gmail.com> wrote:

> Hi
>
> Just an update on the status.
>
> I discovered an issue in the scala DSL, which I managed to fix
> yesterday. The problem was the scala DSL would cause all languages to
> be evaluated as Expression, and then converted to Predicate if
> applicable. This was wrong, as the DSL indicate whether it should be a
> Predicate or Expression. This level of indirection would cause an
> issue as first being an Expression and then a Predicate. And also
> cause a slight difference between Scala DSL and Java DSL etc.
>
> The problem was identified due the improved Simple language prototype
> as it parse the input depending on its a Expression or Predicate. The
> latter has all the operators and whatnot. Where as the former is the
> "template style" which was the origin roots of the Simple language - A
> very simple expression language for dynamic templates, eg to say
> "Hello ${body} how are you?".
>
> The old simple language did support a style by which you could be lazy
> and omit the ${ } tokens, and just indicate "body" or "header.foo".
> The new simple language prefers to use "${body}" and "${header.foo}"
> as its consistent and also stands out to the user, that this is a
> function, and not plain text. However the old style is supported using
> a "SimpleBackwardsCompatibleParser" which have been marked as
> @deprecated, and to be removed in Camel 3.0.
>
> I have been running with the simple prototype for a week on my laptop,
> and have identified some minor mistakes in the Camel source code due
> the old simple language. I have corrected them.
>
> So it would be a matter of time before the prototype is ready as a
> donation to Apache and to be included in Camel 2.9.
>
> the prototype is located here
> https://github.com/davsclaus/camel-simple2
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: cibsen@fusesource.com
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>