Coverage Report - org.mule.api.routing.RoutingException
 
Classes in this File Line Coverage Branch Coverage Complexity
RoutingException
83%
15/18
100%
2/2
1.333
 
 1  
 /*
 2  
  * $Id: RoutingException.java 10489 2008-01-23 17:53:38Z dfeist $
 3  
  * --------------------------------------------------------------------------------------
 4  
  * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.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  
 
 11  
 package org.mule.api.routing;
 12  
 
 13  
 import org.mule.api.MessagingException;
 14  
 import org.mule.api.MuleMessage;
 15  
 import org.mule.api.endpoint.ImmutableEndpoint;
 16  
 import org.mule.config.i18n.CoreMessages;
 17  
 import org.mule.config.i18n.Message;
 18  
 
 19  
 /**
 20  
  * <code>RoutingException</code> is a base class for all routing exceptions.
 21  
  * Routing exceptions are only thrown for DefaultInboundRouterCollection and
 22  
  * DefaultOutboundRouterCollection and deriving types. Mule itself does not throw routing
 23  
  * exceptions when routing internal events.
 24  
  */
 25  
 public class RoutingException extends MessagingException
 26  
 {
 27  
     /**
 28  
      * Serial version
 29  
      */
 30  
     private static final long serialVersionUID = 2478458847072048645L;
 31  
 
 32  
     protected final transient ImmutableEndpoint endpoint;
 33  
 
 34  
     public RoutingException(MuleMessage message, ImmutableEndpoint endpoint)
 35  
     {
 36  12
         super(generateMessage(null, endpoint), message);
 37  12
         this.endpoint = endpoint;
 38  12
     }
 39  
 
 40  
     public RoutingException(MuleMessage umoMessage, ImmutableEndpoint endpoint, Throwable cause)
 41  
     {
 42  10
         super(generateMessage(null, endpoint), umoMessage, cause);
 43  10
         this.endpoint = endpoint;
 44  10
     }
 45  
 
 46  
     public RoutingException(Message message, MuleMessage umoMessage, ImmutableEndpoint endpoint)
 47  
     {
 48  4
         super(generateMessage(message, endpoint), umoMessage);
 49  4
         this.endpoint = endpoint;
 50  4
     }
 51  
 
 52  
     public RoutingException(Message message,
 53  
                             MuleMessage umoMessage,
 54  
                             ImmutableEndpoint endpoint,
 55  
                             Throwable cause)
 56  
     {
 57  0
         super(generateMessage(message, endpoint), umoMessage, cause);
 58  0
         this.endpoint = endpoint;
 59  0
     }
 60  
 
 61  
     public ImmutableEndpoint getEndpoint()
 62  
     {
 63  2
         return endpoint;
 64  
     }
 65  
 
 66  
     private static Message generateMessage(Message message, ImmutableEndpoint endpoint)
 67  
     {
 68  26
         Message m = CoreMessages.failedToRouterViaEndpoint(endpoint);
 69  26
         if (message != null)
 70  
         {
 71  4
             message.setNextMessage(m);
 72  4
             return message;
 73  
         }
 74  
         else
 75  
         {
 76  22
             return m;
 77  
         }
 78  
     }
 79  
 }