[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