Divide the MSB source codes into two repos
[msb/apigateway.git] / apiroute / apiroute-service / src / main / java / org / onap / msb / apiroute / wrapper / serviceListener / RouteNotify.java
1 package org.onap.msb.apiroute.wrapper.serviceListener;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import org.onap.msb.apiroute.api.MicroServiceFullInfo;
7 import org.onap.msb.apiroute.wrapper.util.ServiceFilter;
8
9 public class RouteNotify {
10   
11   private static RouteNotify instance = new RouteNotify();
12
13   private List<IMicroServiceChangeListener> serviceListenerlist =
14       new ArrayList<IMicroServiceChangeListener>();
15
16   private RouteNotify() {}
17
18   public static RouteNotify getInstance() {
19     return instance;
20   }
21
22   
23   public void addServiceChangeListener(IMicroServiceChangeListener listener) {
24     synchronized (serviceListenerlist) {
25       serviceListenerlist.add(listener);
26     }
27   }
28
29
30  /* public void removeServiceChangeListener(IMicroServiceChangeListener listener) {
31     synchronized (serviceListenerlist) {
32       serviceListenerlist.remove(listener);
33     }
34   }*/
35
36
37   public void noticeRouteListener4Update(String serviceName, String version, MicroServiceFullInfo microServiceInfo) throws Exception {
38     if (ServiceFilter.getInstance().isNeedNotifyByProtocol(microServiceInfo.getProtocol())) {
39       for (IMicroServiceChangeListener serviceListener : serviceListenerlist) {
40         serviceListener.onChange(serviceName, version, microServiceInfo);
41       }
42     }
43
44   }
45
46   public void noticeUpdateStatusListener(MicroServiceFullInfo microServiceInfo, String status) {
47
48     for (IMicroServiceChangeListener serviceListener : serviceListenerlist) {
49       serviceListener.onStatusChange(microServiceInfo.getServiceName(),
50           microServiceInfo.getVersion(), microServiceInfo.getHost(),microServiceInfo.getProtocol(), microServiceInfo.getPublish_port(),status);
51     }
52   }
53
54
55
56   
57   public void noticeRouteListener4Add(MicroServiceFullInfo microServiceInfo) throws Exception {
58     if (ServiceFilter.getInstance().isNeedNotifyByProtocol(microServiceInfo.getProtocol())) {
59         for (IMicroServiceChangeListener serviceListener : serviceListenerlist) {
60           serviceListener.onSave(microServiceInfo);
61         }
62     }
63   }
64   
65   public void noticeRouteListener4Delete(MicroServiceFullInfo microServiceInfo) throws Exception {
66     if (ServiceFilter.getInstance().isNeedNotifyByProtocol(microServiceInfo.getProtocol())) {
67         for (IMicroServiceChangeListener serviceListener : serviceListenerlist) {
68           serviceListener.onDelete(microServiceInfo);
69         }
70     }
71   }
72
73   
74   
75
76
77 }