Coverage Report - org.mule.routing.DefaultRouterResultsHandler
 
Classes in this File Line Coverage Branch Coverage Complexity
DefaultRouterResultsHandler
0%
0/15
0%
0/16
0
 
 1  
 /*
 2  
  * $Id: DefaultRouterResultsHandler.java 20321 2010-11-24 15:21:24Z dfeist $
 3  
  * --------------------------------------------------------------------------------------
 4  
  * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
 5  
  *
 6  
  * The software in this package is published under the terms of the CPAL v1.0
 7  
  * license, a copy of which has been included with this distribution in the
 8  
  * LICENSE.txt file.
 9  
  */
 10  
 package org.mule.routing;
 11  
 
 12  
 import org.mule.DefaultMessageCollection;
 13  
 import org.mule.DefaultMuleEvent;
 14  
 import org.mule.api.MuleContext;
 15  
 import org.mule.api.MuleEvent;
 16  
 import org.mule.api.MuleMessage;
 17  
 import org.mule.api.MuleMessageCollection;
 18  
 import org.mule.api.routing.RouterResultsHandler;
 19  
 
 20  
 import java.util.List;
 21  
 
 22  
 /**
 23  
  * The default results handler for all outbound endpoint. Depending on the number of messages passed it
 24  
  * the returning message will be different.
 25  
  * If the 'results' param is null or empty, null is returned.
 26  
  * If the 'results' param contains a single {@link org.mule.api.MuleMessage}, than that message is returned.
 27  
  * If the 'results' param contains more than one message a {@link org.mule.api.MuleMessageCollection} instance
 28  
  * is returned.
 29  
  * <p/>
 30  
  * Note that right now (as of Mule 2.0.1) this SPI is not pluggable and this implementation is the default and
 31  
  * only implementation.
 32  
  *
 33  
  * @see org.mule.api.MuleMessageCollection
 34  
  * @see org.mule.api.MuleMessage
 35  
  * @see org.mule.DefaultMessageCollection
 36  
  */
 37  0
 public class DefaultRouterResultsHandler implements RouterResultsHandler
 38  
 {
 39  
     public MuleEvent aggregateResults(List<MuleEvent> results, MuleEvent previous, MuleContext muleContext)
 40  
     {
 41  
         MuleMessage aggregate;
 42  
 
 43  0
         if (results == null || results.size() == 0)
 44  
         {
 45  0
             aggregate = null;
 46  
         }
 47  0
         else if (results.size() == 1)
 48  
         {
 49  0
             MuleEvent event = results.get(0);
 50  0
             aggregate = event == null ? null : event.getMessage();
 51  0
         }
 52  
         else
 53  
         {
 54  0
             MuleMessageCollection coll = new DefaultMessageCollection(muleContext);
 55  0
             for (MuleEvent event : results)
 56  
             {
 57  0
                 MuleMessage muleMessage = event == null ? null : event.getMessage();
 58  0
                 if(muleMessage!=null)
 59  
                 {
 60  0
                     coll.addMessage(muleMessage);
 61  
                 }
 62  0
             }
 63  0
             aggregate = coll;
 64  
         }
 65  
 
 66  0
         return aggregate == null ? null : new DefaultMuleEvent(aggregate, previous);
 67  
     }
 68  
 }