1 /*******************************************************************************
2 * Copyright 2016-2017 ZTE, Inc. and others.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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;
18 import java.util.ArrayList;
19 import java.util.List;
21 import org.onap.msb.apiroute.api.MicroServiceFullInfo;
22 import org.onap.msb.apiroute.wrapper.util.ServiceFilter;
24 public class RouteNotify {
26 private static RouteNotify instance = new RouteNotify();
28 private List<IMicroServiceChangeListener> serviceListenerlist =
29 new ArrayList<IMicroServiceChangeListener>();
31 private RouteNotify() {}
33 public static RouteNotify getInstance() {
38 public void addServiceChangeListener(IMicroServiceChangeListener listener) {
39 synchronized (serviceListenerlist) {
40 serviceListenerlist.add(listener);
45 /* public void removeServiceChangeListener(IMicroServiceChangeListener listener) {
46 synchronized (serviceListenerlist) {
47 serviceListenerlist.remove(listener);
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);
61 public void noticeUpdateStatusListener(MicroServiceFullInfo microServiceInfo, String status) {
63 for (IMicroServiceChangeListener serviceListener : serviceListenerlist) {
64 serviceListener.onStatusChange(microServiceInfo.getServiceName(),
65 microServiceInfo.getVersion(), microServiceInfo.getHost(),microServiceInfo.getProtocol(), microServiceInfo.getPublish_port(),status);
72 public void noticeRouteListener4Add(MicroServiceFullInfo microServiceInfo) throws Exception {
73 if (ServiceFilter.getInstance().isNeedNotifyByProtocol(microServiceInfo.getProtocol())) {
74 for (IMicroServiceChangeListener serviceListener : serviceListenerlist) {
75 serviceListener.onSave(microServiceInfo);
80 public void noticeRouteListener4Delete(MicroServiceFullInfo microServiceInfo) throws Exception {
81 if (ServiceFilter.getInstance().isNeedNotifyByProtocol(microServiceInfo.getProtocol())) {
82 for (IMicroServiceChangeListener serviceListener : serviceListenerlist) {
83 serviceListener.onDelete(microServiceInfo);