From d1981f7e68272cdc5618139a363b80806c2aa77c Mon Sep 17 00:00:00 2001 From: herbert Date: Tue, 28 Jan 2020 16:45:58 +0100 Subject: SDN-R update common update common and remove all dependent bundles Issue-ID: SDNC-1025 Signed-off-by: herbert Change-Id: I0cebe27eff0489f9b221ee7451be9250e362a827 --- .../wt/netconfnodestateservice/Capabilities.java | 226 --------------------- .../netconfnodestateservice/INetconfAcessor.java | 74 ------- .../netconfnodestateservice/NetconfAccessor.java | 109 ---------- .../NetconfNodeConnectListener.java | 50 ----- .../NetconfNodeStateListener.java | 53 ----- .../NetconfNodeStateService.java | 48 ----- .../netconfnodestateservice/TransactionUtils.java | 62 ------ .../VesNotificationListener.java | 45 ---- .../src/main/yang/netconfnodestateservice.yang | 64 ------ 9 files changed, 731 deletions(-) delete mode 100644 sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/Capabilities.java delete mode 100644 sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/INetconfAcessor.java delete mode 100644 sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfAccessor.java delete mode 100644 sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfNodeConnectListener.java delete mode 100644 sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfNodeStateListener.java delete mode 100644 sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfNodeStateService.java delete mode 100644 sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/TransactionUtils.java delete mode 100644 sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/VesNotificationListener.java delete mode 100644 sdnr/wt/netconfnode-state-service/model/src/main/yang/netconfnodestateservice.yang (limited to 'sdnr/wt/netconfnode-state-service/model/src') diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/Capabilities.java b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/Capabilities.java deleted file mode 100644 index ba80d305f..000000000 --- a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/Capabilities.java +++ /dev/null @@ -1,226 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 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========================================================================== - ******************************************************************************/ -/** - * Convert capabilities of netconfnode into internal format. Boron and Carbon are providing - * different versions - */ -package org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Optional; -import javax.annotation.Nullable; -import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode; -import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.AvailableCapabilities; -import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.UnavailableCapabilities; -import org.opendaylight.yangtools.yang.common.QName; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Wrapper class for capabilites for Boron and later releases. Uses generics because yang model was - * changed from Boron to later version. Interface class: - * org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.available.capabilities.AvailableCapability - */ -public class Capabilities { - - private static final Logger LOG = LoggerFactory.getLogger(Capabilities.class); - - private static final String METHODNAME = "getCapability"; - private final List capabilities = new ArrayList<>(); - private final DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); - - private Capabilities() {} - - @SuppressWarnings("null") - public static Capabilities getAvailableCapabilities(@Nullable NetconfNode nnode) { - LOG.info("GetAvailableCapabilities for node"); - Capabilities capabilities = new Capabilities(); - if (nnode != null) { - AvailableCapabilities availableCapabilites = nnode.getAvailableCapabilities(); - if (availableCapabilites != null) { - capabilities.constructor(availableCapabilites.getAvailableCapability()); - } else { - LOG.debug("empty capabilites"); - } - } else { - LOG.debug("No node provided"); - } - return capabilities; - } - - @SuppressWarnings("null") - public static Capabilities getUnavailableCapabilities(NetconfNode nnode) { - LOG.info("GetAvailableCapabilities for node"); - Capabilities capabilities = new Capabilities(); - if (nnode != null) { - UnavailableCapabilities availableCapabilites = nnode.getUnavailableCapabilities(); - if (availableCapabilites != null) { - capabilities.constructor(availableCapabilites.getUnavailableCapability()); - } else { - LOG.debug("empty capabilites"); - } - } else { - LOG.debug("No node provided"); - } - return capabilities; - } - - - /** - * Does all construction steps - * - * @param pcapabilities with a list of capabilities.
- * Type could be
- * - Boron: List
- * - Carbon: List - */ - private void constructor(List<@NonNull ?> pcapabilities) { - if (pcapabilities != null) { - Method methodGetCapability; - - for (Object capability : pcapabilities) { - if (capability instanceof String) { // ODL Boron specific - this.capabilities.add((String) capability); - } else { // Carbon specific part .. handled via generics - try { - methodGetCapability = capability.getClass().getDeclaredMethod(METHODNAME); - methodGetCapability.setAccessible(true); - this.capabilities.add(methodGetCapability.invoke(capability).toString()); - } catch (NoSuchMethodException | SecurityException | IllegalAccessException - | IllegalArgumentException | InvocationTargetException e) { - LOG.warn("Capability class with missing interface method {}: {} {} {}", METHODNAME, - e.getMessage(), capability.getClass(), - Arrays.toString(capability.getClass().getInterfaces())); - } - } - } - } - } - - /** - * Get Capabilites - * @return List with capabilites - */ - public List getCapabilities() { - return capabilities; - } - - /** - * Verify if the namespace is supported - * @param qCapability from model - * @return true if namespace is supported - */ - public boolean isSupportingNamespace(QName qCapability) { - - String namespace = qCapability.getNamespace().toString(); - - return isSupportingNamespaceAndRevision(namespace, null); - - } - - /** - * check if the namespace and its revision are supported by the given capabilities - * - * @param qCapability capability from the model - * @return true if supporting the model AND revision
- * false if revision not available or both not found. - */ - public boolean isSupportingNamespaceAndRevision(QName qCapability) { - - String namespace = qCapability.getNamespace().toString(); - String revision = getRevisionString(qCapability); - return revision == null ? false : isSupportingNamespaceAndRevision(namespace, revision); - } - - /** - * - * @param namespace requested - * @param revision request or null for any revision - * @return true if existing - */ - private boolean isSupportingNamespaceAndRevision(String namespace, @Nullable String revision) { - LOG.trace("isSupportingNamespaceAndRevision: Model namespace {}?[revision {}]", namespace, revision); - for (String capability : capabilities) { - if (capability.contains(namespace) && (revision == null || capability.contains(revision))) { - LOG.trace("Verify true with: {}", capability); - return true; - } else { - LOG.trace("Verify false with: {}", capability); - } - } - return false; - } - - /** - * Provide revision as String from QName, considering older formats. - * @param qCapability that specifies the revision - * @return String with revisiondate or null - */ - private String getRevisionString(QName qCapability) { - Object revisionObject = qCapability.getRevision(); - String revision = null; - if (revisionObject instanceof Optional) { - if (((Optional) revisionObject).isPresent()) { - revisionObject = ((Optional) revisionObject).get(); - LOG.info("Unwrapp Optional: {}", revisionObject != null ? revisionObject.getClass() : null); - } - } - if (revisionObject == null) { - // Cover null case - } else if (revisionObject instanceof String) { - revision = (String) revisionObject; - } else if (revisionObject instanceof Date) { - revision = formatter.format((Date) revisionObject); - } else { - revision = revisionObject.toString(); - LOG.debug("Revision number type not supported. Use toString().String:{} Class:{} ", revisionObject, - revisionObject.getClass().getName()); - } - return revision; - } - - /** - * Get revision of first entry of related capability - * @param qCapability that specifies the namespace - * @return String with date or - */ - public String getRevisionForNamespace(QName qCapability) { - String namespace = qCapability.getNamespace().toString(); - for (String capability : capabilities) { - if (capability.contains(namespace)) { - return QName.create(capability).getRevision().get().toString(); - } - } - return "Unsupported"; - } - - - @Override - public String toString() { - return "Capabilities [capabilities=" + capabilities + "]"; - } - -} diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/INetconfAcessor.java b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/INetconfAcessor.java deleted file mode 100644 index a186b3c6e..000000000 --- a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/INetconfAcessor.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 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.netconfnodestateservice; - -import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.mdsal.binding.api.DataBroker; -import org.opendaylight.mdsal.binding.api.MountPoint; -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.opendaylight.yangtools.yang.binding.NotificationListener; - -/** - * Interface handling netconf connection. - */ -public interface INetconfAcessor { - - /** - * @return the nodeId - */ - NodeId getNodeId(); - - /** - * @return NetconfNode of this connection - */ - NetconfNode getNetconfNode(); - - /** - * @return Capabilites - */ - Capabilities getCapabilites(); - - /** - * @return the dataBroker - */ - DataBroker getDataBroker(); - - /** - * @return the MDSAL Mountpoint service - **/ - MountPoint getMountpoint(); - - /** - * @Return TransAction - */ - TransactionUtils getTransactionUtils(); - - - /** - * Register netconf notification listener for related mountpoint - * - * @param specific child class of NotificationListener - * @param listener listener to be called - * @return handler to manager registration - */ - ListenerRegistration doRegisterNotificationListener( - @NonNull T listener); - -} diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfAccessor.java b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfAccessor.java deleted file mode 100644 index c80c7befc..000000000 --- a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfAccessor.java +++ /dev/null @@ -1,109 +0,0 @@ -/** - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 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.netconfnodestateservice; - -import java.util.Optional; -import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.mdsal.binding.api.DataBroker; -import org.opendaylight.mdsal.binding.api.MountPoint; -import org.opendaylight.mdsal.binding.api.NotificationService; -import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode; -import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus.ConnectionStatus; -import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId; -import org.opendaylight.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.yang.binding.NotificationListener; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class NetconfAccessor implements INetconfAcessor { - - private static final Logger log = LoggerFactory.getLogger(NetconfAccessor.class); - - private final NodeId nodeId; - private final DataBroker dataBroker; - private final TransactionUtils transactionUtils; - private final MountPoint mountpoint; - private final NetconfNode netconfNode; - private final Capabilities capabilities; - - /** - * @param nodeId of managed netconf node - * @param dataBroker to access node - */ - public NetconfAccessor(NodeId nodeId, NetconfNode netconfNode, DataBroker dataBroker, MountPoint mountpoint, - TransactionUtils transactionUtils) { - super(); - this.nodeId = nodeId; - this.netconfNode = netconfNode; - this.dataBroker = dataBroker; - this.mountpoint = mountpoint; - this.transactionUtils = transactionUtils; - - ConnectionStatus csts = netconfNode != null ? netconfNode.getConnectionStatus() : null; - this.capabilities = Capabilities.getAvailableCapabilities(csts != null ? netconfNode : null); - } - - /** - * @param nodeId with uuid of managed netconf node - * @param dataBroker to access node - */ - public NetconfAccessor(String nodeId, NetconfNode netconfNode, DataBroker dataBroker, MountPoint mountpoint, - TransactionUtils transactionUtils) { - this(new NodeId(nodeId), netconfNode, dataBroker, mountpoint, transactionUtils); - } - - @Override - public NodeId getNodeId() { - return nodeId; - } - - @Override - public DataBroker getDataBroker() { - return dataBroker; - } - @Override - public MountPoint getMountpoint() { - return mountpoint; - } - @Override - public TransactionUtils getTransactionUtils() { - return transactionUtils; - } - @Override - public NetconfNode getNetconfNode() { - return netconfNode; - } - @Override - public Capabilities getCapabilites() { - return capabilities; - } - - @Override - public @NonNull ListenerRegistration doRegisterNotificationListener(@NonNull T listener) { - log.info("Begin register listener for Mountpoint {}", mountpoint.getIdentifier().toString()); - final Optional optionalNotificationService = mountpoint - .getService(NotificationService.class); - final NotificationService notificationService = optionalNotificationService.get(); - final ListenerRegistration ranListenerRegistration = notificationService - .registerNotificationListener(listener); - log.info("End registration listener for Mountpoint {} Listener: {} Result: {}", - mountpoint.getIdentifier().toString(), optionalNotificationService, ranListenerRegistration); - return ranListenerRegistration; - } - -} diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfNodeConnectListener.java b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfNodeConnectListener.java deleted file mode 100644 index 942e29f19..000000000 --- a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfNodeConnectListener.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 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.netconfnodestateservice; - -import java.util.EventListener; - -import org.opendaylight.mdsal.binding.api.DataBroker; -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; - -/** - * Indicate if device is connected or not. - * A NetconfNode (Mountpoint) is providing the status. - * If this is Master and connected, this function is calles. - */ - -public interface NetconfNodeConnectListener extends EventListener, AutoCloseable { - - /** - * Called if device state changes to "connected" for a netconf master node. - * @param nNodeId name of mount point - * @param netconfNode with related information - * @param netconfNodeDataBroker to access connected netconf device - */ - public void onEnterConnected(NodeId nNodeId, NetconfNode netconfNode, DataBroker netconfNodeDataBroker); - - /** - * Notify of device state change to "not connected" mount point supervision. - * HINT: This callback could be called multiple times also the onEnterConnected state was not called. - * @param nNodeId name of mount point - */ - public void onLeaveConnected(NodeId nNodeId); - -} diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfNodeStateListener.java b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfNodeStateListener.java deleted file mode 100644 index 253af0598..000000000 --- a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfNodeStateListener.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 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.netconfnodestateservice; - -import java.util.EventListener; - -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; - -/** - * Indicate all state changes of NetconfNode (Mountpoint). Cleans up and - * summarizes the - */ -public interface NetconfNodeStateListener extends EventListener { - - /** - * New NetconfNode has been created - * @param nNodeId of Node - * @param netconfNode object - */ - - void onCreated(NodeId nNodeId, NetconfNode netconfNode); - - /** - * New NetconfNode has been created - * @param nNodeId of node - * @param netconfNode object after change - */ - void onStateChange(NodeId nNodeId, NetconfNode netconfNode); - - /** - * NetconfNode has been removed - * @param nNodeId of related node - */ - void onRemoved(NodeId nNodeId); - -} diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfNodeStateService.java b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfNodeStateService.java deleted file mode 100644 index 0105c36e8..000000000 --- a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/NetconfNodeStateService.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 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.netconfnodestateservice; - -import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.concepts.Registration; - -public interface NetconfNodeStateService extends Registration { - - /** - * Register for indication that Master NetconNode is entering or leaving Connected state. - * @param netconfNodeConnectListener - * @return managing object for listener - */ - @NonNull ListenerRegistration registerNetconfNodeConnectListener(@NonNull L netconfNodeConnectListener); - - /** - * Register for all NetconfNode specific state changes - * @param netconfNodeStateListener - * @return managing object for listener - */ - @NonNull ListenerRegistration registerNetconfNodeStateListener(@NonNull L netconfNodeStateListener); - - /** - * Register for Ves/DmaaP provided messages - * @param netconfNodeStateListener - * @return managing object for listener - */ - @NonNull ListenerRegistration registerVesNotifications(@NonNull L netconfNodeStateListener); - -} diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/TransactionUtils.java b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/TransactionUtils.java deleted file mode 100644 index da8da5c7f..000000000 --- a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/TransactionUtils.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 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.netconfnodestateservice; - -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicReference; -import org.eclipse.jdt.annotation.Nullable; -import org.opendaylight.mdsal.binding.api.DataBroker; -import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.yangtools.yang.binding.DataObject; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; - -/** - * @author herbert - * - */ -public interface TransactionUtils { - - /** - * Deliver the data back or null. Warning - * - * @param SubType of the DataObject to be handled - * @param dataBroker for accessing data - * @param dataStoreType to address datastore - * @param iid id to access data - * @return null or object - */ - @Nullable - T readData(DataBroker dataBroker, LogicalDatastoreType dataStoreType, - InstanceIdentifier iid); - - /** - * Deliver the data back or null - * - * @param SubType of the DataObject to be handled - * @param dataBroker for accessing data - * @param dataStoreType to address datastore - * @param iid id to access data - * @param noErrorIndication (Output) true if data could be read and are available and is not null - * @param statusIndicator (Output) String with status indications during the read. - * @return null or object - */ - @Nullable - T readDataOptionalWithStatus(DataBroker dataBroker, LogicalDatastoreType dataStoreType, - InstanceIdentifier iid, AtomicBoolean noErrorIndication, AtomicReference statusIndicator); - -} \ No newline at end of file diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/VesNotificationListener.java b/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/VesNotificationListener.java deleted file mode 100644 index e7d2481b8..000000000 --- a/sdnr/wt/netconfnode-state-service/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/netconfnodestateservice/VesNotificationListener.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * ============LICENSE_START======================================================================== - * ONAP : ccsdk feature sdnr wt - * ================================================================================================= - * Copyright (C) 2019 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.netconfnodestateservice; - -import java.util.EventListener; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netconfnode.state.rev191011.AttributeChangeNotification; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netconfnode.state.rev191011.FaultNotification; - -/** - * Indicate if device is connected or not. - * A NetconfNode (Mountpoint) is providing the status. - * If this is Master and connected, this function is calles. - */ - -public interface VesNotificationListener extends EventListener, AutoCloseable { - - /** - * Called in case of fault notification - * @param faultNotification to handle - */ - public void onNotification(FaultNotification faultNotification); - - /** - * Called in case of attributeChange notification - * @param attributeChangeNotification to handle - */ - public void onNotification(AttributeChangeNotification attributeChangeNotification); - -} diff --git a/sdnr/wt/netconfnode-state-service/model/src/main/yang/netconfnodestateservice.yang b/sdnr/wt/netconfnode-state-service/model/src/main/yang/netconfnodestateservice.yang deleted file mode 100644 index 737f858de..000000000 --- a/sdnr/wt/netconfnode-state-service/model/src/main/yang/netconfnodestateservice.yang +++ /dev/null @@ -1,64 +0,0 @@ -module netconfnode-state { - - yang-version 1; - namespace "urn:opendaylight:params:xml:ns:yang:netconfnode-state"; - prefix "netconfnode-state"; - - import data-provider { prefix "data-provider"; } - - description - "sdnr-wt-netconfnode-state-service Api Module"; - - revision "2019-10-11" { - description - "Initial revision"; - } - - container fault-notification { - description - "Handle fault problem notification of a network-element"; - uses data-provider:object-change-reference; - uses data-provider:fault; - } - container attribute-change-notification { - description - "Handle attribute change notification of a network-element"; - uses data-provider:object-change-reference; - uses data-provider:attribute-change; - } - rpc push-fault-notification { - description - "Forward fault problem notification of a network-element"; - input { - uses data-provider:object-change-reference; - uses data-provider:fault; - } - } - rpc push-attribute-change-notification { - description - "Forward attribute change notification of a network-element"; - input { - uses data-provider:object-change-reference; - uses data-provider:attribute-change; - } - } - - rpc get-status { - description - "Returns status information"; - - output { - list status { - description "Provides a key value list with status information"; - key key; - leaf key { - type string; - } - leaf value { - type string; - } - } - } - } -} - -- cgit 1.2.3-korg