Repository: camel Updated Branches: refs/heads/master 622a71d67 -> add6c68e6
CAMEL-9892 wrapped completionPredicate and added Unit Test Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/add6c68e Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/add6c68e Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/add6c68e Branch: refs/heads/master Commit: add6c68e678bb6e01d74cad3629b552a4394c665 Parents: a1a4c2e Author: Bob Gaudaen <bob.gaud...@gmail.com> Authored: Wed Apr 20 16:27:33 2016 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Thu Apr 21 16:57:27 2016 +0200 ---------------------------------------------------------------------- .../camel/scala/dsl/SAggregateDefinition.scala | 2 +- .../apache/camel/scala/dsl/AggregatorTest.scala | 26 +++++++++++++++++--- 2 files changed, 23 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/add6c68e/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala ---------------------------------------------------------------------- diff --git a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala index acdf4ab..3ef3434 100644 --- a/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala +++ b/components/camel-scala/src/main/scala/org/apache/camel/scala/dsl/SAggregateDefinition.scala @@ -65,6 +65,6 @@ case class SAggregateDefinition(override val target: AggregateDefinition)(implic def completionPredicate(filter: Exchange => Any) = { // uses implicit conversion val predicate = filter - target.completionPredicate(predicate) + wrap(target.completionPredicate(predicate)) } } http://git-wip-us.apache.org/repos/asf/camel/blob/add6c68e/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/AggregatorTest.scala ---------------------------------------------------------------------- diff --git a/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/AggregatorTest.scala b/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/AggregatorTest.scala index dcb27bb..b8b1cda 100644 --- a/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/AggregatorTest.scala +++ b/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/AggregatorTest.scala @@ -6,7 +6,7 @@ * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -16,12 +16,12 @@ */ package org.apache.camel.scala.dsl +import org.apache.camel.Exchange +import org.apache.camel.builder.ExchangeBuilder.anExchange import org.apache.camel.processor.BodyInAggregatingStrategy import org.apache.camel.processor.aggregate.UseLatestAggregationStrategy +import org.apache.camel.scala.dsl.builder.RouteBuilder import org.junit.Test -import builder.RouteBuilder -import org.apache.camel.Exchange -import org.apache.camel.builder.ExchangeBuilder.anExchange /** * Test case for message aggregator @@ -88,6 +88,18 @@ class AggregatorTest extends ScalaTestSupport { } } + @Test + def testAggregatePredicateWithBlock() { + "mock:aggregated" expect { + _.received("A+B+C") + } + test { + "direct:predicate-block" ! "A" + "direct:predicate-block" ! "B" + "direct:predicate-block" ! "C" + } + } + val builder = new RouteBuilder { "direct:completion-size" ==> { @@ -119,5 +131,11 @@ class AggregatorTest extends ScalaTestSupport { "direct:predicate" ==> { aggregate("constant", new BodyInAggregatingStrategy()) completionPredicate (_.in[String].contains("A+B+C")) to "mock:aggregated" } + + "direct:predicate-block" ==> { + aggregate("constant", new BodyInAggregatingStrategy()).completionPredicate(_.in[String].contains("A+B+C")) { + to("mock:aggregated") + } + } } } \ No newline at end of file