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/17 11:02:47 UTC

svn commit: r785515 - in /camel/branches/camel-1.x/camel-core/src: main/java/org/apache/camel/processor/Splitter.java test/java/org/apache/camel/processor/SplitterTest.java

Author: davsclaus
Date: Wed Jun 17 09:02:47 2009
New Revision: 785515

URL: http://svn.apache.org/viewvc?rev=785515&view=rev
Log:
CAMEL-1702: splitter now also decorates exchange properties to avoid lossing the info if only using headers.

Modified:
    camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/processor/Splitter.java
    camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java

Modified: camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/processor/Splitter.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/processor/Splitter.java?rev=785515&r1=785514&r2=785515&view=diff
==============================================================================
--- camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/processor/Splitter.java (original)
+++ camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/processor/Splitter.java Wed Jun 17 09:02:47 2009
@@ -136,8 +136,10 @@
     @Override
     protected void updateNewExchange(Exchange exchange, int i, Iterable<ProcessorExchangePair> allPairs) {
         exchange.getIn().setHeader(SPLIT_COUNTER, i);
+        exchange.setProperty(SPLIT_COUNTER, i);
         if (allPairs instanceof Collection) {
             exchange.getIn().setHeader(SPLIT_SIZE, ((Collection) allPairs).size());
+            exchange.setProperty(SPLIT_SIZE, ((Collection) allPairs).size());
         }
     }
 }

Modified: camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java?rev=785515&r1=785514&r2=785515&view=diff
==============================================================================
--- camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java (original)
+++ camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java Wed Jun 17 09:02:47 2009
@@ -107,6 +107,7 @@
         List<Exchange> list = resultEndpoint.getReceivedExchanges();
 
         Set<Integer> numbersFound = new TreeSet<Integer>();
+        Set<Integer> propertyNumbersFound = new TreeSet<Integer>();
 
         final String[] names = {"James", "Guillaume", "Hiram", "Rob"};
 
@@ -114,12 +115,16 @@
             Exchange exchange = list.get(i);
             Message in = exchange.getIn();
             Integer splitCounter = in.getHeader(Splitter.SPLIT_COUNTER, Integer.class);
+            Integer propertySplitCounter = exchange.getProperty(Splitter.SPLIT_COUNTER, Integer.class);
             numbersFound.add(splitCounter);
+            propertyNumbersFound.add(propertySplitCounter);
             assertEquals(names[splitCounter], in.getBody());
             assertMessageHeader(in, Splitter.SPLIT_SIZE, 4);
+            assertEquals(exchange.getProperty(Splitter.SPLIT_SIZE, Integer.class), new Integer(4));
         }
 
         assertEquals(4, numbersFound.size());
+        assertEquals(4, propertyNumbersFound.size());
     }
 
     public void testSpliterWithAggregationStrategyParallel() throws Exception {