1
2
3
4
5
6
7
8
9
10
11 package org.mule.umo.routing;
12
13 import org.mule.config.i18n.CoreMessages;
14 import org.mule.config.i18n.Message;
15 import org.mule.umo.UMOComponent;
16 import org.mule.umo.UMOMessage;
17 import org.mule.umo.endpoint.UMOImmutableEndpoint;
18
19
20
21
22
23
24 public class ComponentRoutingException extends RoutingException
25 {
26
27
28
29 private static final long serialVersionUID = -113944443831267318L;
30
31 private transient UMOComponent component;
32
33 public ComponentRoutingException(Message message,
34 UMOMessage umoMessage,
35 UMOImmutableEndpoint endpoint,
36 UMOComponent component)
37 {
38 super(generateMessage(message, endpoint, component), umoMessage, endpoint);
39 this.component = component;
40 }
41
42 public ComponentRoutingException(Message message,
43 UMOMessage umoMessage,
44 UMOImmutableEndpoint endpoint,
45 UMOComponent component,
46 Throwable cause)
47 {
48 super(generateMessage(message, endpoint, component), umoMessage, endpoint, cause);
49 this.component = component;
50 }
51
52 public ComponentRoutingException(UMOMessage umoMessage,
53 UMOImmutableEndpoint endpoint,
54 UMOComponent component)
55 {
56 super(generateMessage(null, endpoint, component), umoMessage, endpoint);
57 this.component = component;
58 }
59
60 public ComponentRoutingException(UMOMessage umoMessage,
61 UMOImmutableEndpoint endpoint,
62 UMOComponent component,
63 Throwable cause)
64 {
65 super(generateMessage(null, endpoint, component), umoMessage, endpoint, cause);
66 this.component = component;
67
68 }
69
70 private static Message generateMessage(Message message,
71 UMOImmutableEndpoint endpoint,
72 UMOComponent component)
73 {
74
75 Message m = CoreMessages.routingFailedOnEndpoint(component.getDescriptor().getName(),
76 endpoint.getEndpointURI());
77 if (message != null)
78 {
79 message.setNextMessage(m);
80 return message;
81 }
82 else
83 {
84 return m;
85 }
86 }
87
88 public UMOComponent getComponent()
89 {
90 return component;
91 }
92 }