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