Hi all,
I've made some progress on DSL and syntax covers some basic needs (see below, all use cases are working now).
I'm working on including more advanced features like splitter, delay, etc.
Let me know what do you think about the syntax.

Vadim.

Here is my current test file:
/*
                route from 'timer://kickoff?period=10000&delay=1' to 
'mock:output1'
                */
                
                /*route from {
                        'timer://kickoff_1?period=10000&delay=1'
                        // buggy: CAMEL-927
                        'timer://kickoff_2?period=10000&delay=1'
                }*/
                
                /*route from {
                        'timer://kickoff_3?period=10000&delay=1'
                        'timer://kickoff_4?period=5000&delay=1'
                } to {
                        'mock:output_3'
                        'mock:output_4'
                }
                */
                
                /*route from 'timer://kickoff_6?period=10000'
                        to if(true)
                                'mock:true'
                */

                /*route from 'timer://kickoff_5?period=10000'
                        to if(false)
                                'mock:true'
                        else
                                'mock:false'
                */
                
                /*route from 'timer://kickoff_5?period=10000'
                to if(el:'in.headers.myHeader=="aaa"')
                                'mock:output_5'
                        else
                                'mock:output_6'
                */
                
                /*
                route from 'timer://kickoff_5?period=10000'
                set header.a='aa'
                set body='bbb'
                if(groovy:"request.headers.a == 'aa'") {
                        to 'mock:true'
                }
                else
                        to 'mock:false'
                */
                
                
                route from 'timer://kickoff_5?period=10000'
                //set header['myHeader']='aaa'
                set header.c="c"
                set header['d']="d"
                set body='the body'
                if(groovy:'request.headers.myHeader=="aaa"') {
                                to 'mock:output_5'
                                to 'mock:output_6'
                } else if(groovy:'request.headers["c"] == "c"') {
                                if(groovy:"request.headers.d == 'd'")
                                        to 'mock:output_7'
                                else
                                        to 'mock:output_8'
                } else {
                                to 'mock:b5'
                }

Reply via email to