1
2
3
4
5
6
7 package org.mule.context.notification;
8
9 import org.mule.api.context.notification.ServerNotification;
10 import org.mule.routing.filters.WildcardFilter;
11
12
13
14
15
16
17 class Sender
18 {
19
20 private ListenerSubscriptionPair pair;
21 private WildcardFilter subscriptionFilter;
22
23 Sender(ListenerSubscriptionPair pair)
24 {
25 this.pair = pair;
26 subscriptionFilter = new WildcardFilter(pair.getSubscription());
27 subscriptionFilter.setCaseSensitive(false);
28 }
29
30 public void dispatch(ServerNotification notification)
31 {
32 if (pair.isNullSubscription() ||
33 (null != notification.getResourceIdentifier() &&
34 subscriptionFilter.accept(notification.getResourceIdentifier())))
35 {
36 try
37 {
38 pair.getListener().onNotification(notification);
39 }
40 catch (Exception e)
41 {
42
43 }
44 }
45 }
46
47 }
48