Author: davsclaus
Date: Sat Oct 20 10:09:41 2012
New Revision: 1400403

URL: http://svn.apache.org/viewvc?rev=1400403&view=rev
Log:
CAMEL-5720: Fixed aggregate eip to dynamic completion size always override 
fixed size.

Added:
    
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateExpressionSizeOverrideFixedTest.java
      - copied, changed from r1400377, 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateExpressionSizeTest.java
Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java?rev=1400403&r1=1400402&r2=1400403&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
 Sat Oct 20 10:09:41 2012
@@ -313,6 +313,9 @@ public class AggregateProcessor extends 
                 int size = exchange.getProperty(Exchange.AGGREGATED_SIZE, 1, 
Integer.class);
                 if (size >= value) {
                     return "size";
+                } else {
+                    // not completed yet
+                    return null;
                 }
             }
         }

Copied: 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateExpressionSizeOverrideFixedTest.java
 (from r1400377, 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateExpressionSizeTest.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateExpressionSizeOverrideFixedTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateExpressionSizeOverrideFixedTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateExpressionSizeTest.java&r1=1400377&r2=1400403&rev=1400403&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateExpressionSizeTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateExpressionSizeOverrideFixedTest.java
 Sat Oct 20 10:09:41 2012
@@ -26,7 +26,7 @@ import org.apache.camel.processor.BodyIn
 /**
  * @version 
  */
-public class AggregateExpressionSizeTest extends ContextTestSupport {
+public class AggregateExpressionSizeOverrideFixedTest extends 
ContextTestSupport {
 
     public void testAggregateExpressionSize() throws Exception {
         getMockEndpoint("mock:aggregated").expectedBodiesReceived("A+B+C");
@@ -47,15 +47,10 @@ public class AggregateExpressionSizeTest
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                // START SNIPPET: e1
                 from("direct:start")
-                    // aggregate all exchanges correlated by the id header.
-                    // Aggregate them using the BodyInAggregatingStrategy 
strategy which
-                    // and the header mySize determines the number of 
aggregated messages should trigger the completion
-                    // and send it to mock:aggregated
-                    .aggregate(header("id"), new 
BodyInAggregatingStrategy()).completionSize(header("mySize"))
+                    .aggregate(header("id"), new BodyInAggregatingStrategy())
+                        .completionSize(2).completionSize(header("mySize"))
                         .to("mock:aggregated");
-                // END SNIPPET: e1
             }
         };
     }


Reply via email to