1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.integration.routing;
12
13 import org.mule.DefaultMuleMessage;
14 import org.mule.api.MuleEvent;
15 import org.mule.api.MuleMessage;
16 import org.mule.api.transformer.TransformerException;
17 import org.mule.routing.AggregationException;
18 import org.mule.routing.CollectionCorrelatorCallback;
19 import org.mule.routing.EventCorrelatorCallback;
20 import org.mule.routing.inbound.EventGroup;
21 import org.mule.routing.response.ResponseCorrelationAggregator;
22
23 import java.util.Iterator;
24
25 public class TestAggregator extends ResponseCorrelationAggregator
26 {
27
28
29 protected EventCorrelatorCallback getCorrelatorCallback()
30 {
31 return new CollectionCorrelatorCallback()
32 {
33 public MuleMessage aggregateEvents(EventGroup events) throws AggregationException
34 {
35 StringBuffer buffer = new StringBuffer(128);
36
37 for (Iterator iterator = events.iterator(); iterator.hasNext();)
38 {
39 MuleEvent event = (MuleEvent) iterator.next();
40 try
41 {
42 buffer.append(event.transformMessageToString());
43 }
44 catch (TransformerException e)
45 {
46 throw new AggregationException(events, event.getEndpoint(), e);
47 }
48 }
49
50 logger.debug("event payload is: " + buffer.toString());
51 return new DefaultMuleMessage(buffer.toString());
52 }
53 };
54 }
55
56
57 }