[jboss-svn-commits] JBL Code SVN: r34806 - in labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta: tests/src/org/jboss/soa/esb/client and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Aug 20 06:14:26 EDT 2010


Author: kevin.conner at jboss.com
Date: 2010-08-20 06:14:25 -0400 (Fri, 20 Aug 2010)
New Revision: 34806

Modified:
   labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/client/MessageMulticaster.java
   labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/tests/src/org/jboss/soa/esb/client/MessageMulticasterUnitTest.java
Log:
Replace aggregator tags for invm: JBESB-3463

Modified: labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/client/MessageMulticaster.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/client/MessageMulticaster.java	2010-08-20 00:39:01 UTC (rev 34805)
+++ labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/src/org/jboss/soa/esb/client/MessageMulticaster.java	2010-08-20 10:14:25 UTC (rev 34806)
@@ -165,8 +165,13 @@
         // This is useful during aggregation - as a way of id'ing where the split occurred.
         aggrDetails.setSplitId(splitId);
 
-        if(aggregatorTags == null) {
-            aggregatorTags = new ArrayList<String>();
+        if ((aggregatorTags == null) || !aggregatorOnProperties) {
+            if (aggregatorTags == null) {
+                aggregatorTags = new ArrayList<String>();
+            } else {
+                aggregatorTags = new ArrayList<String>(aggregatorTags) ;
+            }
+            
             if(aggregatorOnProperties) {
             	message.getProperties().setProperty(Aggregator.AGGEGRATOR_TAG, aggregatorTags);
             } else {

Modified: labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/tests/src/org/jboss/soa/esb/client/MessageMulticasterUnitTest.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/tests/src/org/jboss/soa/esb/client/MessageMulticasterUnitTest.java	2010-08-20 00:39:01 UTC (rev 34805)
+++ labs/jbossesb/branches/JBESB_4_9_CP/product/rosetta/tests/src/org/jboss/soa/esb/client/MessageMulticasterUnitTest.java	2010-08-20 10:14:25 UTC (rev 34806)
@@ -21,7 +21,10 @@
  */
 package org.jboss.soa.esb.client;
 
+import java.util.List;
+
 import org.jboss.soa.esb.actions.Aggregator;
+import org.jboss.soa.esb.message.ByReferenceMessage;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.format.MessageFactory;
 
@@ -51,4 +54,30 @@
 		multicaster.addAggregationDetails(message, "uuid", 3, 123123123123L, 1);
 		assertTrue(Aggregator.getAggregatorTags(message, false) != null);		
 	}
+
+	public void test_on_duplicated_context() {
+		MessageMulticaster multicaster = new MessageMulticaster();
+		Message message = MessageFactory.getInstance().getMessage();
+		
+		assertNull("Aggregator tags", Aggregator.getAggregatorTags(message, false));
+		
+		multicaster.addAggregationDetails(message, "uuid", 2, 123123123123L, 1);
+		assertNotNull("First aggregator tags", Aggregator.getAggregatorTags(message, false));
+		
+		final Message referenceMessage = ((ByReferenceMessage)message).reference() ;
+		
+		multicaster.addAggregationDetails(message, "uuid", 2, 123123123123L, 2);
+		assertNotNull("Second aggregator tags", Aggregator.getAggregatorTags(message, false));
+		
+		final List<String> referenceAggregatorTags = Aggregator.getAggregatorTags(referenceMessage, false) ;
+		final List<String> finalAggregatorTags = Aggregator.getAggregatorTags(message, false) ;
+		
+		assertNotSame("Final aggregator tags", finalAggregatorTags, referenceAggregatorTags) ;
+		assertEquals("Final aggregator tag count", 1, finalAggregatorTags.size()) ;
+		assertEquals("Reference aggregator tag count", 1, referenceAggregatorTags.size()) ;
+		
+		final String finalAggregatorTag = finalAggregatorTags.get(0) ;
+		final String referenceAggregatorTag = referenceAggregatorTags.get(0) ;
+		assertFalse("Aggregator tag equality", finalAggregatorTag.equals(referenceAggregatorTag)) ;
+	}
 }



More information about the jboss-svn-commits mailing list