Hey Guillaume, nice feature indeed.
Just a detail when reading the example, I think one could be surprised to
have x2 from/to at first glance, I mean:
from(fromFile(... and to(toFile(...

My 2 cents,
Alex



On Tue, Jun 11, 2019 at 7:39 PM Guillaume Nodet <[email protected]> wrote:

> I think I'm done with a first usable pass at the endpoint DSL.
> I've removed the getters/setters, added 2 flavors of fluent methods (one
> with the real java type, another one with a String to allow references and
> property placeholder processing), renamed the generated classes to
> XxxEndpointBuilder and cleaned things a bit.
> In order to access this API, one would create an EndpointRouteBuilder
> anonymous class instead of the usual RouteBuilder (see below).  The only
> difference is that it gives immediate access to the fromXxx() and toXxx()
> methods that are generated as default methods on the interface, so there's
> no need to import anything else.
> Please have a look and let me know what you think or if we see anything to
> improve.
>
> Cheers,
> Guillaume
>
> protected RouteBuilder createRouteBuilder() throws Exception {
>     return new EndpointRouteBuilder() {
>         @Override
>         public void configure() throws Exception {
>             from(fromFile(start).initialDelay(0).delay(10).move(done +
> "/${file:name}"))
>                     .to(toMock("result"));
>         }
>     };
> }
>
>
> Le mer. 5 juin 2019 à 23:23, Guillaume Nodet <[email protected]> a écrit :
>
> > I just pushed a branch called "endpoint-dsl".
> >
> > My goal is to experiment with an auto-generated DSL for endpoints, mainly
> > to have a complete and type-safe java DSL for endpoints instead of using
> > URI containing all the parameters.  Right now, it compiles but isn't
> really
> > usable at a DSL.
> > I'll get back as soon as I have something which can actually be used so
> > that we can discuss further various options.
> > My rough goal is to be able to write something like:
> >
> >    from(file("target/data/foo").delay(4000).backoffMultiplier(4
> > ).backoffIdleThreshold(2).backoffErrorThreshold(3))
> >       .to(mock("result"))
> >
> > instead of
> >
> >    from(
> >
> "file://target/data/foo?delay=4000&backoffMultiplier=4&backoffIdleThreshold=2&backoffErrorThreshold=3"
> > )
> >       .to("mock:result")
> >
> > Stay tuned !
> >
> > --
> > ------------------------
> > Guillaume Nodet
> >
> >
>
> --
> ------------------------
> Guillaume Nodet
>

Reply via email to