I've created this issue https://issues.apache.org/jira/browse/CAMEL-10438 I'll try to prototype some stuffs later this week
--- Luca Burgazzoli On Wed, Nov 2, 2016 at 2:33 PM, Luca Burgazzoli <lburgazz...@gmail.com> wrote: > And with some love for the completion too: > > aggregate() > .correlation() > .body(String.class, b -> b.substring(0, 3)) > .strategy() > .body(String.class, (existing, next) -> next + existing)) > .completion() > .body(String.class, b -> b.size() > 30) > > --- > Luca Burgazzoli > > > On Wed, Nov 2, 2016 at 12:28 PM, Luca Burgazzoli <lburgazz...@gmail.com> > wrote: >> Yep, "always()" was how my mind translated "constant(true)", do not >> know how it ended up in the mail :O >> >> What about: >> >> aggregate() >> .correlation() >> .body(String.class, b -> b.substring(0, 3)) >> .strategy() >> .body(String.class, (existing, next) -> next + existing)) >> .completionSize(3) >> >> --- >> Luca Burgazzoli >> >> >> On Wed, Nov 2, 2016 at 12:07 PM, Claus Ibsen <claus.ib...@gmail.com> wrote: >>> On Tue, Nov 1, 2016 at 4:15 PM, Luca Burgazzoli <lburgazz...@gmail.com> >>> wrote: >>>> Something like: >>>> >>>> public void configure() throws Exception { >>>> from("direct:start") >>>> .aggregate() >>>> .always() >>>> .body(String.class, (existing, next) -> next + existing) >>>> .completionSize(3) >>>> .to("mock:result"); >>>> } >>>> >>> >>> Yeah that seems really good. And I guess always is a shorthand for >>> constant(true). For that we may need to ponder if we want to have >>> these in the Java DSL as they are not in XML DSL, so people cannot map >>> from Java <-> XML as easily. >>> >>> So its maybe >>> >>> aggregate() >>> .constant(true) >>> .withStrategy(body(String.class, (existing, next) -> next + existing)) >>> .completionSize(3) >>> >>> And for Content Enricher >>> >>> enrich("http://foobar") >>> .withStrategy(body(String.class, (existing, next) -> next + existing)) >>> >>> >>> >>>> --- >>>> Luca Burgazzoli >>>> >>>> >>>> On Tue, Nov 1, 2016 at 7:44 PM, Claus Ibsen <claus.ib...@gmail.com> wrote: >>>>> Hi >>>>> >>>>> Not yet, but maybe some of those POJO examples in the aggregator EIP. >>>>> For example to supply a function as a lambda that is used for >>>>> aggregation. For example how would it look like if it was just a basic >>>>> function for String concat? >>>>> >>>>> For example this example >>>>> >>>>> public void configure() throws Exception { >>>>> from("direct:start") >>>>> .aggregate(constant(true), >>>>> AggregationStrategies.bean(MyBodyAppender.class, "append")) >>>>> .completionSize(3) >>>>> .to("mock:result"); >>>>> } >>>>> >>>>> >>>>> Also wonder if the lambda can cope with either working with exchange >>>>> vs message body only. A bit like what you can do today for message >>>>> transformation you did. >>>>> >>>>> >>>>> On Tue, Nov 1, 2016 at 1:00 PM, Luca Burgazzoli <lburgazz...@gmail.com> >>>>> wrote: >>>>>> Hi Claus, >>>>>> >>>>>> do you have any simple use case to be used as reference to prototype >>>>>> new Java 8 DSL extensions ? >>>>>> >>>>>> --- >>>>>> Luca Burgazzoli >>>>>> >>>>>> >>>>>> On Tue, Nov 1, 2016 at 12:09 PM, Claus Ibsen <claus.ib...@gmail.com> >>>>>> wrote: >>>>>>> Hi >>>>>>> >>>>>>> I would like to see if we could experiment with continue improving the >>>>>>> Java DSL for Java 8 to see if we can make it more Java 8'ish for >>>>>>> Content Enricher and Aggregator EIP. They require using the >>>>>>> AggregationStrategy interface when you need to merge the 2 exchanges. >>>>>>> And it has a POJO binding that allows you to build custom POJO classes >>>>>>> without implementing this interface but following a convention. See >>>>>>> more at: http://camel.apache.org/aggregator2 in the bottom. >>>>>>> >>>>>>> And there may be other areas we could ponder about. But the >>>>>>> AggregationStrategy has always been one I would like to see can be >>>>>>> done simpler when you have simpler use-cases, and hence the POJOs or >>>>>>> the FlexibleAggregationStragegyBuilder we have in camel-core >>>>>>> somewhere. >>>>>>> >>>>>>> This is just a quick email to get this though out. >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Claus Ibsen >>>>>>> ----------------- >>>>>>> http://davsclaus.com @davsclaus >>>>>>> Camel in Action 2: https://www.manning.com/ibsen2 >>>>> >>>>> >>>>> >>>>> -- >>>>> Claus Ibsen >>>>> ----------------- >>>>> http://davsclaus.com @davsclaus >>>>> Camel in Action 2: https://www.manning.com/ibsen2 >>> >>> >>> >>> -- >>> Claus Ibsen >>> ----------------- >>> http://davsclaus.com @davsclaus >>> Camel in Action 2: https://www.manning.com/ibsen2