You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2009/06/11 09:55:49 UTC
svn commit: r783675 -
/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/AggregateShouldSkipFilteredExchanges.java
Author: davsclaus
Date: Thu Jun 11 07:55:49 2009
New Revision: 783675
URL: http://svn.apache.org/viewvc?rev=783675&view=rev
Log:
CAMEL-1691: Filter EIP now marks exchanges as filtered that split, multicast, enrich now uses to skip filtered exchanges when doing aggregation.
Added:
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/AggregateShouldSkipFilteredExchanges.java
- copied, changed from r783663, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldSkipFilteredExchanges.java
Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/AggregateShouldSkipFilteredExchanges.java (from r783663, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldSkipFilteredExchanges.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/AggregateShouldSkipFilteredExchanges.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/AggregateShouldSkipFilteredExchanges.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldSkipFilteredExchanges.java&r1=783663&r2=783675&rev=783675&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitShouldSkipFilteredExchanges.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/AggregateShouldSkipFilteredExchanges.java Thu Jun 11 07:55:49 2009
@@ -16,9 +16,6 @@
*/
package org.apache.camel.processor;
-import java.util.ArrayList;
-import java.util.List;
-
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
import org.apache.camel.Predicate;
@@ -27,26 +24,23 @@
import org.apache.camel.processor.aggregate.AggregationStrategy;
/**
- * Unit test to verify that Splitter aggregator does not included filtered exchanges.
+ * Unit test to verify that Aggregate aggregator does not included filtered exchanges.
*
* @version $Revision$
*/
-public class SplitShouldSkipFilteredExchanges extends ContextTestSupport {
+public class AggregateShouldSkipFilteredExchanges extends ContextTestSupport {
- public void testSplitWithFilter() throws Exception {
+ public void testAggregateWithFilter() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedBodiesReceived("Hello World,Bye World");
MockEndpoint filtered = getMockEndpoint("mock:filtered");
filtered.expectedBodiesReceived("Hello World", "Bye World");
- List<String> body = new ArrayList<String>();
- body.add("Hello World");
- body.add("Hi there");
- body.add("Bye World");
- body.add("How do you do?");
-
- template.sendBody("direct:start", body);
+ template.sendBodyAndHeader("direct:start", "Hello World", "id", 1);
+ template.sendBodyAndHeader("direct:start", "Hi there", "id", 1);
+ template.sendBodyAndHeader("direct:start", "Bye World", "id", 1);
+ template.sendBodyAndHeader("direct:start", "How do you do?", "id", 1);
assertMockEndpointsSatisfied();
}
@@ -56,15 +50,14 @@
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("direct:start")
- .to("direct:split")
- .to("mock:result");
-
Predicate goodWord = body().contains("World");
- from("direct:split")
- .split(body(List.class), new MyAggregationStrategy())
- .filter(goodWord)
- .to("mock:filtered");
+
+ from("direct:start")
+ .filter(goodWord)
+ .to("mock:filtered")
+ .aggregate(header("id"), new MyAggregationStrategy())
+ .to("mock:result")
+ .end();
}
};
}
@@ -73,7 +66,6 @@
public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
String newBody = newExchange.getIn().getBody(String.class);
- assertTrue("Should have been filtered: " + newBody, newBody.contains("World"));
if (oldExchange == null) {
return newExchange;
@@ -86,4 +78,4 @@
}
}
-}
+}
\ No newline at end of file