+++ /dev/null
-/*
- * ============LICENSE_START========================================================================
- * ONAP : ccsdk feature sdnr wt
- * =================================================================================================
- * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
- * =================================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- * ============LICENSE_END==========================================================================
- */
-
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.impl;
-
-import java.util.List;
-import java.util.Objects;
-import org.eclipse.jdt.annotation.NonNull;
-import org.onap.ccsdk.features.sdnr.wt.common.HtAssert;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.devicemonitor.impl.DeviceMonitor;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.eventdatahandler.ODLEventListenerHandler;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.OdlClusterSingleton;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.factory.NetworkElementFactory;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfNodeStateListener;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfNodeStateService;
-import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DeviceManagerNetconfNotConnectHandler implements NetconfNodeStateListener {
-
- private static final Logger LOG = LoggerFactory.getLogger(DeviceManagerNetconfNotConnectHandler.class);
-
- private final @NonNull ListenerRegistration<NetconfNodeStateListener> registerNetconfNodeStateListener;
-
- private final @NonNull ODLEventListenerHandler odlEventListenerHandler;
- private final @NonNull DeviceMonitor deviceMonitor;
- private final @NonNull List<NetworkElementFactory> factoryList;
- private final @NonNull DeviceManagerServiceProvider serviceProvider;
-
-
- private final boolean odlEventListenerHandlerEnabled;
- private final boolean deviceMonitorEnabled;
-
- private final OdlClusterSingleton singleton;
-
- public DeviceManagerNetconfNotConnectHandler(@NonNull NetconfNodeStateService netconfNodeStateService,
- @NonNull ClusterSingletonServiceProvider clusterSingletonServiceProvider,
- @NonNull ODLEventListenerHandler odlEventListenerHandler, @NonNull DeviceMonitor deviceMonitor,
- @NonNull DeviceManagerServiceProvider serviceProvider, @NonNull List<NetworkElementFactory> factoryList) {
-
- HtAssert.nonnull(netconfNodeStateService, this.odlEventListenerHandler = odlEventListenerHandler,
- this.deviceMonitor = deviceMonitor, this.serviceProvider = serviceProvider,
- this.factoryList = factoryList, odlEventListenerHandler);
-
- /* Used for debug purpose */
- this.odlEventListenerHandlerEnabled = true;
- this.deviceMonitorEnabled = false;
-
- this.singleton = new OdlClusterSingleton(clusterSingletonServiceProvider);
- this.registerNetconfNodeStateListener = netconfNodeStateService.registerNetconfNodeStateListener(this);
-
- }
-
- @Override
- public void onCreated(NodeId nNodeId, NetconfNode netconfNode) {
- LOG.info("onCreated {}", nNodeId);
- if (isOdlEventListenerHandlerMaster()) {
- odlEventListenerHandler.registration(nNodeId.getValue(), netconfNode);
- }
- if (deviceMonitorEnabled) {
- deviceMonitor.deviceDisconnectIndication(nNodeId.getValue());
- }
- }
-
- @Override
- public void onStateChange(NodeId nNodeId, NetconfNode netconfNode) {
- LOG.info("onStateChange {}", nNodeId);
- if (isOdlEventListenerHandlerMaster()) {
- odlEventListenerHandler.onStateChangeIndication(nNodeId.getValue(), netconfNode);
- }
- }
-
- @Override
- public void onRemoved(NodeId nNodeId) {
- String mountPointNodeName = nNodeId.getValue();
- LOG.info("mountpointNodeRemoved {}", nNodeId.getValue());
-
- if (deviceMonitorEnabled) {
- deviceMonitor.removeMountpointIndication(mountPointNodeName);
- }
- if (isOdlEventListenerHandlerMaster()) {
- odlEventListenerHandler.deRegistration(mountPointNodeName); //Additional indication for log
- }
- }
-
- @Override
- public void close() {
- if (Objects.nonNull(registerNetconfNodeStateListener)) {
- registerNetconfNodeStateListener.close();
- }
- }
-
- /*--------------------------------------------
- * Private functions
- */
-
- private boolean isOdlEventListenerHandlerMaster() {
- return odlEventListenerHandlerEnabled && singleton.isMaster();
- }
-
- protected @NonNull DeviceManagerServiceProvider getServiceProvider() {
- return serviceProvider;
- }
-
- protected @NonNull List<NetworkElementFactory> getFactoryList() {
- return factoryList;
- }
-
-
- protected boolean isDeviceMonitorEnabled() {
- return deviceMonitorEnabled;
- }
-
- protected @NonNull DeviceMonitor getDeviceMonitor() {
- return deviceMonitor;
- }
-
- protected boolean isOdlEventListenerHandlerEnabled() {
- return odlEventListenerHandlerEnabled;
- }
-
- protected @NonNull ODLEventListenerHandler getOdlEventListenerHandler() {
- return odlEventListenerHandler;
- }
-
-}