Add license header for java files
[msb/apigateway.git] / apiroute / apiroute-service / src / main / java / org / onap / msb / apiroute / wrapper / serviceListener / RouteNotify.java
1 /*******************************************************************************
2  * Copyright 2016-2017 ZTE, Inc. and others.
3  * 
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  * 
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  * 
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  ******************************************************************************/
16 package org.onap.msb.apiroute.wrapper.serviceListener;
17
18 import java.util.ArrayList;
19 import java.util.List;
20
21 import org.onap.msb.apiroute.api.MicroServiceFullInfo;
22 import org.onap.msb.apiroute.wrapper.util.ServiceFilter;
23
24 public class RouteNotify {
25   
26   private static RouteNotify instance = new RouteNotify();
27
28   private List<IMicroServiceChangeListener> serviceListenerlist =
29       new ArrayList<IMicroServiceChangeListener>();
30
31   private RouteNotify() {}
32
33   public static RouteNotify getInstance() {
34     return instance;
35   }
36
37   
38   public void addServiceChangeListener(IMicroServiceChangeListener listener) {
39     synchronized (serviceListenerlist) {
40       serviceListenerlist.add(listener);
41     }
42   }
43
44
45  /* public void removeServiceChangeListener(IMicroServiceChangeListener listener) {
46     synchronized (serviceListenerlist) {
47       serviceListenerlist.remove(listener);
48     }
49   }*/
50
51
52   public void noticeRouteListener4Update(String serviceName, String version, MicroServiceFullInfo microServiceInfo) throws Exception {
53     if (ServiceFilter.getInstance().isNeedNotifyByProtocol(microServiceInfo.getProtocol())) {
54       for (IMicroServiceChangeListener serviceListener : serviceListenerlist) {
55         serviceListener.onChange(serviceName, version, microServiceInfo);
56       }
57     }
58
59   }
60
61   public void noticeUpdateStatusListener(MicroServiceFullInfo microServiceInfo, String status) {
62
63     for (IMicroServiceChangeListener serviceListener : serviceListenerlist) {
64       serviceListener.onStatusChange(microServiceInfo.getServiceName(),
65           microServiceInfo.getVersion(), microServiceInfo.getHost(),microServiceInfo.getProtocol(), microServiceInfo.getPublish_port(),status);
66     }
67   }
68
69
70
71   
72   public void noticeRouteListener4Add(MicroServiceFullInfo microServiceInfo) throws Exception {
73     if (ServiceFilter.getInstance().isNeedNotifyByProtocol(microServiceInfo.getProtocol())) {
74         for (IMicroServiceChangeListener serviceListener : serviceListenerlist) {
75           serviceListener.onSave(microServiceInfo);
76         }
77     }
78   }
79   
80   public void noticeRouteListener4Delete(MicroServiceFullInfo microServiceInfo) throws Exception {
81     if (ServiceFilter.getInstance().isNeedNotifyByProtocol(microServiceInfo.getProtocol())) {
82         for (IMicroServiceChangeListener serviceListener : serviceListenerlist) {
83           serviceListener.onDelete(microServiceInfo);
84         }
85     }
86   }
87
88   
89   
90
91
92 }