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

Luca Burgazzoli updated CAMEL-16504:
------------------------------------
    Description: 
Assuming we have the following route in Java:

{code:java}
from("direct:a")
    .split().tokenize("\n"))
        .log("${body}");
{code}

This route will log each individual item produced as a result of splitting the 
incoming message with the given token and to implement the same in YAML, you 
need something like:

{code:yaml}
- from:
     uri: "direct:a"
    steps
      - split:
           tokenize: \n"
         steps:
           - log: "${body}"
{code}

Which is fine but a a little bit verbose and convoluted if compared to the Java 
counterpart. 

We could improve the dsl by introducing an option to enable chaining processors 
based on if they support outputs or not so the same route can be rewritten in 
YAML like:

{code:yaml}
- from:
    uri: "direct:a"
    steps
      - split:
           tokenize: \n"
      - log: "${body}"
{code}
 
In this case, as the split processor does not have any defined step, we can 
wire the log processor to split's output. 


  was:
Assuming we have the following route in Java:

{code:java}
from("direct:a")
    .split().tokenize("\n"))
        .log("${body}");
{code}

This route will log each individual item produced as a result of splitting the 
incoming message with the given token and to implement the same in YAML, you 
need something like:

{code:yaml}
- from:
     uri: "direct:a"
    steps
      - split:
           tokenize: \n"
         steps:
           - log: "${body}"
{code}

Which is fine but a a little bit verbose and convoluted if compared to the Java 
counterpart. 

We could improve the dsl by introducing an option to enable chaining processors 
based on if they support outputs or not so the same route can be rewritten in 
YAML like:

{code:yaml}
- from:
     uri: "direct:a"
    steps
      - split:
           tokenize: \n"
      - log: "${body}"
{code}
 
In this case, as the split processor does not have any defined step, we can 
wire the log processor to split's output. 



> YAML Dsl : support for "flow" like route definition
> ---------------------------------------------------
>
>                 Key: CAMEL-16504
>                 URL: https://issues.apache.org/jira/browse/CAMEL-16504
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-yaml-dsl
>            Reporter: Luca Burgazzoli
>            Assignee: Luca Burgazzoli
>            Priority: Minor
>             Fix For: 3.10.0
>
>
> Assuming we have the following route in Java:
> {code:java}
> from("direct:a")
>     .split().tokenize("\n"))
>         .log("${body}");
> {code}
> This route will log each individual item produced as a result of splitting 
> the incoming message with the given token and to implement the same in YAML, 
> you need something like:
> {code:yaml}
> - from:
>      uri: "direct:a"
>     steps
>       - split:
>            tokenize: \n"
>          steps:
>            - log: "${body}"
> {code}
> Which is fine but a a little bit verbose and convoluted if compared to the 
> Java counterpart. 
> We could improve the dsl by introducing an option to enable chaining 
> processors based on if they support outputs or not so the same route can be 
> rewritten in YAML like:
> {code:yaml}
> - from:
>     uri: "direct:a"
>     steps
>       - split:
>            tokenize: \n"
>       - log: "${body}"
> {code}
>  
> In this case, as the split processor does not have any defined step, we can 
> wire the log processor to split's output. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to