aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/devicemanager-onap/onf14/provider/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/devicemanager-onap/onf14/provider/src/main')
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/DeviceManagerOnf14Impl.java (renamed from sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/DeviceManagerOnf14Impl.java)7
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomAirInterfaceNotificationListener.java168
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomEthernetContainerNotificationListener.java151
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomNetworkElement.java (renamed from sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14DomNetworkElement.java)121
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomNetworkElementFactory.java (renamed from sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14NetworkElementFactory.java)28
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomWireInterfaceNotificationListener.java145
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/dataprovider/InternalDataModelSeverity.java (renamed from sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/dataprovider/InternalDataModelSeverity.java)29
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/dataprovider/Onf14DomToInternalDataModel.java126
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/equipment/Onf14DomEquipmentManager.java171
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/interfaces/Onf14DomInterfacePacManager.java458
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/interfaces/TechnologySpecificPacKeys.java (renamed from sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/TechnologySpecificPacKeys.java)13
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/util/Debug.java (renamed from sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/util/Debug.java)2
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/util/Onf14DMDOMUtility.java77
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/util/Onf14DevicemanagerQNames.java251
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14Configuration.java54
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14NetworkElement.java552
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/dataprovider/Onf14ToInternalDataModel.java130
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/equipment/Onf14DomEquipmentManager.java265
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14AirInterface.java39
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14AirInterfaceNotificationListener.java146
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14DomInterfacePacManager.java419
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14EthernetContainer.java40
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14EthernetContainerNotificationListener.java141
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14WireInterface.java40
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14WireInterfaceNotificationListener.java149
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/Control.java26
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/OperatorState.java22
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/Resource.java22
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/ResourceMatch.java22
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/SeverityWithClear.java22
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/package-info.java18
-rw-r--r--sdnr/wt/devicemanager-onap/onf14/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml2
32 files changed, 1609 insertions, 2247 deletions
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/DeviceManagerOnf14Impl.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/DeviceManagerOnf14Impl.java
index 5c57054ff..a974f4b8c 100644
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/DeviceManagerOnf14Impl.java
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/DeviceManagerOnf14Impl.java
@@ -15,7 +15,7 @@
* the License.
* ============LICENSE_END==========================================================================
*/
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl;
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl;
import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.factory.FactoryRegistration;
@@ -35,7 +35,7 @@ public class DeviceManagerOnf14Impl implements AutoCloseable {
private HtDatabaseClient htDatabaseClient;
private Boolean devicemanagerInitializationOk = false;
- private FactoryRegistration<Onf14NetworkElementFactory> resOnf;
+ private FactoryRegistration<Onf14DomNetworkElementFactory> resOnf;
// Blueprint begin
public DeviceManagerOnf14Impl() {
@@ -51,8 +51,7 @@ public class DeviceManagerOnf14Impl implements AutoCloseable {
LOG.info("Session Initiated start {}", APPLICATION_NAME);
- resOnf = netconfNetworkElementService.registerBindingNetworkElementFactory(new Onf14NetworkElementFactory());
-
+ resOnf = netconfNetworkElementService.registerBindingNetworkElementFactory(new Onf14DomNetworkElementFactory());
netconfNetworkElementService.writeToEventLog(APPLICATION_NAME, "startup", "done");
this.devicemanagerInitializationOk = true;
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomAirInterfaceNotificationListener.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomAirInterfaceNotificationListener.java
new file mode 100644
index 000000000..f72158e06
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomAirInterfaceNotificationListener.java
@@ -0,0 +1,168 @@
+/*
+ * ============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.onf14.dom.impl;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.dataprovider.InternalDataModelSeverity;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DMDOMUtility;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DevicemanagerQNames;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
+import org.opendaylight.mdsal.dom.api.DOMNotification;
+import org.opendaylight.mdsal.dom.api.DOMNotificationListener;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EventlogBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SourceType;
+import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
+import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Onf14DomAirInterfaceNotificationListener implements DOMNotificationListener {
+
+ private static final Logger log = LoggerFactory.getLogger(Onf14DomAirInterfaceNotificationListener.class);
+
+ private final NetconfDomAccessor netconfDomAccessor;
+ private final DeviceManagerServiceProvider serviceProvider;
+
+ public Onf14DomAirInterfaceNotificationListener(NetconfDomAccessor netconfDomAccessor,
+ DeviceManagerServiceProvider serviceProvider) {
+ this.netconfDomAccessor = netconfDomAccessor;
+ this.serviceProvider = serviceProvider;
+ }
+
+ @Override
+ public void onNotification(@NonNull DOMNotification domNotification) {
+ if (domNotification.getType()
+ .equals(Absolute.of(Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_CREATE_NOTIFICATION))) {
+ onObjectCreateNotification(domNotification);
+ } else if (domNotification.getType()
+ .equals(Absolute.of(Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_AVC_NOTIFICATION))) {
+ onObjectAVCNotification(domNotification);
+ } else if (domNotification.getType()
+ .equals(Absolute.of(Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION))) {
+ onObjectProblemNotification(domNotification);
+ } else if (domNotification.getType()
+ .equals(Absolute.of(Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_DELETE_NOTIFICATION))) {
+ onObjectDeletionNotification(domNotification);
+ }
+ }
+
+ private void onObjectCreateNotification(@NonNull DOMNotification domNotification) {
+
+ ContainerNode cn = domNotification.getBody();
+
+ EventlogBuilder eventlogBuilder = new EventlogBuilder();
+ eventlogBuilder.setNodeId(netconfDomAccessor.getNodeId().getValue())
+ .setAttributeName(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_CREATE_NOTIFICATION_OBJECT_TYPE))
+ .setCounter(Integer.parseInt(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_CREATE_NOTIFICATION_COUNTER)))
+ .setNewValue("created")
+ .setObjectId(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_CREATE_NOTIFICATION_OBJECT_ID_REF))
+ .setSourceType(SourceType.Netconf).setTimestamp(new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_CREATE_NOTIFICATION_TIMESTAMP)));
+
+ serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
+ serviceProvider.getWebsocketService().sendNotification(domNotification, netconfDomAccessor.getNodeId(),
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_CREATE_NOTIFICATION,
+ new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_CREATE_NOTIFICATION_TIMESTAMP)));
+ log.debug("onObjectCreationNotification log entry written");
+ }
+
+ private void onObjectAVCNotification(@NonNull DOMNotification domNotification) {
+
+ ContainerNode cn = domNotification.getBody();
+ EventlogBuilder eventlogBuilder = new EventlogBuilder();
+ eventlogBuilder.setNodeId(netconfDomAccessor.getNodeId().getValue())
+ .setAttributeName(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_AVC_NOTIFICATION_ATTRIBUTE_NAME))
+ .setCounter(Integer.parseInt(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_AVC_NOTIFICATION_COUNTER)))
+ .setNewValue(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_AVC_NOTIFICATION_NEW_VALUE))
+ .setObjectId(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_AVC_NOTIFICATION_OBJECT_ID_REF))
+ .setSourceType(SourceType.Netconf).setTimestamp(new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_AVC_NOTIFICATION_TIMESTAMP)));
+
+ serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
+ serviceProvider.getWebsocketService().sendNotification(domNotification, netconfDomAccessor.getNodeId(),
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_AVC_NOTIFICATION, new DateAndTime(Onf14DMDOMUtility
+ .getLeafValue(cn, Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_AVC_NOTIFICATION_TIMESTAMP)));
+ log.debug("onAttributeValueChangedNotification log entry written");
+ }
+
+ private void onObjectProblemNotification(@NonNull DOMNotification domNotification) {
+
+ ContainerNode cn = domNotification.getBody();
+ FaultlogEntity faultAlarm =
+ new FaultlogBuilder()
+ .setObjectId(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_OBJECT_ID_REF))
+ .setProblem(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_PROBLEM))
+ .setSourceType(SourceType.Netconf)
+ .setTimestamp(new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_TIMESTAMP)))
+ .setNodeId(this.netconfDomAccessor.getNodeId().getValue())
+ .setSeverity(InternalDataModelSeverity.mapSeverity(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_SEVERITY)))
+ .setCounter(Integer.parseInt(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_COUNTER)))
+ .build();
+
+ serviceProvider.getFaultService().faultNotification(faultAlarm);
+ serviceProvider.getWebsocketService().sendNotification(domNotification, netconfDomAccessor.getNodeId(),
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION,
+ new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_TIMESTAMP)));
+ }
+
+ private void onObjectDeletionNotification(@NonNull DOMNotification domNotification) {
+
+ ContainerNode cn = domNotification.getBody();
+ EventlogBuilder eventlogBuilder = new EventlogBuilder();
+ eventlogBuilder.setNodeId(netconfDomAccessor.getNodeId().getValue()).setAttributeName("")
+ .setCounter(Integer.parseInt(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_DELETE_NOTIFICATION_COUNTER)))
+ .setNewValue("deleted")
+ .setObjectId(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_DELETE_NOTIFICATION_OBJECT_ID_REF))
+
+ .setSourceType(SourceType.Netconf).setTimestamp(new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_DELETE_NOTIFICATION_TIMESTAMP)));
+
+ serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
+ serviceProvider.getWebsocketService().sendNotification(domNotification, netconfDomAccessor.getNodeId(),
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_DELETE_NOTIFICATION,
+ new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_DELETE_NOTIFICATION_TIMESTAMP)));
+
+ log.debug("onObjectDeletionNotification log entry written");
+ }
+
+}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomEthernetContainerNotificationListener.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomEthernetContainerNotificationListener.java
new file mode 100644
index 000000000..218ece4e7
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomEthernetContainerNotificationListener.java
@@ -0,0 +1,151 @@
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.dataprovider.InternalDataModelSeverity;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DMDOMUtility;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DevicemanagerQNames;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
+import org.opendaylight.mdsal.dom.api.DOMNotification;
+import org.opendaylight.mdsal.dom.api.DOMNotificationListener;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EventlogBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SourceType;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
+import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
+import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Onf14DomEthernetContainerNotificationListener implements DOMNotificationListener {
+
+ private static final Logger log = LoggerFactory.getLogger(Onf14DomEthernetContainerNotificationListener.class);
+
+ private final NetconfDomAccessor netconfDomAccessor;
+ private final DeviceManagerServiceProvider serviceProvider;
+
+ public Onf14DomEthernetContainerNotificationListener(NetconfDomAccessor netconfDomAccessor,
+ DeviceManagerServiceProvider serviceProvider) {
+ this.netconfDomAccessor = netconfDomAccessor;
+ this.serviceProvider = serviceProvider;
+ }
+
+ @Override
+ public void onNotification(@NonNull DOMNotification domNotification) {
+ log.debug("Got event of type :: {}", domNotification.getType());
+ if (domNotification.getType()
+ .equals(Absolute.of(Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_CREATE_NOTIFICATION))) {
+ onObjectCreationNotification(domNotification);
+ } else if (domNotification.getType()
+ .equals(Absolute.of(Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION))) {
+ onAttributeValueChangedNotification(domNotification);
+ } else if (domNotification.getType()
+ .equals(Absolute.of(Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION))) {
+ onProblemNotification(domNotification);
+ } else if (domNotification.getType()
+ .equals(Absolute.of(Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_DELETE_NOTIFICATION))) {
+ onObjectDeletionNotification(domNotification);
+ }
+ }
+
+ public void onObjectDeletionNotification(DOMNotification notification) {
+
+ ContainerNode cn = notification.getBody();
+ EventlogBuilder eventlogBuilder = new EventlogBuilder();
+ eventlogBuilder.setNodeId(netconfDomAccessor.getNodeId().getValue()).setAttributeName("")
+ .setCounter(Integer.parseInt(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_DELETE_NOTIFICATION_COUNTER)))
+ .setNewValue("deleted")
+ .setObjectId(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_DELETE_NOTIFICATION_OBJECT_ID_REF))
+
+ .setSourceType(SourceType.Netconf).setTimestamp(new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_DELETE_NOTIFICATION_TIMESTAMP)));
+ serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
+ serviceProvider.getNotificationService().deletionNotification(netconfDomAccessor.getNodeId(),
+ Integer.parseInt(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_DELETE_NOTIFICATION_COUNTER)),
+ new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_DELETE_NOTIFICATION_TIMESTAMP)),
+ Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_DELETE_NOTIFICATION_OBJECT_ID_REF));
+
+ log.debug("onObjectDeletionNotification log entry written");
+ }
+
+ public void onProblemNotification(DOMNotification notification) {
+
+ ContainerNode cn = notification.getBody();
+ FaultlogEntity faultAlarm = new FaultlogBuilder()
+ .setObjectId(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION_OBJECT_ID_REF))
+ .setProblem(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION_PROBLEM))
+ .setTimestamp(new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION_TIMESTAMP)))
+ .setNodeId(this.netconfDomAccessor.getNodeId().getValue()).setSourceType(SourceType.Netconf)
+ .setSeverity(InternalDataModelSeverity.mapSeverity(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION_SEVERITY)))
+ .setCounter(Integer.parseInt(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION_COUNTER)))
+ .build();
+ serviceProvider.getFaultService().faultNotification(faultAlarm);
+ serviceProvider.getWebsocketService()
+ .sendNotification(notification, netconfDomAccessor.getNodeId(),
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION_OBJECT_ID_REF,
+ new DateAndTime(cn.childByArg(new NodeIdentifier(
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION_TIMESTAMP))
+ .body().toString()));
+
+ }
+
+ public void onAttributeValueChangedNotification(DOMNotification notification) {
+
+ ContainerNode cn = notification.getBody();
+ EventlogBuilder eventlogBuilder = new EventlogBuilder();
+ eventlogBuilder.setNodeId(netconfDomAccessor.getNodeId().getValue())
+ .setAttributeName(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION_ATTRIBUTE_NAME))
+ .setCounter(Integer.parseInt(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION_COUNTER)))
+ .setNewValue(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION_NEW_VALUE))
+ .setObjectId(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION_OBJECT_ID_REF))
+ .setSourceType(SourceType.Netconf).setTimestamp(new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION_TIMESTAMP)));
+ serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
+ serviceProvider.getWebsocketService().sendNotification(notification, netconfDomAccessor.getNodeId(),
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION,
+ new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION_TIMESTAMP)));
+
+ log.debug("onAttributeValueChangedNotification log entry written");
+ }
+
+ public void onObjectCreationNotification(DOMNotification notification) {
+
+ ContainerNode cn = notification.getBody();
+ EventlogBuilder eventlogBuilder = new EventlogBuilder();
+ eventlogBuilder.setNodeId(netconfDomAccessor.getNodeId().getValue())
+ .setAttributeName(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_CREATE_NOTIFICATION_OBJECT_ID_REF))
+ .setCounter(Integer.parseInt(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_CREATE_NOTIFICATION_COUNTER)))
+ .setNewValue("created")
+ .setObjectId(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_CREATE_NOTIFICATION_OBJECT_ID_REF))
+
+ .setSourceType(SourceType.Netconf).setTimestamp(new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_CREATE_NOTIFICATION_TIMESTAMP)));
+ serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
+ serviceProvider.getWebsocketService().sendNotification(notification, netconfDomAccessor.getNodeId(),
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_CREATE_NOTIFICATION,
+ new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_CREATE_NOTIFICATION_TIMESTAMP)));
+
+ log.debug("onObjectCreationNotification log entry written");
+ }
+}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14DomNetworkElement.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomNetworkElement.java
index 177f25e1e..56834a13d 100644
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14DomNetworkElement.java
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomNetworkElement.java
@@ -15,66 +15,57 @@
* the License.
* ============LICENSE_END==========================================================================
*/
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl;
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl;
-import java.util.List;
import java.util.Map;
import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.service.NetworkElement;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.service.NetworkElementService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.dataprovider.Onf14ToInternalDataModel;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.equipment.Onf14DomEquipmentManager;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.interfaces.Onf14DomInterfacePacManager;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.dataprovider.Onf14DomToInternalDataModel;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.equipment.Onf14DomEquipmentManager;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.interfaces.Onf14DomInterfacePacManager;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DevicemanagerQNames;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.FaultService;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.NotificationService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.FaultData;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netmod.notification.rev080714.netconf.streams.Stream;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netmod.notification.rev080714.netconf.streams.StreamKey;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.ControlConstruct;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.control.construct.Equipment;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.NetworkElementConnectionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.NetworkElementDeviceType;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
-import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Representation of ONF Core model 1.4 device Top level element is "ControlConstruct" (replaces "NetworkElement" of
- * older ONF Version) NOTE: This class is still under development due to unmet dependencies (especially the ones related
- * to DOM notifications) in ODL. Once the dependencies are complete, this class will replace the ONF14NetworkElement
+ * older ONF Version) NOTE:
*/
public class Onf14DomNetworkElement implements NetworkElement {
private static final Logger log = LoggerFactory.getLogger(Onf14DomNetworkElement.class);
- // protected static final InstanceIdentifier<ControlConstruct> CONTROLCONSTRUCT_IID =
- // InstanceIdentifier.builder(ControlConstruct.class).build();
- protected static final YangInstanceIdentifier CONTROLCONSTRUCT_IID =
- YangInstanceIdentifier.builder().node(ControlConstruct.QNAME).build();
+ protected static final YangInstanceIdentifier TOPLEVELEQUIPMENT_IID =
+ YangInstanceIdentifier.builder().node(Onf14DevicemanagerQNames.CORE_MODEL_CONTROL_CONSTRUCT_CONTAINER)
+ .node(Onf14DevicemanagerQNames.CORE_MODEL_CC_TOP_LEVEL_EQPT).build();
private final NetconfDomAccessor netconfDomAccessor;
private final DataProvider databaseService;
private final @NonNull FaultService faultService;
private final @NonNull NotificationService notificationService;
- private final Onf14ToInternalDataModel onf14Mapper;
+ private final Onf14DomToInternalDataModel onf14Mapper;
private final @NonNull Onf14DomEquipmentManager equipmentManager;
private final @NonNull Onf14DomInterfacePacManager interfacePacManager;
private final @NonNull String namespaceRevision;
- private boolean experimental;
-
-
public Onf14DomNetworkElement(NetconfDomAccessor netconfDomAccessor, DeviceManagerServiceProvider serviceProvider,
String namespaceRevision) {
log.info("Create {}", Onf14DomNetworkElement.class.getSimpleName());
@@ -83,76 +74,26 @@ public class Onf14DomNetworkElement implements NetworkElement {
this.notificationService = serviceProvider.getNotificationService();
this.faultService = serviceProvider.getFaultService();
this.namespaceRevision = namespaceRevision;
- this.onf14Mapper = new Onf14ToInternalDataModel();
+ this.onf14Mapper = new Onf14DomToInternalDataModel();
this.equipmentManager = new Onf14DomEquipmentManager(netconfDomAccessor, databaseService, onf14Mapper);
-
this.interfacePacManager = new Onf14DomInterfacePacManager(netconfDomAccessor, serviceProvider);
- this.experimental = false;
+
}
/**
* reading the inventory (CoreModel 1.4 Equipment Model) and adding it to the DB
*/
public void initialReadFromNetworkElement() {
+ log.info("Calling read equipment");
+ // Read complete device tree
+ readEquipmentData();
+
+ // Read fault data and subscribe for notifications
+ interfacePacManager.register();
+
+ int problems = faultService.removeAllCurrentProblemsOfNode(netconfDomAccessor.getNodeId());
+ log.debug("Removed all {} problems from database at registration", problems);
- //Read complete device tree
- Optional<ControlConstruct> oControlConstruct = readControlConstruct(netconfDomAccessor);
-
- if (oControlConstruct.isPresent()) {
- ControlConstruct controlConstruct = oControlConstruct.get();
-
- equipmentManager.setEquipmentData(controlConstruct);
-
- //-- Start for experimental purpose
- if (experimental) {
- log.warn("Experimental code activated");
- for (UniversalId uuid : equipmentManager.getEquipmentUuidList()) {
- log.info("Read data with id {}", uuid);
- Optional<Equipment> res1 = equipmentManager.readEquipmentInstance(netconfDomAccessor, uuid);
- log.info("Res1: {}", res1.isPresent() ? res1.get() : "No data1");
-
- /*List<DataObject> res2 = equipmentManager.readEquipmentList(netconfDomAccessor);
- log.info("Res2: {}", res2.isPresent() ? res2.get() : "No data2");*/
-
- equipmentManager.readTopLevelEquipment(netconfDomAccessor);
- //Do it only once for test purpose and break
- break;
- }
- List<DataObject> res2 = equipmentManager.readEquipmentList(netconfDomAccessor);
- //log.info("Res2: {}", res2.isPresent() ? res2.get() : "No data2");
- for (DataObject dobj : res2) {
- Equipment eqpt = (Equipment) dobj;
- log.info("Equipment local ID is : {}", eqpt.getLocalId());
- }
-
- equipmentManager.readTopLevelEquipment(netconfDomAccessor);
- }
- //-- End for experimental purpose
-
- // storing all the LTP UUIDs internally, for later usage, for air-interface and ethernet-container
- interfacePacManager.readKeys(controlConstruct);
-
- // Read all fault data
- FaultData resultList = new FaultData();
-
- int problems = faultService.removeAllCurrentProblemsOfNode(netconfDomAccessor.getNodeId());
- log.debug("Removed all {} problems from database at registration", problems);
-
- interfacePacManager.readAllAirInterfaceCurrentProblems(netconfDomAccessor, controlConstruct, resultList);
- problems = resultList.size();
- log.debug("NETCONF read air interface current problems completed. Got back {} problems.", problems);
- /*
- readAllEhernetContainerCurrentProblems(resultList);
- problems = resultList.size() - problems;
- log.debug("NETCONF read current problems completed. Got back {} problems.", resultList.size());
-
- readAllWireInterfaceCurrentProblems(resultList);
- problems = resultList.size();
- log.debug("NETCONF read wire interface current problems completed. Got back {} problems.", problems);
- */
- faultService.initCurrentProblemStatus(netconfDomAccessor.getNodeId(), resultList);
- log.debug("DB write current problems completed");
- }
}
/**
@@ -171,8 +112,6 @@ public class Onf14DomNetworkElement implements NetworkElement {
initialReadFromNetworkElement();
if (netconfDomAccessor.isNotificationsRFC5277Supported()) {
- // register listener
- interfacePacManager.subscribeNotifications();
// Output notification streams to LOG
Map<StreamKey, Stream> streams = netconfDomAccessor.getNotificationStreamsAsMap();
log.info("Available notifications streams: {}", streams);
@@ -184,7 +123,6 @@ public class Onf14DomNetworkElement implements NetworkElement {
@Override
public void deregister() {}
-
@Override
public NodeId getNodeId() {
return netconfDomAccessor.getNodeId();
@@ -208,11 +146,18 @@ public class Onf14DomNetworkElement implements NetworkElement {
return NetworkElementDeviceType.Wireless;
}
- private static Optional<ControlConstruct> readControlConstruct(NetconfDomAccessor netconfDomAccessor) {
- return netconfDomAccessor.readData(LogicalDatastoreType.CONFIGURATION, CONTROLCONSTRUCT_IID,
- ControlConstruct.class);
- }
+ private void readEquipmentData() {
+ Optional<NormalizedNode> topLevelEquipment = readTopLevelEquipment(netconfDomAccessor);
+ log.info("Top level equipment data is {}", topLevelEquipment.isPresent() ? topLevelEquipment.get() : null);
+ if (topLevelEquipment.isPresent()) {
+ equipmentManager.setEquipmentData(topLevelEquipment.get());
+ }
+ }
+ private Optional<NormalizedNode> readTopLevelEquipment(NetconfDomAccessor netconfDomAccessor) {
+ log.info("Reading Top level equipment data");
+ return netconfDomAccessor.readDataNode(LogicalDatastoreType.CONFIGURATION, TOPLEVELEQUIPMENT_IID);
+ }
}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14NetworkElementFactory.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomNetworkElementFactory.java
index ecf53a1fa..b47f56d31 100644
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14NetworkElementFactory.java
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomNetworkElementFactory.java
@@ -2,7 +2,7 @@
* ============LICENSE_START========================================================================
* ONAP : ccsdk feature sdnr wt
* =================================================================================================
- * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * Copyright (C) 2022 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
@@ -16,51 +16,39 @@
* ============LICENSE_END==========================================================================
*/
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl;
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl;
import java.util.Optional;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.factory.NetworkElementFactory;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.service.NetworkElement;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DevicemanagerQNames;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.ControlConstruct;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class Onf14NetworkElementFactory implements NetworkElementFactory {
+public class Onf14DomNetworkElementFactory implements NetworkElementFactory {
- private static final Logger log = LoggerFactory.getLogger(Onf14NetworkElementFactory.class);
- private Optional<Onf14Configuration> configuration = Optional.empty();
+ private static final Logger log = LoggerFactory.getLogger(Onf14DomNetworkElementFactory.class);
@Override
public Optional<NetworkElement> create(NetconfAccessor accessor, DeviceManagerServiceProvider serviceProvider) {
Optional<NetworkElement> ne = Optional.empty();
Capabilities capabilities = accessor.getCapabilites();
- if (capabilities.isSupportingNamespace(ControlConstruct.QNAME)) {
- String namespaceRevision = capabilities.getRevisionForNamespace(ControlConstruct.QNAME);
+ if (capabilities.isSupportingNamespace(Onf14DevicemanagerQNames.CORE_MODEL_CONTROL_CONSTRUCT_CONTAINER)) {
+ String namespaceRevision = capabilities.getRevisionForNamespace(Onf14DevicemanagerQNames.CORE_MODEL_CONTROL_CONSTRUCT_CONTAINER);
- if (configuration.isPresent() && configuration.get().isUseDomApiEnabled()) {
Optional<NetconfDomAccessor> domAccessor = accessor.getNetconfDomAccessor();
if (domAccessor.isPresent()) {
ne = Optional.of(new Onf14DomNetworkElement(domAccessor.get(), serviceProvider, namespaceRevision));
}
- } else {
- Optional<NetconfBindingAccessor> bindingAccessor = accessor.getNetconfBindingAccessor();
- if (bindingAccessor.isPresent()) {
- ne = Optional.of(new Onf14NetworkElement(bindingAccessor.get(), serviceProvider));
- }
- }
+
log.info("Create device:{}", ne.isPresent() ? ne.get().getClass().getSimpleName() : "not");
}
return ne;
}
- @Override
- public void init(DeviceManagerServiceProvider serviceProvider) {
- configuration = Optional.of(new Onf14Configuration(serviceProvider.getConfigurationFileRepresentation()));
- }
}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomWireInterfaceNotificationListener.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomWireInterfaceNotificationListener.java
new file mode 100644
index 000000000..5d148d3a3
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/Onf14DomWireInterfaceNotificationListener.java
@@ -0,0 +1,145 @@
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.dataprovider.InternalDataModelSeverity;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DMDOMUtility;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DevicemanagerQNames;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
+import org.opendaylight.mdsal.dom.api.DOMNotification;
+import org.opendaylight.mdsal.dom.api.DOMNotificationListener;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EventlogBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SourceType;
+import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
+import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Onf14DomWireInterfaceNotificationListener implements DOMNotificationListener {
+
+ private static final Logger log = LoggerFactory.getLogger(Onf14DomWireInterfaceNotificationListener.class);
+
+ private final NetconfDomAccessor netconfDomAccessor;
+ private final DeviceManagerServiceProvider serviceProvider;
+
+ public Onf14DomWireInterfaceNotificationListener(NetconfDomAccessor netconfDomAccessor,
+ DeviceManagerServiceProvider serviceProvider) {
+ this.netconfDomAccessor = netconfDomAccessor;
+ this.serviceProvider = serviceProvider;
+ }
+
+ @Override
+ public void onNotification(@NonNull DOMNotification domNotification) {
+ log.debug("Got event of type :: {}", domNotification.getType());
+ if (domNotification.getType()
+ .equals(Absolute.of(Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_CREATE_NOTIFICATION))) {
+ onObjectCreationNotification(domNotification);
+ } else if (domNotification.getType()
+ .equals(Absolute.of(Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_AVC_NOTIFICATION))) {
+ onAttributeValueChangedNotification(domNotification);
+ } else if (domNotification.getType()
+ .equals(Absolute.of(Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION))) {
+ onProblemNotification(domNotification);
+ } else if (domNotification.getType()
+ .equals(Absolute.of(Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_DELETE_NOTIFICATION))) {
+ onObjectDeletionNotification(domNotification);
+ }
+ }
+
+ public void onObjectDeletionNotification(DOMNotification notification) {
+
+ ContainerNode cn = notification.getBody();
+ EventlogBuilder eventlogBuilder = new EventlogBuilder();
+ eventlogBuilder.setNodeId(netconfDomAccessor.getNodeId().getValue()).setAttributeName("")
+ .setCounter(Integer.parseInt(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_DELETE_NOTIFICATION_COUNTER)))
+ .setNewValue("deleted")
+ .setObjectId(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_DELETE_NOTIFICATION_OBJECT_ID_REF))
+ .setSourceType(SourceType.Netconf).setTimestamp(new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_DELETE_NOTIFICATION_TIMESTAMP)));
+ serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
+ serviceProvider.getWebsocketService().sendNotification(notification, netconfDomAccessor.getNodeId(),
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_DELETE_NOTIFICATION,
+ new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_DELETE_NOTIFICATION_TIMESTAMP)));
+
+ log.debug("onObjectDeletionNotification log entry written");
+ }
+
+ public void onProblemNotification(DOMNotification notification) {
+
+ ContainerNode cn = notification.getBody();
+ FaultlogEntity faultAlarm =
+ new FaultlogBuilder()
+ .setObjectId(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_OBJECT_ID_REF))
+ .setProblem(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_PROBLEM))
+ .setTimestamp(new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_TIMESTAMP)))
+ .setNodeId(this.netconfDomAccessor.getNodeId().getValue()).setSourceType(SourceType.Netconf)
+ .setSeverity(InternalDataModelSeverity.mapSeverity(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_SEVERITY)))
+ .setCounter(Integer.parseInt(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_COUNTER)))
+ .build();
+ serviceProvider.getFaultService().faultNotification(faultAlarm);
+ serviceProvider.getWebsocketService().sendNotification(notification, netconfDomAccessor.getNodeId(),
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION,
+ new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_TIMESTAMP)));
+
+ }
+
+ public void onAttributeValueChangedNotification(DOMNotification notification) {
+
+ ContainerNode cn = notification.getBody();
+ EventlogBuilder eventlogBuilder = new EventlogBuilder();
+ eventlogBuilder.setNodeId(netconfDomAccessor.getNodeId().getValue())
+ .setAttributeName(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_AVC_NOTIFICATION_ATTRIBUTE_NAME))
+ .setCounter(Integer.parseInt(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_COUNTER)))
+ .setNewValue(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_AVC_NOTIFICATION_NEW_VALUE))
+ .setObjectId(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_OBJECT_ID_REF))
+ .setSourceType(SourceType.Netconf).setTimestamp(new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_TIMESTAMP)));
+ serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
+ serviceProvider.getWebsocketService().sendNotification(notification, netconfDomAccessor.getNodeId(),
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_AVC_NOTIFICATION,
+ new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_TIMESTAMP)));
+
+ log.debug("onAttributeValueChangedNotification log entry written");
+ }
+
+ public void onObjectCreationNotification(DOMNotification notification) {
+
+ ContainerNode cn = notification.getBody();
+ EventlogBuilder eventlogBuilder = new EventlogBuilder();
+ eventlogBuilder.setNodeId(netconfDomAccessor.getNodeId().getValue())
+ .setAttributeName(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_CREATE_NOTIFICATION_OBJECT_TYPE))
+ .setCounter(Integer.parseInt(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_COUNTER)))
+ .setNewValue("created")
+ .setObjectId(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_OBJECT_ID_REF))
+
+ .setSourceType(SourceType.Netconf).setTimestamp(new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_TIMESTAMP)));
+ serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
+ serviceProvider.getWebsocketService().sendNotification(notification, netconfDomAccessor.getNodeId(),
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_CREATE_NOTIFICATION,
+ new DateAndTime(Onf14DMDOMUtility.getLeafValue(cn,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_TIMESTAMP)));
+
+ log.debug("onObjectCreationNotification log entry written");
+ }
+}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/dataprovider/InternalDataModelSeverity.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/dataprovider/InternalDataModelSeverity.java
index 97395f496..6d31d7392 100644
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/dataprovider/InternalDataModelSeverity.java
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/dataprovider/InternalDataModelSeverity.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* ONAP : ccsdk features
* ================================================================================
- * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+ * Copyright (C) 2022 highstreet technologies GmbH Intellectual Property.
* All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,35 +19,26 @@
* ============LICENSE_END=========================================================
*
*/
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.dataprovider;
+
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.dataprovider;
import java.util.Map;
-import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.SEVERITYTYPECRITICAL;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.SEVERITYTYPEMAJOR;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.SEVERITYTYPEMINOR;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.SEVERITYTYPEWARNING;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SeverityType;
-import org.opendaylight.yangtools.yang.binding.BaseIdentity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class InternalDataModelSeverity {
- @SuppressWarnings("unused")
- private static final Logger LOG = LoggerFactory.getLogger(InternalDataModelSeverity.class);
-
- private static final Map<String, SeverityType> SEVERITYMAP = Map.of(
- SEVERITYTYPEMAJOR.class.getSimpleName(), SeverityType.Major,
- SEVERITYTYPECRITICAL.class.getSimpleName(), SeverityType.Critical,
- SEVERITYTYPEMINOR.class.getSimpleName(), SeverityType.Minor,
- SEVERITYTYPEWARNING.class.getSimpleName(), SeverityType.Warning);
+ private static Logger log = LoggerFactory.getLogger(InternalDataModelSeverity.class);
+ private static final Map<String, SeverityType> SEVERITYMAP =
+ Map.of("SEVERITY_TYPE_MAJOR", SeverityType.Major, "SEVERITY_TYPE_CRITICAL", SeverityType.Critical,
+ "SEVERITY_TYPE_MINOR", SeverityType.Minor, "SEVERITY_TYPE_WARNING", SeverityType.Warning);
- public static SeverityType mapSeverity(@Nullable Class<? extends BaseIdentity> severity) {
+ public static SeverityType mapSeverity(String severity) {
+ log.debug("Severity is - {}", severity);
SeverityType res = null;
if (severity != null) {
- String severityName = severity.getSimpleName();
- res = severityName != null ? SEVERITYMAP.get(severity.getSimpleName()) : null;
+ res = SEVERITYMAP.get(severity);
}
return res == null ? SeverityType.NonAlarmed : res;
}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/dataprovider/Onf14DomToInternalDataModel.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/dataprovider/Onf14DomToInternalDataModel.java
new file mode 100644
index 000000000..8a75bbc11
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/dataprovider/Onf14DomToInternalDataModel.java
@@ -0,0 +1,126 @@
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.dataprovider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Objects;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DMDOMUtility;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DevicemanagerQNames;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Inventory;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.InventoryBuilder;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.opendaylight.yangtools.yang.common.Uint32;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
+import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
+import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
+import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Onf14DomToInternalDataModel {
+ private static final Logger LOG = LoggerFactory.getLogger(Onf14DomToInternalDataModel.class);
+
+ public Inventory getInternalEquipment(NodeId nodeId, MapEntryNode currentEq, MapEntryNode parentEq,
+ long treeLevel) {
+
+ Objects.requireNonNull(nodeId);
+ Objects.requireNonNull(currentEq);
+
+ InventoryBuilder inventoryBuilder = new InventoryBuilder();
+ String parentUuid = parentEq != null ? Onf14DMDOMUtility.getUuidFromEquipment(parentEq) : "None";
+
+ // General
+ inventoryBuilder.setNodeId(nodeId.getValue());
+ inventoryBuilder.setTreeLevel(Uint32.valueOf(treeLevel));
+ inventoryBuilder.setUuid(Onf14DMDOMUtility.getUuidFromEquipment(currentEq));
+ inventoryBuilder.setParentUuid(parentUuid);
+
+ List<String> containedHolderKeyList = new ArrayList<>();
+ MapNode containedHolderMap = (MapNode) currentEq
+ .childByArg(new NodeIdentifier(Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_CONTAINED_HOLDER));
+ if (containedHolderMap != null) {
+ Collection<MapEntryNode> containedHolderCollection = containedHolderMap.body();
+ for (MapEntryNode holder : containedHolderCollection) {
+ String occupyingFru = Onf14DMDOMUtility.getLeafValue(holder,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_OCCUPYING_FRU);
+
+ if (occupyingFru != null) {
+ containedHolderKeyList.add(occupyingFru);
+ }
+ }
+ }
+ inventoryBuilder.setContainedHolder(containedHolderKeyList);
+
+ // actual-equipment
+ ContainerNode actualEquipment = (ContainerNode) currentEq
+ .childByArg(new NodeIdentifier(Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_ACTUAL_EQUIPMENT));
+ if (actualEquipment != null) {
+ ContainerNode manThing = (ContainerNode) actualEquipment
+ .childByArg(new NodeIdentifier(Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_MANUFACTURED_THING));
+ if (manThing != null) {
+ // Manufacturer properties
+ ContainerNode props = (ContainerNode) manThing
+ .childByArg(new NodeIdentifier(Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_MANUFACTURER_PROPS));
+ if (props != null) {
+ inventoryBuilder.setManufacturerName(Onf14DMDOMUtility.getLeafValue(props,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_MANUFACTURER_NAME));
+
+ inventoryBuilder.setManufacturerIdentifier(Onf14DMDOMUtility.getLeafValue(props,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_MANUFACTURER_ID));
+
+ } else {
+ LOG.debug("manufacturer-properties is not present in Equipment with uuid={}",
+ Onf14DMDOMUtility.getUuidFromEquipment(currentEq));
+ }
+
+ // Equipment instance
+ ContainerNode equipmentInstance = (ContainerNode) manThing.childByArg(
+ new NodeIdentifier(Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_INSTANCE));
+ if (equipmentInstance != null) {
+ inventoryBuilder.setSerial(Onf14DMDOMUtility.getLeafValue(equipmentInstance,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_INSTANCE_SERIAL_NUM));
+
+ inventoryBuilder.setDate(Onf14DMDOMUtility.getLeafValue(equipmentInstance,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_INSTANCE_MANUFACTURED_DATE));
+
+ } else {
+ LOG.debug("equipment-instance is not present in Equipment with uuid={}",
+ Onf14DMDOMUtility.getUuidFromEquipment(currentEq));
+ }
+
+ // Equipment type
+ ContainerNode equipmentType = (ContainerNode) manThing.childByArg(
+ new NodeIdentifier(Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_TYPE));
+ if (equipmentType != null) {
+ inventoryBuilder.setVersion(Onf14DMDOMUtility.getLeafValue(equipmentType,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_TYPE_VERSION));
+
+ inventoryBuilder.setDescription(Onf14DMDOMUtility.getLeafValue(equipmentType,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_TYPE_DESCRIPTION));
+
+ inventoryBuilder.setPartTypeId(Onf14DMDOMUtility.getLeafValue(equipmentType,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_TYPE_PART_TYPE_ID));
+
+ inventoryBuilder.setModelIdentifier(Onf14DMDOMUtility.getLeafValue(equipmentType,
+
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_TYPE_MODEL_ID));
+
+ inventoryBuilder.setTypeName(Onf14DMDOMUtility.getLeafValue(equipmentType,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_TYPE_TYPE_NAME));
+
+ } else {
+ LOG.debug("equipment-type is not present in Equipment with uuid={}",
+ Onf14DMDOMUtility.getUuidFromEquipment(currentEq));
+ }
+ } else {
+ LOG.debug("manufactured-thing is not present in Equipment with uuid={}",
+ Onf14DMDOMUtility.getUuidFromEquipment(currentEq));
+ }
+ } else {
+ LOG.debug("actual-equipment is not present in Equipment with uuid={}",
+ Onf14DMDOMUtility.getUuidFromEquipment(currentEq));
+ }
+
+ return inventoryBuilder.build();
+ }
+}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/equipment/Onf14DomEquipmentManager.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/equipment/Onf14DomEquipmentManager.java
new file mode 100644
index 000000000..8f7a44858
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/equipment/Onf14DomEquipmentManager.java
@@ -0,0 +1,171 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * 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.onf14.dom.impl.equipment;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.dataprovider.Onf14DomToInternalDataModel;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DMDOMUtility;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DevicemanagerQNames;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Inventory;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.InstanceIdentifierBuilder;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
+import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
+import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
+import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
+import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Onf14DomEquipmentManager {
+
+ private static final Logger log = LoggerFactory.getLogger(Onf14DomEquipmentManager.class);
+ private static final int EQUIPMENTROOTLEVEL = 0;
+
+ private final NetconfDomAccessor netconfDomAccessor;
+ private final DataProvider databaseService;
+ private final Onf14DomToInternalDataModel onf14Mapper;
+ private final List<String> equipmentUuidList;
+
+ public Onf14DomEquipmentManager(NetconfDomAccessor netconfDomAccessor, DataProvider databaseService,
+ Onf14DomToInternalDataModel onf14Mapper) {
+ super();
+ this.netconfDomAccessor = Objects.requireNonNull(netconfDomAccessor);
+ this.databaseService = Objects.requireNonNull(databaseService);
+ this.onf14Mapper = Objects.requireNonNull(onf14Mapper);
+
+ this.equipmentUuidList = new ArrayList<>();
+ }
+
+ public List<String> getEquipmentUuidList() {
+ return equipmentUuidList;
+ }
+
+ private List<Inventory> collectEquipment(List<Inventory> list, MapEntryNode currentEq, MapEntryNode parentEq,
+ long treeLevel) {
+
+ // if the Equipment UUID is already in the list, it was already processed
+ // needed for solving possible circular dependencies
+ if (equipmentUuidList.contains(Onf14DMDOMUtility.getUuidFromEquipment(currentEq))) {
+ log.debug("Not adding equipment with uuid {} because it was aleady added...",
+ Onf14DMDOMUtility.getUuidFromEquipment(currentEq));
+ return list;
+ }
+
+ // we add this to our internal list, such that we avoid circular dependencies
+ equipmentUuidList.add(Onf14DMDOMUtility.getUuidFromEquipment(currentEq));
+ log.debug("Adding equipment with uuid {} to the database...",
+ Onf14DMDOMUtility.getUuidFromEquipment(currentEq));
+
+ // we add our current equipment to the database
+ list.add(onf14Mapper.getInternalEquipment(netconfDomAccessor.getNodeId(), currentEq, parentEq, treeLevel));
+
+ // we iterate the kids of our current equipment and add them to the database
+ // recursively
+ // the actual reference is here:
+ // /core-model:control-construct/equipment/contained-holder/occupying-fru
+
+ MapNode containedHolderMap = (MapNode) currentEq
+ .childByArg(new NodeIdentifier(Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_CONTAINED_HOLDER));
+ if (containedHolderMap != null) {
+ Collection<MapEntryNode> containedHolderCollection = containedHolderMap.body();
+ for (MapEntryNode holder : containedHolderCollection) {
+ String occupyingFru = Onf14DMDOMUtility.getLeafValue(holder,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_OCCUPYING_FRU);
+
+ if (occupyingFru != null) {
+ Optional<NormalizedNode> childEq = readEquipmentInstance(netconfDomAccessor, occupyingFru);
+ if (childEq.isPresent()) {
+ // current becomes parent and tree level increases by 1
+ collectEquipment(list, (MapEntryNode) childEq.get(), currentEq, treeLevel + 1);
+ }
+ }
+ }
+ }
+
+ return list;
+ }
+
+ // public methods
+ /**
+ * Set all equipment data from controlConstruct into database and into this manager.
+ *
+ * @param controlConstruct with complete device data
+ */
+ public void setEquipmentData(NormalizedNode controlConstruct) {
+ Objects.requireNonNull(controlConstruct);
+
+ // the top-level-equipment list contains the root objects of the Equipment Model
+ log.debug("Getting list of topLevelEquipment for mountpoint {}", netconfDomAccessor.getNodeId());
+ // adding all root Equipment objects to the DB
+ List<Inventory> inventoryList = new ArrayList<>();
+ for (String uuid : getTopLevelEquipment(controlConstruct)) {
+ Optional<NormalizedNode> equipment = readEquipmentInstance(netconfDomAccessor, uuid);
+ MapEntryNode equipmentEntry = (MapEntryNode) equipment.get();
+ if (equipmentEntry != null) {
+ collectEquipment(inventoryList, equipmentEntry, null, EQUIPMENTROOTLEVEL);
+ }
+ }
+ this.databaseService.writeInventory(netconfDomAccessor.getNodeId().getValue(), inventoryList);
+
+ }
+
+ private List<String> getTopLevelEquipment(NormalizedNode transformedInput) {
+ List<String> topLvlEqptList = new ArrayList<>();
+ Collection<?> topLevelEqptListColl = (Collection<?>) transformedInput.body();
+ Iterator<?> childEntryItr = topLevelEqptListColl.iterator();
+ while (childEntryItr.hasNext()) {
+ LeafSetEntryNode<?> childEntryNode = (LeafSetEntryNode<?>) childEntryItr.next();
+ topLvlEqptList.add((String) childEntryNode.body());
+ }
+ return topLvlEqptList;
+ }
+
+ /**
+ * @param accessData to access device
+ * @param equipmentUuid uuid of equipment to be read
+ * @return Optional Equipment
+ */
+ private Optional<NormalizedNode> readEquipmentInstance(NetconfDomAccessor accessData, String equipmentUuid) {
+
+ log.info("DBRead Get equipment from mountpoint {} for uuid {}", accessData.getNodeId().getValue(),
+ equipmentUuid);
+
+ InstanceIdentifierBuilder equipmentIIDBuilder = YangInstanceIdentifier.builder()
+ .node(Onf14DevicemanagerQNames.CORE_MODEL_CONTROL_CONSTRUCT_CONTAINER)
+ .node(Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT)
+ .nodeWithKey(Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT,
+ QName.create(Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT, "uuid").intern(), equipmentUuid);
+
+ return accessData.readDataNode(LogicalDatastoreType.CONFIGURATION, equipmentIIDBuilder.build());
+ }
+
+}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/interfaces/Onf14DomInterfacePacManager.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/interfaces/Onf14DomInterfacePacManager.java
new file mode 100644
index 000000000..eed6f5da3
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/interfaces/Onf14DomInterfacePacManager.java
@@ -0,0 +1,458 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2022 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.onf14.dom.impl.interfaces;
+
+import com.google.common.collect.Sets;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import org.eclipse.jdt.annotation.NonNull;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.Onf14DomAirInterfaceNotificationListener;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.Onf14DomEthernetContainerNotificationListener;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.Onf14DomWireInterfaceNotificationListener;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.dataprovider.InternalDataModelSeverity;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Debug;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DMDOMUtility;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util.Onf14DevicemanagerQNames;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.FaultService;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.FaultData;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.InstanceIdentifierBuilder;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
+import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
+import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
+import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
+import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/*
+* Notifications streams provided by device NTSSim ONF14
+* Stream{getName=StreamNameType{_value=nc-notifications}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=hybrid-mw-structure-2-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=vlan-interface-1-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=tdm-container-2-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=ethernet-container-2-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=ietf-yang-library}, isReplaySupport=false, augmentation=[]},
+* Stream{getDescription=Default NETCONF stream containing all the Event Notifications., getName=StreamNameType{_value=NETCONF}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=vlan-fd-1-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=wire-interface-2-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=mac-fd-1-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=co-channel-profile-1-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=mac-interface-1-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=ietf-keystore}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=pure-ethernet-structure-2-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=ietf-netconf-notifications}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=mac-fc-1-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=wred-profile-1-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=air-interface-2-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=ip-interface-1-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=qos-profile-1-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=vlan-fc-1-0}, isReplaySupport=true, augmentation=[]},
+* Stream{getName=StreamNameType{_value=l-3vpn-profile-1-0}, isReplaySupport=true, augmentation=[]}]
+*/
+
+public class Onf14DomInterfacePacManager {
+
+ private static final Logger log = LoggerFactory.getLogger(Onf14DomInterfacePacManager.class);
+
+ private static final YangInstanceIdentifier LTP_IID =
+ YangInstanceIdentifier.builder().node(Onf14DevicemanagerQNames.CORE_MODEL_CONTROL_CONSTRUCT_CONTAINER)
+ .node(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP).build();
+
+ private final NetconfDomAccessor netconfDomAccessor;
+ private final @NonNull DeviceManagerServiceProvider serviceProvider;
+
+ // air interface related members
+ private final List<TechnologySpecificPacKeys> airInterfaceList = new ArrayList<>();
+ @NonNull
+ private final Onf14DomAirInterfaceNotificationListener airInterfaceNotificationListener;
+
+ // ethernet container related members
+ private final List<TechnologySpecificPacKeys> ethernetContainerList = new ArrayList<>();
+ @NonNull
+ private final Onf14DomEthernetContainerNotificationListener ethernetContainerNotificationListener;
+
+ // wire interface related members
+ private final List<TechnologySpecificPacKeys> wireInterfaceList = new ArrayList<>();
+ @NonNull
+ private final Onf14DomWireInterfaceNotificationListener wireInterfaceNotificationListener;
+
+ private final @NonNull FaultService faultService;
+
+ public Onf14DomInterfacePacManager(@NonNull NetconfDomAccessor netconfDomAccessor,
+ @NonNull DeviceManagerServiceProvider serviceProvider) {
+
+ this.netconfDomAccessor = Objects.requireNonNull(netconfDomAccessor);
+ this.serviceProvider = Objects.requireNonNull(serviceProvider);
+ this.faultService = Objects.requireNonNull(serviceProvider.getFaultService());
+
+ this.airInterfaceNotificationListener =
+ new Onf14DomAirInterfaceNotificationListener(netconfDomAccessor, serviceProvider);
+ this.ethernetContainerNotificationListener =
+ new Onf14DomEthernetContainerNotificationListener(netconfDomAccessor, serviceProvider);
+ this.wireInterfaceNotificationListener =
+ new Onf14DomWireInterfaceNotificationListener(netconfDomAccessor, serviceProvider);
+ }
+
+ public void register() {
+ // storing all the LTP UUIDs internally, for later usage, for air-interface and
+ // ethernet-container and wire-interface
+ readKeys();
+ readAndWriteInterfaceCurrentProblems();
+ registerForNotifications();
+ }
+
+ private void readAndWriteInterfaceCurrentProblems() {
+ // Read all fault data
+ FaultData resultList = new FaultData();
+ int problems;
+ readAllAirInterfaceCurrentProblems(resultList);
+ problems = resultList.size();
+ log.debug("NETCONF read air interface current problems completed. Got back {} problems.", problems);
+
+ readAllEhernetContainerCurrentProblems(resultList);
+ problems = resultList.size() - problems;
+ log.debug("NETCONF read current problems completed. Got back {} problems.", problems);
+
+ readAllWireInterfaceCurrentProblems(resultList);
+ problems = resultList.size();
+ log.debug("NETCONF read wire interface current problems completed. Got back {} problems.", problems);
+
+ faultService.initCurrentProblemStatus(netconfDomAccessor.getNodeId(), resultList);
+ log.debug("DB write current problems completed");
+
+ }
+
+ private void readKeys() {
+ Optional<NormalizedNode> ltpData = readLtpData(netconfDomAccessor);
+ log.info("LTP Data is - {}", ltpData);
+ if (ltpData.isPresent()) {
+ log.debug("In readKeys - ltpData = {}", ltpData.get());
+
+ MapNode ccLtp = (MapNode) ltpData.get();
+ if (ccLtp != null) {
+ log.debug("Iterating the LTP list for node {}", netconfDomAccessor.getNodeId().getValue());
+ Collection<MapEntryNode> ltpList = ccLtp.body();
+
+ // iterating all the Logical Termination Point list
+ for (MapEntryNode ltp : ltpList) {
+ MapNode lpList = (MapNode) ltp
+ .childByArg(new NodeIdentifier(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL));
+ // the Layer Protocol list should contain only one item, since we have an 1:1
+ // relationship between the LTP and the LP
+ if (lpList != null && lpList.size() != 1) {
+ log.debug("Layer protocol has no 1:1 relationship with the LTP.");
+ return;
+ }
+ // accessing the LP, which should be only 1
+ Collection<MapEntryNode> lp = lpList.body();
+ for (MapEntryNode lpEntry : lp) {
+ String layerProtocolName = Onf14DMDOMUtility.getLeafValue(lpEntry,
+
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL_NAME);
+ if (layerProtocolName != null) {
+ // if the LTP has an airInterface technology extension, the layer protocol name
+ // is air-layer
+ if (layerProtocolName.contains("LAYER_PROTOCOL_NAME_TYPE_AIR_LAYER")) {
+ TechnologySpecificPacKeys airInterfaceKey = new TechnologySpecificPacKeys(
+ Onf14DMDOMUtility.getLeafValue(ltp,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_UUID),
+ Onf14DMDOMUtility.getLeafValue(lpEntry,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL_LOCAL_ID));
+ airInterfaceList.add(airInterfaceKey);
+ log.debug("Adding Ltp with uuid {} and local-id {} to the air-interface list",
+ Onf14DMDOMUtility.getLeafValue(ltp,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_UUID),
+ Onf14DMDOMUtility.getLeafValue(lpEntry,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL_LOCAL_ID));
+ }
+ // if the LTP has an ethernetContainier technology extension, the layer protocol
+ // name is ethernet-container-layer
+ else if (layerProtocolName.contains("LAYER_PROTOCOL_NAME_TYPE_ETHERNET_CONTAINER_LAYER")) {
+ TechnologySpecificPacKeys ethernetContainerKey = new TechnologySpecificPacKeys(
+ Onf14DMDOMUtility.getLeafValue(ltp,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_UUID),
+ Onf14DMDOMUtility.getLeafValue(lpEntry,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL_LOCAL_ID));
+ ethernetContainerList.add(ethernetContainerKey);
+ log.debug("Adding Ltp with uuid {} and local-id {} to the ethernet-container list",
+ Onf14DMDOMUtility.getLeafValue(ltp,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_UUID),
+ Onf14DMDOMUtility.getLeafValue(lpEntry,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL_LOCAL_ID));
+ } else if (layerProtocolName.contains("LAYER_PROTOCOL_NAME_TYPE_WIRE_LAYER")) {
+ TechnologySpecificPacKeys wireInterfaceKey = new TechnologySpecificPacKeys(
+ Onf14DMDOMUtility.getLeafValue(ltp,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_UUID),
+ Onf14DMDOMUtility.getLeafValue(lpEntry,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL_LOCAL_ID));
+ wireInterfaceList.add(wireInterfaceKey);
+ log.debug("Adding Ltp with uuid {} and local-id {} to the wire-interface list",
+ Onf14DMDOMUtility.getLeafValue(ltp,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_UUID),
+ Onf14DMDOMUtility.getLeafValue(lpEntry,
+ Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL_LOCAL_ID));
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ private void readAllAirInterfaceCurrentProblems(FaultData resultList) {
+
+ int idxStart; // Start index for debug messages
+
+ for (TechnologySpecificPacKeys key : airInterfaceList) {
+ idxStart = resultList.size();
+
+ readAirInterfaceCurrentProblemForLtp(key.getLtpUuid(), key.getLocalId(), resultList);
+ Debug.debugResultList(key.getLtpUuid(), resultList, idxStart);
+ }
+ }
+
+ private void readAllEhernetContainerCurrentProblems(FaultData resultList) {
+
+ int idxStart; // Start index for debug messages
+
+ for (TechnologySpecificPacKeys key : ethernetContainerList) {
+ idxStart = resultList.size();
+
+ readEthernetContainerCurrentProblemForLtp(key.getLtpUuid(), key.getLocalId(), resultList);
+ Debug.debugResultList(key.getLtpUuid(), resultList, idxStart);
+ }
+ }
+
+ private void readAllWireInterfaceCurrentProblems(FaultData resultList) {
+
+ int idxStart; // Start index for debug messages
+
+ for (TechnologySpecificPacKeys key : wireInterfaceList) {
+ idxStart = resultList.size();
+
+ readWireInterfaceCurrentProblemForLtp(key.getLtpUuid(), key.getLocalId(), resultList);
+ Debug.debugResultList(key.getLtpUuid(), resultList, idxStart);
+ }
+ }
+
+ private void readAirInterfaceCurrentProblemForLtp(String ltpUuid, String localId, FaultData resultList) {
+
+ log.info("DBRead Get current problems for class {} from mountpoint {} for LTP uuid {} and local-id {}",
+ Onf14DevicemanagerQNames.AIR_INTERFACE_2_0_MODULE, netconfDomAccessor.getNodeId().getValue(), ltpUuid,
+ localId);
+
+ // constructing the IID needs the augmentation exposed by the air-interface-2-0
+ // model
+
+ InstanceIdentifierBuilder layerProtocolIID =
+ YangInstanceIdentifier.builder().node(Onf14DevicemanagerQNames.CORE_MODEL_CONTROL_CONSTRUCT_CONTAINER)
+ .node(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP)
+ .nodeWithKey(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP,
+ QName.create(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP, "uuid").intern(), ltpUuid)
+ .node(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL)
+ .nodeWithKey(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL, QName
+ .create(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL, "local-id").intern(),
+ localId);
+
+ @NonNull
+ AugmentationIdentifier airInterfacePacIID = YangInstanceIdentifier.AugmentationIdentifier
+ .create(Sets.newHashSet(Onf14DevicemanagerQNames.AIR_INTERFACE_PAC));
+
+ InstanceIdentifierBuilder augmentedAirInterfacePacIID =
+ YangInstanceIdentifier.builder(layerProtocolIID.build()).node(airInterfacePacIID);
+
+ // reading all the current-problems list for this specific LTP and LP
+ Optional<NormalizedNode> airInterfacePacDataOpt =
+ netconfDomAccessor.readDataNode(LogicalDatastoreType.OPERATIONAL, augmentedAirInterfacePacIID.build());
+
+ if (airInterfacePacDataOpt.isPresent()) {
+ AugmentationNode airInterfacePacData = (AugmentationNode) airInterfacePacDataOpt.get();
+
+ MapNode airInterfaceCurrentProblemsList = (MapNode) airInterfacePacData
+ .childByArg(new NodeIdentifier(Onf14DevicemanagerQNames.AIR_INTERFACE_CURRENT_PROBLEMS_LIST));
+ if (airInterfaceCurrentProblemsList != null) {
+ Collection<MapEntryNode> airInterfaceProblemsCollection = airInterfaceCurrentProblemsList.body();
+ for (MapEntryNode airInterfaceProblem : airInterfaceProblemsCollection) {
+ resultList.add(netconfDomAccessor.getNodeId(),
+ Integer.parseInt(Onf14DMDOMUtility.getLeafValue(airInterfaceProblem,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_CURRENT_PROBLEMS_SEQ_NO)),
+ new DateAndTime(Onf14DMDOMUtility.getLeafValue(airInterfaceProblem,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_CURRENT_PROBLEMS_TIMESTAMP)),
+ ltpUuid,
+ Onf14DMDOMUtility.getLeafValue(airInterfaceProblem,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_CURRENT_PROBLEMS_PROBLEM_NAME),
+ InternalDataModelSeverity.mapSeverity(Onf14DMDOMUtility.getLeafValue(airInterfaceProblem,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_CURRENT_PROBLEMS_PROBLEM_SEVERITY)));
+ }
+ } else {
+ log.debug("DBRead Id {} empty CurrentProblemList", ltpUuid);
+ }
+ }
+ }
+
+ private void readEthernetContainerCurrentProblemForLtp(String ltpUuid, String localId, FaultData resultList) {
+
+ log.info(
+ "DBRead Get current problems for Ethernet Container from mountpoint {} for LTP uuid {} and local-id {}",
+ netconfDomAccessor.getNodeId().getValue(), ltpUuid, localId);
+
+ // constructing the IID needs the augmentation exposed by the
+ // ethernet-container-2-0 model
+ InstanceIdentifierBuilder layerProtocolIID =
+ YangInstanceIdentifier.builder().node(Onf14DevicemanagerQNames.CORE_MODEL_CONTROL_CONSTRUCT_CONTAINER)
+ .node(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP)
+ .nodeWithKey(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP,
+ QName.create(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP, "uuid").intern(), ltpUuid)
+ .node(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL)
+ .nodeWithKey(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL, QName
+ .create(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL, "local-id").intern(),
+ localId);
+
+ @NonNull
+ AugmentationIdentifier ethernetContainerIID = YangInstanceIdentifier.AugmentationIdentifier
+ .create(Sets.newHashSet(Onf14DevicemanagerQNames.ETHERNET_CONTAINER_PAC));
+
+ InstanceIdentifierBuilder augmentedEthernetContainerConfigurationIID =
+ YangInstanceIdentifier.builder(layerProtocolIID.build()).node(ethernetContainerIID);
+
+ // reading all the current-problems list for this specific LTP and LP
+ Optional<NormalizedNode> etherntContainerConfigurationOpt = netconfDomAccessor
+ .readDataNode(LogicalDatastoreType.OPERATIONAL, augmentedEthernetContainerConfigurationIID.build());
+
+ if (etherntContainerConfigurationOpt.isPresent()) {
+ AugmentationNode etherntContainerConfiguration = (AugmentationNode) etherntContainerConfigurationOpt.get();
+ MapNode ethernetContainerCurrentProblemsList = (MapNode) etherntContainerConfiguration
+ .childByArg(new NodeIdentifier(Onf14DevicemanagerQNames.ETHERNET_CONTAINER_CURRENT_PROBLEMS_LIST));
+ if (ethernetContainerCurrentProblemsList != null) {
+ Collection<MapEntryNode> ethernetContainerProblemsCollection =
+ ethernetContainerCurrentProblemsList.body();
+ for (MapEntryNode ethernetContainerProblem : ethernetContainerProblemsCollection) {
+ resultList.add(netconfDomAccessor.getNodeId(),
+ Integer.parseInt(Onf14DMDOMUtility.getLeafValue(ethernetContainerProblem,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_CURRENT_PROBLEMS_SEQ_NO)),
+ new DateAndTime(Onf14DMDOMUtility.getLeafValue(ethernetContainerProblem,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_CURRENT_PROBLEMS_TIMESTAMP)),
+ ltpUuid,
+ Onf14DMDOMUtility.getLeafValue(ethernetContainerProblem,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_CURRENT_PROBLEMS_PROBLEM_NAME),
+ InternalDataModelSeverity.mapSeverity(Onf14DMDOMUtility.getLeafValue(
+ ethernetContainerProblem,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_CURRENT_PROBLEMS_PROBLEM_SEVERITY)));
+ }
+ } else {
+ log.debug("DBRead Id {} empty CurrentProblemList", ltpUuid);
+ }
+ }
+
+ }
+
+ private void readWireInterfaceCurrentProblemForLtp(String ltpUuid, String localId, FaultData resultList) {
+
+ log.info("DBRead Get current problems for Wire Interface from mountpoint {} for LTP uuid {} and local-id {}",
+ netconfDomAccessor.getNodeId().getValue(), ltpUuid, localId);
+
+ // constructing the IID needs the augmentation exposed by the wire-interface-2-0
+ // model
+ InstanceIdentifierBuilder layerProtocolIID =
+ YangInstanceIdentifier.builder().node(Onf14DevicemanagerQNames.CORE_MODEL_CONTROL_CONSTRUCT_CONTAINER)
+ .node(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP)
+ .nodeWithKey(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP,
+ QName.create(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP, "uuid").intern(), ltpUuid)
+ .node(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL)
+ .nodeWithKey(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL, QName
+ .create(Onf14DevicemanagerQNames.CORE_MODEL_CC_LTP_LAYER_PROTOCOL, "local-id").intern(),
+ localId);
+
+ @NonNull
+ AugmentationIdentifier wireInterfacePacIID = YangInstanceIdentifier.AugmentationIdentifier
+ .create(Sets.newHashSet(Onf14DevicemanagerQNames.WIRE_INTERFACE_PAC));
+
+ InstanceIdentifierBuilder augmentedWireInterfaceConfigurationIID =
+ YangInstanceIdentifier.builder(layerProtocolIID.build()).node(wireInterfacePacIID);
+
+ // reading all the current-problems list for this specific LTP and LP
+ Optional<NormalizedNode> wireInterfaceConfigurationOpt = netconfDomAccessor
+ .readDataNode(LogicalDatastoreType.OPERATIONAL, augmentedWireInterfaceConfigurationIID.build());
+
+ if (wireInterfaceConfigurationOpt.isPresent()) {
+ AugmentationNode wireInterfaceConfiguration = (AugmentationNode) wireInterfaceConfigurationOpt.get();
+ MapNode wireInterfaceCurrentProblemsList = (MapNode) wireInterfaceConfiguration
+ .childByArg(new NodeIdentifier(Onf14DevicemanagerQNames.WIRE_INTERFACE_CURRENT_PROBLEMS_LIST));
+ if (wireInterfaceCurrentProblemsList != null) {
+ Collection<MapEntryNode> wireInterfaceProblemsCollection = wireInterfaceCurrentProblemsList.body();
+ for (MapEntryNode wireInterfaceProblem : wireInterfaceProblemsCollection) {
+ resultList.add(netconfDomAccessor.getNodeId(),
+ Integer.parseInt(Onf14DMDOMUtility.getLeafValue(wireInterfaceProblem,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_CURRENT_PROBLEMS_SEQ_NO)),
+ new DateAndTime(Onf14DMDOMUtility.getLeafValue(wireInterfaceProblem,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_CURRENT_PROBLEMS_TIMESTAMP)),
+ ltpUuid,
+ Onf14DMDOMUtility.getLeafValue(wireInterfaceProblem,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_CURRENT_PROBLEMS_PROBLEM_NAME),
+ InternalDataModelSeverity.mapSeverity(Onf14DMDOMUtility.getLeafValue(wireInterfaceProblem,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_CURRENT_PROBLEMS_PROBLEM_SEVERITY)));
+ }
+ } else {
+ log.debug("DBRead Id {} empty CurrentProblemList", ltpUuid);
+ }
+ }
+
+ }
+
+ private void registerForNotifications() {
+ QName[] airInterfaceNotifications = {Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_CREATE_NOTIFICATION,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_AVC_NOTIFICATION,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_DELETE_NOTIFICATION,
+ Onf14DevicemanagerQNames.AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION};
+ netconfDomAccessor.doRegisterNotificationListener(airInterfaceNotificationListener, airInterfaceNotifications);
+
+ QName[] ethernetContainerNotifications =
+ {Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_CREATE_NOTIFICATION,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_DELETE_NOTIFICATION,
+ Onf14DevicemanagerQNames.ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION};
+ netconfDomAccessor.doRegisterNotificationListener(ethernetContainerNotificationListener,
+ ethernetContainerNotifications);
+
+ QName[] wireInterfaceNotifications = {Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_CREATE_NOTIFICATION,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_AVC_NOTIFICATION,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_DELETE_NOTIFICATION,
+ Onf14DevicemanagerQNames.WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION};
+ netconfDomAccessor.doRegisterNotificationListener(wireInterfaceNotificationListener,
+ wireInterfaceNotifications);
+ }
+
+ public Optional<NormalizedNode> readLtpData(NetconfDomAccessor netconfDomAccessor) {
+ log.info("Reading Logical Termination Point data");
+ return netconfDomAccessor.readDataNode(LogicalDatastoreType.CONFIGURATION, LTP_IID);
+ }
+}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/TechnologySpecificPacKeys.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/interfaces/TechnologySpecificPacKeys.java
index 552ba6604..3fcc332c0 100644
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/TechnologySpecificPacKeys.java
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/interfaces/TechnologySpecificPacKeys.java
@@ -19,24 +19,23 @@
* ============LICENSE_END=========================================================
*
*/
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.interfaces;
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.interfaces;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.UniversalId;
/**
* Defining a structure that can map the LP local-id and its corresponding LTP uuid
*/
-class TechnologySpecificPacKeys {
+public class TechnologySpecificPacKeys {
- private UniversalId ltpUuid;
+ private String ltpUuid;
private String localId;
- public TechnologySpecificPacKeys(UniversalId uuid, String lId) {
+ public TechnologySpecificPacKeys(String uuid, String lId) {
this.ltpUuid = uuid;
this.localId = lId;
}
- public UniversalId getLtpUuid() {
+ public String getLtpUuid() {
return ltpUuid;
}
@@ -44,7 +43,7 @@ class TechnologySpecificPacKeys {
return localId;
}
- public void setLtpUuid(UniversalId uuid) {
+ public void setLtpUuid(String uuid) {
this.ltpUuid = uuid;
}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/util/Debug.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/util/Debug.java
index efa3cf169..978c71e31 100644
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/util/Debug.java
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/util/Debug.java
@@ -19,7 +19,7 @@
* ============LICENSE_END=========================================================
*
*/
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.util;
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.FaultData;
import org.slf4j.Logger;
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/util/Onf14DMDOMUtility.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/util/Onf14DMDOMUtility.java
new file mode 100644
index 000000000..1cae567ff
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/util/Onf14DMDOMUtility.java
@@ -0,0 +1,77 @@
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util;
+
+import com.google.common.base.VerifyException;
+import java.time.Instant;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import org.opendaylight.mdsal.dom.api.DOMEvent;
+import org.opendaylight.mdsal.dom.api.DOMNotification;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
+import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
+import org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode;
+import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
+import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
+import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Onf14DMDOMUtility {
+
+ public static final Logger LOG = LoggerFactory.getLogger(Onf14DMDOMUtility.class);
+
+ private Onf14DMDOMUtility() {}
+
+ public static String getLeafValue(DataContainerNode componentEntry, QName leafQName) {
+ NodeIdentifier leafNodeIdentifier = new NodeIdentifier(leafQName);
+ try {
+ LeafNode<?> optLeafNode = (LeafNode<?>) componentEntry.getChildByArg(leafNodeIdentifier);
+ if (optLeafNode.body() instanceof QName) {
+ LOG.debug("Leaf is of type QName"); //Ex: ImmutableLeafNode{identifier=(urn:onf:yang:air-interface-2-0?revision=2020-01-21)severity, body=(urn:onf:yang:air-interface-2-0?revision=2020-01-21)SEVERITY_TYPE_MAJOR}
+ String severity_ = optLeafNode.body().toString();
+ return severity_.substring(severity_.indexOf(')')+1); //Any other solution??
+ }
+ return optLeafNode.body().toString();
+ } catch (VerifyException ve) {
+ LOG.debug("Leaf with QName {} not found", leafQName);
+ return null;
+ }
+ }
+
+ public static List<String> getLeafListValue(DataContainerNode componentEntry, QName leafListQName) {
+ List<String> containsChildList = new ArrayList<>();
+ try {
+ DataContainerChild childSet = componentEntry.getChildByArg(new NodeIdentifier(leafListQName));
+ Collection<?> childEntry = (Collection<?>) childSet.body();
+ Iterator<?> childEntryItr = childEntry.iterator();
+ while (childEntryItr.hasNext()) {
+ LeafSetEntryNode<?> childEntryNode = (LeafSetEntryNode<?>) childEntryItr.next();
+ containsChildList.add(childEntryNode.body().toString());
+ }
+ } catch (VerifyException ve) {
+ LOG.debug("Child for {} does not exist", leafListQName);
+ }
+ return containsChildList;
+ }
+
+ public static String getUuidFromEquipment(MapEntryNode equipment) {
+ LOG.debug("Equipment Identifier is {}", equipment.getIdentifier());
+ NodeIdentifierWithPredicates componentKey = equipment.getIdentifier(); // list key
+ LOG.debug("Key Name is - {}", componentKey.keySet());
+ LOG.debug("Key Value is - {}",
+ componentKey.getValue(Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_GLOBAL_CLASS_UUID));
+
+ return componentKey.getValue(Onf14DevicemanagerQNames.CORE_MODEL_CC_EQPT_GLOBAL_CLASS_UUID).toString();
+ }
+
+ public static Instant getNotificationInstant(DOMNotification notification) {
+ if (notification instanceof DOMEvent) {
+ return ((DOMEvent) notification).getEventInstant();
+ } else {
+ return Instant.now();
+ }
+ }
+}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/util/Onf14DevicemanagerQNames.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/util/Onf14DevicemanagerQNames.java
new file mode 100644
index 000000000..58abf021f
--- /dev/null
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/dom/impl/util/Onf14DevicemanagerQNames.java
@@ -0,0 +1,251 @@
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.util;
+
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.common.QNameModule;
+import org.opendaylight.yangtools.yang.common.Revision;
+import org.opendaylight.yangtools.yang.common.XMLNamespace;
+
+public class Onf14DevicemanagerQNames {
+ public static final QNameModule CORE_MODEL_1_4_MODULE =
+ QNameModule.create(XMLNamespace.of("urn:onf:yang:core-model-1-4"), Revision.of("2019-11-27"));
+ public static final QName CORE_MODEL_CONTROL_CONSTRUCT_CONTAINER =
+ QName.create(CORE_MODEL_1_4_MODULE, "control-construct");
+ public static final QName CORE_MODEL_CC_TOP_LEVEL_EQPT = QName.create(CORE_MODEL_1_4_MODULE, "top-level-equipment");
+ public static final QName CORE_MODEL_CC_EQPT = QName.create(CORE_MODEL_1_4_MODULE, "equipment");
+ public static final QName CORE_MODEL_CC_EQPT_GLOBAL_CLASS_UUID = QName.create(CORE_MODEL_1_4_MODULE, "uuid");
+ public static final QName CORE_MODEL_CC_EQPT_ACTUAL_EQUIPMENT =
+ QName.create(CORE_MODEL_1_4_MODULE, "actual-equipment");
+ public static final QName CORE_MODEL_CC_EQPT_CONTAINED_HOLDER =
+ QName.create(CORE_MODEL_1_4_MODULE, "contained-holder");
+ public static final QName CORE_MODEL_CC_EQPT_OCCUPYING_FRU = QName.create(CORE_MODEL_1_4_MODULE, "occupying-fru");
+ public static final QName CORE_MODEL_CC_EQPT_MANUFACTURED_THING =
+ QName.create(CORE_MODEL_1_4_MODULE, "manufactured-thing");
+ public static final QName CORE_MODEL_CC_EQPT_MANUFACTURER_PROPS =
+ QName.create(CORE_MODEL_1_4_MODULE, "manufacturer-properties");
+ public static final QName CORE_MODEL_CC_EQPT_MANUFACTURER_NAME =
+ QName.create(CORE_MODEL_1_4_MODULE, "manufacturer-name");
+ public static final QName CORE_MODEL_CC_EQPT_MANUFACTURER_ID =
+ QName.create(CORE_MODEL_1_4_MODULE, "manufacturer-identifier");
+ public static final QName CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_INSTANCE =
+ QName.create(CORE_MODEL_1_4_MODULE, "equipment-instance");
+ public static final QName CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_INSTANCE_SERIAL_NUM =
+ QName.create(CORE_MODEL_1_4_MODULE, "serial-number");
+ public static final QName CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_INSTANCE_MANUFACTURED_DATE =
+ QName.create(CORE_MODEL_1_4_MODULE, "manufactured-date");
+ public static final QName CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_TYPE =
+ QName.create(CORE_MODEL_1_4_MODULE, "equipment-type");
+ public static final QName CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_TYPE_VERSION =
+ QName.create(CORE_MODEL_1_4_MODULE, "version");
+ public static final QName CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_TYPE_DESCRIPTION =
+ QName.create(CORE_MODEL_1_4_MODULE, "description");
+ public static final QName CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_TYPE_MODEL_ID =
+ QName.create(CORE_MODEL_1_4_MODULE, "model-identifier");
+ public static final QName CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_TYPE_PART_TYPE_ID =
+ QName.create(CORE_MODEL_1_4_MODULE, "part-type-identifier");
+ public static final QName CORE_MODEL_CC_EQPT_ACTUAL_EQPT_EQPT_TYPE_TYPE_NAME =
+ QName.create(CORE_MODEL_1_4_MODULE, "type-name");
+
+
+ public static final QName CORE_MODEL_CC_LTP = QName.create(CORE_MODEL_1_4_MODULE, "logical-termination-point");
+ public static final QName CORE_MODEL_CC_LTP_LAYER_PROTOCOL = QName.create(CORE_MODEL_1_4_MODULE, "layer-protocol");
+ public static final QName CORE_MODEL_CC_LTP_LAYER_PROTOCOL_NAME =
+ QName.create(CORE_MODEL_1_4_MODULE, "layer-protocol-name");
+ public static final QName CORE_MODEL_CC_LTP_LAYER_PROTOCOL_LOCAL_ID =
+ QName.create(CORE_MODEL_1_4_MODULE, "local-id");
+ public static final QName CORE_MODEL_CC_LTP_UUID = QName.create(CORE_MODEL_1_4_MODULE, "uuid");
+
+ //Interface Notifications - common fields
+ private static String COUNTER = "counter";
+ private static String OBJECT_ID_REF = "object-id-ref";
+ private static String TIMESTAMP = "timestamp";
+ // Air-interface
+ public static final QNameModule AIR_INTERFACE_2_0_MODULE =
+ QNameModule.create(XMLNamespace.of("urn:onf:yang:air-interface-2-0"), Revision.of("2020-01-21"));
+ public static final QName AIR_INTERFACE_PAC = QName.create(AIR_INTERFACE_2_0_MODULE, "air-interface-pac");
+ public static final QName AIR_INTERFACE_CURRENT_PROBLEMS =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "air-interface-current-problems");
+ public static final QName AIR_INTERFACE_CURRENT_PROBLEMS_LIST =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "current-problem-list");
+ public static final QName AIR_INTERFACE_CURRENT_PROBLEMS_SEQ_NO =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "sequence-number");
+ public static final QName AIR_INTERFACE_CURRENT_PROBLEMS_TIMESTAMP =
+ QName.create(AIR_INTERFACE_2_0_MODULE, TIMESTAMP);
+ public static final QName AIR_INTERFACE_CURRENT_PROBLEMS_PROBLEM_NAME =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "problem-name");
+ public static final QName AIR_INTERFACE_CURRENT_PROBLEMS_PROBLEM_SEVERITY =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "problem-severity");
+ // Creation notification
+ public static final QName AIR_INTERFACE_OBJECT_CREATE_NOTIFICATION =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "object-creation-notification");
+ public static final QName AIR_INTERFACE_OBJECT_CREATE_NOTIFICATION_OBJECT_TYPE =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "object-type");
+ public static final QName AIR_INTERFACE_OBJECT_CREATE_NOTIFICATION_COUNTER =
+ QName.create(AIR_INTERFACE_2_0_MODULE, COUNTER);
+ public static final QName AIR_INTERFACE_OBJECT_CREATE_NOTIFICATION_TIMESTAMP =
+ QName.create(AIR_INTERFACE_2_0_MODULE, TIMESTAMP);
+ public static final QName AIR_INTERFACE_OBJECT_CREATE_NOTIFICATION_OBJECT_ID_REF =
+ QName.create(AIR_INTERFACE_2_0_MODULE, OBJECT_ID_REF);
+ //AVC notification
+ public static final QName AIR_INTERFACE_OBJECT_AVC_NOTIFICATION =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "attribute-value-changed-notification");
+ public static final QName AIR_INTERFACE_OBJECT_AVC_NOTIFICATION_COUNTER =
+ QName.create(AIR_INTERFACE_2_0_MODULE, COUNTER);
+ public static final QName AIR_INTERFACE_OBJECT_AVC_NOTIFICATION_TIMESTAMP =
+ QName.create(AIR_INTERFACE_2_0_MODULE, TIMESTAMP);
+ public static final QName AIR_INTERFACE_OBJECT_AVC_NOTIFICATION_OBJECT_ID_REF =
+ QName.create(AIR_INTERFACE_2_0_MODULE, OBJECT_ID_REF);
+ public static final QName AIR_INTERFACE_OBJECT_AVC_NOTIFICATION_ATTRIBUTE_NAME =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "attribute-name");
+ public static final QName AIR_INTERFACE_OBJECT_AVC_NOTIFICATION_NEW_VALUE =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "new-value");
+ //problem notification
+ public static final QName AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "problem-notification");
+ public static final QName AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_OBJECT_ID_REF =
+ QName.create(AIR_INTERFACE_2_0_MODULE, OBJECT_ID_REF);
+ public static final QName AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_PROBLEM =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "problem");
+ public static final QName AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_SEVERITY =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "severity");
+ public static final QName AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_COUNTER =
+ QName.create(AIR_INTERFACE_2_0_MODULE, COUNTER);
+ public static final QName AIR_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_TIMESTAMP =
+ QName.create(AIR_INTERFACE_2_0_MODULE, TIMESTAMP);
+ // Delete notification
+ public static final QName AIR_INTERFACE_OBJECT_DELETE_NOTIFICATION =
+ QName.create(AIR_INTERFACE_2_0_MODULE, "object-deletion-notification");
+ public static final QName AIR_INTERFACE_OBJECT_DELETE_NOTIFICATION_COUNTER =
+ QName.create(AIR_INTERFACE_2_0_MODULE, COUNTER);
+ public static final QName AIR_INTERFACE_OBJECT_DELETE_NOTIFICATION_OBJECT_ID_REF =
+ QName.create(AIR_INTERFACE_2_0_MODULE, OBJECT_ID_REF);
+ public static final QName AIR_INTERFACE_OBJECT_DELETE_NOTIFICATION_TIMESTAMP =
+ QName.create(AIR_INTERFACE_2_0_MODULE, TIMESTAMP);
+
+ // Ethernet interface
+ public static final QNameModule ETHERNET_CONTAINER_2_0_MODULE =
+ QNameModule.create(XMLNamespace.of("urn:onf:yang:ethernet-container-2-0"), Revision.of("2020-01-21"));
+ public static final QName ETHERNET_CONTAINER_PAC =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "ethernet-container-pac");
+ public static final QName ETHERNET_CONTAINER_CURRENT_PROBLEMS =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "ethernet-container-current-problems");
+ public static final QName ETHERNET_CONTAINER_CURRENT_PROBLEMS_LIST =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "current-problem-list");
+ public static final QName ETHERNET_CONTAINER_CURRENT_PROBLEMS_SEQ_NO =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "sequence-number");
+ public static final QName ETHERNET_CONTAINER_CURRENT_PROBLEMS_TIMESTAMP =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, TIMESTAMP);
+ public static final QName ETHERNET_CONTAINER_CURRENT_PROBLEMS_PROBLEM_NAME =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "problem-name");
+ public static final QName ETHERNET_CONTAINER_CURRENT_PROBLEMS_PROBLEM_SEVERITY =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "problem-severity");
+ // Creation notification
+ public static final QName ETHERNET_CONTAINER_OBJECT_CREATE_NOTIFICATION =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "object-creation-notification");
+ public static final QName ETHERNET_CONTAINER_OBJECT_CREATE_NOTIFICATION_OBJECT_TYPE =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "object-type");
+ public static final QName ETHERNET_CONTAINER_OBJECT_CREATE_NOTIFICATION_COUNTER =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, COUNTER);
+ public static final QName ETHERNET_CONTAINER_OBJECT_CREATE_NOTIFICATION_TIMESTAMP =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, TIMESTAMP);
+ public static final QName ETHERNET_CONTAINER_OBJECT_CREATE_NOTIFICATION_OBJECT_ID_REF =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, OBJECT_ID_REF);
+ //AVC notification
+ public static final QName ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "attribute-value-changed-notification");
+ public static final QName ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION_COUNTER =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, COUNTER);
+ public static final QName ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION_TIMESTAMP =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, TIMESTAMP);
+ public static final QName ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION_OBJECT_ID_REF =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, OBJECT_ID_REF);
+ public static final QName ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION_ATTRIBUTE_NAME =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "attribute-name");
+ public static final QName ETHERNET_CONTAINER_OBJECT_AVC_NOTIFICATION_NEW_VALUE =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "new-value");
+ //problem notification
+ public static final QName ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "problem-notification");
+ public static final QName ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION_OBJECT_ID_REF =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, OBJECT_ID_REF);
+ public static final QName ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION_PROBLEM =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "problem");
+ public static final QName ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION_SEVERITY =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "severity");
+ public static final QName ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION_COUNTER =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, COUNTER);
+ public static final QName ETHERNET_CONTAINER_OBJECT_PROBLEM_NOTIFICATION_TIMESTAMP =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, TIMESTAMP);
+ // Delete notification
+ public static final QName ETHERNET_CONTAINER_OBJECT_DELETE_NOTIFICATION =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, "object-deletion-notification");
+ public static final QName ETHERNET_CONTAINER_OBJECT_DELETE_NOTIFICATION_COUNTER =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, COUNTER);
+ public static final QName ETHERNET_CONTAINER_OBJECT_DELETE_NOTIFICATION_OBJECT_ID_REF =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, OBJECT_ID_REF);
+ public static final QName ETHERNET_CONTAINER_OBJECT_DELETE_NOTIFICATION_TIMESTAMP =
+ QName.create(ETHERNET_CONTAINER_2_0_MODULE, TIMESTAMP);
+
+ //Wire interface
+ public static final QNameModule WIRE_INTERFACE_2_0_MODULE =
+ QNameModule.create(XMLNamespace.of("urn:onf:yang:wire-interface-2-0"), Revision.of("2020-01-23"));
+ public static final QName WIRE_INTERFACE_PAC = QName.create(WIRE_INTERFACE_2_0_MODULE, "wire-interface-pac");
+ public static final QName WIRE_INTERFACE_CURRENT_PROBLEMS =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "wire-interface-current-problems");
+ public static final QName WIRE_INTERFACE_CURRENT_PROBLEMS_LIST =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "current-problem-list");
+ public static final QName WIRE_INTERFACE_CURRENT_PROBLEMS_SEQ_NO =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "sequence-number");
+ public static final QName WIRE_INTERFACE_CURRENT_PROBLEMS_TIMESTAMP =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, TIMESTAMP);
+ public static final QName WIRE_INTERFACE_CURRENT_PROBLEMS_PROBLEM_NAME =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "problem-name");
+ public static final QName WIRE_INTERFACE_CURRENT_PROBLEMS_PROBLEM_SEVERITY =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "problem-severity");
+ // Creation notification
+ public static final QName WIRE_INTERFACE_OBJECT_CREATE_NOTIFICATION =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "object-creation-notification");
+ public static final QName WIRE_INTERFACE_OBJECT_CREATE_NOTIFICATION_OBJECT_TYPE =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "object-type");
+ public static final QName WIRE_INTERFACE_OBJECT_CREATE_NOTIFICATION_COUNTER =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, COUNTER);
+ public static final QName WIRE_INTERFACE_OBJECT_CREATE_NOTIFICATION_TIMESTAMP =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, TIMESTAMP);
+ public static final QName WIRE_INTERFACE_OBJECT_CREATE_NOTIFICATION_OBJECT_ID_REF =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, OBJECT_ID_REF);
+ //AVC notification
+ public static final QName WIRE_INTERFACE_OBJECT_AVC_NOTIFICATION =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "attribute-value-changed-notification");
+ public static final QName WIRE_INTERFACE_OBJECT_AVC_NOTIFICATION_COUNTER =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, COUNTER);
+ public static final QName WIRE_INTERFACE_OBJECT_AVC_NOTIFICATION_TIMESTAMP =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, TIMESTAMP);
+ public static final QName WIRE_INTERFACE_OBJECT_AVC_NOTIFICATION_OBJECT_ID_REF =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, OBJECT_ID_REF);
+ public static final QName WIRE_INTERFACE_OBJECT_AVC_NOTIFICATION_ATTRIBUTE_NAME =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "attribute-name");
+ public static final QName WIRE_INTERFACE_OBJECT_AVC_NOTIFICATION_NEW_VALUE =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "new-value");
+ //problem notification
+ public static final QName WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "problem-notification");
+ public static final QName WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_OBJECT_ID_REF =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, OBJECT_ID_REF);
+ public static final QName WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_PROBLEM =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "problem");
+ public static final QName WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_SEVERITY =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "severity");
+ public static final QName WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_COUNTER =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, COUNTER);
+ public static final QName WIRE_INTERFACE_OBJECT_PROBLEM_NOTIFICATION_TIMESTAMP =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, TIMESTAMP);
+ // Delete notification
+ public static final QName WIRE_INTERFACE_OBJECT_DELETE_NOTIFICATION =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, "object-deletion-notification");
+ public static final QName WIRE_INTERFACE_OBJECT_DELETE_NOTIFICATION_COUNTER =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, COUNTER);
+ public static final QName WIRE_INTERFACE_OBJECT_DELETE_NOTIFICATION_OBJECT_ID_REF =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, OBJECT_ID_REF);
+ public static final QName WIRE_INTERFACE_OBJECT_DELETE_NOTIFICATION_TIMESTAMP =
+ QName.create(WIRE_INTERFACE_2_0_MODULE, TIMESTAMP);
+
+}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14Configuration.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14Configuration.java
deleted file mode 100644
index 8396e8d9c..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14Configuration.java
+++ /dev/null
@@ -1,54 +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.devicemanager.onf14.impl;
-
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.Configuration;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-
-public class Onf14Configuration implements Configuration {
-
- private static final String SECTION_MARKER_DMONF = "dmonf14";
-
- private static final String DEFAULT_VALUE_ENABLED = "${SDNR_ONF14_USEDOMAPI}";
- private static final String PROPERTY_KEY_USEDOMAPI = "useDomApi";
-
- private final ConfigurationFileRepresentation configuration;
-
- public Onf14Configuration(ConfigurationFileRepresentation configuration) {
- this.configuration = configuration;
- this.configuration.addSection(SECTION_MARKER_DMONF);
- defaults();
- }
-
- public boolean isUseDomApiEnabled() {
-
- return configuration.getPropertyBoolean(SECTION_MARKER_DMONF, PROPERTY_KEY_USEDOMAPI);
- }
-
- @Override
- public String getSectionName() {
- return SECTION_MARKER_DMONF;
- }
-
- @Override
- public void defaults() {
- //Add default if not available
- configuration.setPropertyIfNotAvailable(SECTION_MARKER_DMONF, PROPERTY_KEY_USEDOMAPI, DEFAULT_VALUE_ENABLED);
- }
-
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14NetworkElement.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14NetworkElement.java
deleted file mode 100644
index 4a23b6b3c..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/Onf14NetworkElement.java
+++ /dev/null
@@ -1,552 +0,0 @@
-/*
- * ============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.onf14.impl;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Optional;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.common.YangHelper;
-import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.service.NetworkElement;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.service.NetworkElementService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.dataprovider.Onf14ToInternalDataModel;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.interfaces.Onf14AirInterface;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.interfaces.Onf14AirInterfaceNotificationListener;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.interfaces.Onf14EthernetContainer;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.interfaces.Onf14EthernetContainerNotificationListener;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.interfaces.Onf14WireInterface;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.interfaces.Onf14WireInterfaceNotificationListener;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.FaultService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.FaultData;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.LAYERPROTOCOLNAMETYPEAIRLAYER;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.air._interface.lp.spec.AirInterfacePac;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.air._interface.pac.AirInterfaceCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.ControlConstruct;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.LAYERPROTOCOLNAMETYPE;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.control.construct.Equipment;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.control.construct.EquipmentKey;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.control.construct.LogicalTerminationPoint;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.control.construct.LogicalTerminationPointKey;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.equipment.ContainedHolder;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.logical.termination.point.LayerProtocol;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.logical.termination.point.LayerProtocolKey;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.LAYERPROTOCOLNAMETYPEETHERNETCONTAINERLAYER;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.ethernet.container.lp.spec.EthernetContainerPac;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.ethernet.container.pac.EthernetContainerCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.LAYERPROTOCOLNAMETYPEWIRELAYER;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.wire._interface.lp.spec.WireInterfacePac;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.wire._interface.pac.WireInterfaceCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Inventory;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.NetworkElementConnectionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.NetworkElementDeviceType;
-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.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.binding.NotificationListener;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Repesentation of ONF Core model 1.4 device Top level element is "ControlConstruct" (replaces "NetworkElement" of
- * older ONF Version)
- */
-public class Onf14NetworkElement implements NetworkElement {
-
- private static final Logger log = LoggerFactory.getLogger(Onf14NetworkElement.class);
-
- protected static final InstanceIdentifier<ControlConstruct> CONTROLCONSTRUCT_IID =
- InstanceIdentifier.builder(ControlConstruct.class).build();
-
- private static final int EQUIPMENTROOTLEVEL = 0;
-
- private final NetconfBindingAccessor netconfAccessor;
- private final DataProvider databaseService;
- private final Onf14ToInternalDataModel onf14Mapper;
- @NonNull
- private final FaultService faultService;
-
- // for storing the Equipment UUIDs that are inserted in the DB
- private final List<String> equipmentUuidList = new ArrayList<>();
-
- // air interface related members
- private final List<TechnologySpecificPacKeys> airInterfaceList = new ArrayList<>();
- @SuppressWarnings("unused")
- private ListenerRegistration<NotificationListener> airInterfaceNotificationListenerHandler;
- @NonNull
- private final Onf14AirInterfaceNotificationListener airInterfaceNotificationListener;
-
- // ethernet container related members
- private final List<TechnologySpecificPacKeys> ethernetContainerList = new ArrayList<>();
- @SuppressWarnings("unused")
- private ListenerRegistration<NotificationListener> etherneContainerNotificationListenerHandler;
- @NonNull
- private final Onf14EthernetContainerNotificationListener ethernetContainerNotificationListener;
-
- // wire interface related members
- private final List<TechnologySpecificPacKeys> wireInterfaceList = new ArrayList<>();
- @SuppressWarnings("unused")
- private ListenerRegistration<NotificationListener> wireInterfaceNotificationListenerHandler;
- @NonNull
- private final Onf14WireInterfaceNotificationListener wireInterfaceNotificationListener;
-
- Onf14NetworkElement(NetconfBindingAccessor netconfAccess, DeviceManagerServiceProvider serviceProvider) {
- log.info("Create {}", Onf14NetworkElement.class.getSimpleName());
- this.netconfAccessor = netconfAccess;
- this.databaseService = serviceProvider.getDataProvider();
- this.faultService = serviceProvider.getFaultService();
- this.onf14Mapper = new Onf14ToInternalDataModel();
- this.airInterfaceNotificationListenerHandler = null;
- this.airInterfaceNotificationListener =
- new Onf14AirInterfaceNotificationListener(netconfAccess, serviceProvider);
- this.etherneContainerNotificationListenerHandler = null;
- ethernetContainerNotificationListener =
- new Onf14EthernetContainerNotificationListener(netconfAccess, serviceProvider);
- this.wireInterfaceNotificationListenerHandler = null;
- wireInterfaceNotificationListener = new Onf14WireInterfaceNotificationListener(netconfAccess, serviceProvider);
- }
-
- public void initialReadFromNetworkElement() {
-
- // reading the inventory (CoreModel 1.4 Equipment Model) and adding it to the DB
- readEquipmentData();
-
- var resultList = new FaultData();
-
- int problems = faultService.removeAllCurrentProblemsOfNode(netconfAccessor.getNodeId());
- log.debug("Removed all {} problems from database at registration", problems);
-
- readAllAirInterfaceCurrentProblems(resultList);
- problems = resultList.size();
- log.debug("NETCONF read air interface current problems completed. Got back {} problems.", problems);
-
- readAllEhernetContainerCurrentProblems(resultList);
- problems = resultList.size() - problems;
- log.debug("NETCONF read current problems completed. Got back {} problems.", resultList.size());
-
- readAllWireInterfaceCurrentProblems(resultList);
- problems = resultList.size();
- log.debug("NETCONF read wire interface current problems completed. Got back {} problems.", problems);
-
- faultService.initCurrentProblemStatus(netconfAccessor.getNodeId(), resultList);
- log.debug("DB write current problems completed");
-
- }
-
- public void readAllAirInterfaceCurrentProblems(FaultData resultList) {
-
- int idxStart; // Start index for debug messages
-
- for (TechnologySpecificPacKeys key : airInterfaceList) {
- idxStart = resultList.size();
-
- readAirInterfaceCurrentProblemForLtp(key.getLtpUuid(), key.getLocalId(), resultList);
- debugResultList(key.getLtpUuid().getValue(), resultList, idxStart);
- }
- }
-
- public void readAllEhernetContainerCurrentProblems(FaultData resultList) {
-
- int idxStart; // Start index for debug messages
-
- for (TechnologySpecificPacKeys key : ethernetContainerList) {
- idxStart = resultList.size();
-
- readEthernetConainerCurrentProblemForLtp(key.getLtpUuid(), key.getLocalId(), resultList);
- debugResultList(key.getLtpUuid().getValue(), resultList, idxStart);
- }
- }
-
- public void readAllWireInterfaceCurrentProblems(FaultData resultList) {
-
- int idxStart; // Start index for debug messages
-
- for (TechnologySpecificPacKeys key : wireInterfaceList) {
- idxStart = resultList.size();
-
- readWireInterfaceCurrentProblemForLtp(key.getLtpUuid(), key.getLocalId(), resultList);
- debugResultList(key.getLtpUuid().getValue(), resultList, idxStart);
- }
- }
-
- /**
- * @param nNode set core-model-capability
- */
- public void setCoreModel(@NonNull NetconfNode nNode) {
- NetworkElementConnectionBuilder eb = new NetworkElementConnectionBuilder();
- log.info("In setCoreModel for Onf14NetworkElement");
- String namespaceRevision;
- QName QNAME_COREMODEL14 = QName.create("urn:onf:yang:core-model-1-4", "2019-11-27", "core-model-1-4").intern();
-
- Capabilities availableCapabilities = Capabilities.getAvailableCapabilities(nNode);
- namespaceRevision = availableCapabilities.getRevisionForNamespace(QNAME_COREMODEL14);
- log.info("In setCoreModel for Onf14NetworkElement- namespaceRevision = " + namespaceRevision);
- if (Capabilities.isNamespaceSupported(namespaceRevision)) {
- eb.setCoreModelCapability(namespaceRevision);
- } else {
- eb.setCoreModelCapability("Unsupported");
- }
- databaseService.updateNetworkConnection22(eb.build(), netconfAccessor.getNodeId().getValue());
- }
-
- @Override
- public void register() {
- // Set core-model revision value in "core-model-capability" field
- setCoreModel(netconfAccessor.getNetconfNode());
- initialReadFromNetworkElement();
-
- // Register netconf stream
- airInterfaceNotificationListenerHandler =
- netconfAccessor.doRegisterNotificationListener(airInterfaceNotificationListener);
- etherneContainerNotificationListenerHandler =
- netconfAccessor.doRegisterNotificationListener(ethernetContainerNotificationListener);
- wireInterfaceNotificationListenerHandler =
- netconfAccessor.doRegisterNotificationListener(wireInterfaceNotificationListener);
- // Register to default (NETCONF) stream
- netconfAccessor.registerNotificationsStream();
- }
-
- @Override
- public void deregister() {}
-
-
- @Override
- public NodeId getNodeId() {
- return netconfAccessor.getNodeId();
- }
-
- @Override
- public <L extends NetworkElementService> Optional<L> getService(Class<L> clazz) {
- return Optional.empty();
- }
-
- @Override
- public void warmstart() {}
-
- @Override
- public Optional<NetconfAccessor> getAcessor() {
- return Optional.of(netconfAccessor);
- }
-
- @Override
- public NetworkElementDeviceType getDeviceType() {
- return NetworkElementDeviceType.Wireless;
- }
-
- private void readEquipmentData() {
-
- Optional<ControlConstruct> controlConstruct = readControlConstruct(netconfAccessor);
-
- if (controlConstruct.isPresent()) {
- // the top-level-equipment list contains the root objects of the Equipment Model
- log.debug("Getting list of topLevelEquipment for mountpoint {}", netconfAccessor.getNodeId());
- @Nullable
- List<UniversalId> topLevelEquipment = controlConstruct.get().getTopLevelEquipment();
-
- if (topLevelEquipment != null) {
- List<Inventory> inventoryList = new ArrayList<>();
- for (UniversalId uuid : topLevelEquipment) {
- log.debug("Got back topLevelEquipment with uuid {}", uuid.getValue());
-
- // adding all root Equipment objects to the DB
- @Nullable
- Equipment equipmentInstance = readEquipmentInstance(netconfAccessor, uuid);
- if (equipmentInstance != null) {
- // recursively adding the root equipment and all its children into the DB
- collectEquipment(inventoryList, equipmentInstance, null, EQUIPMENTROOTLEVEL);
- }
- }
- this.databaseService.writeInventory(this.netconfAccessor.getNodeId().getValue(), inventoryList);
- }
- }
-
- // storing all the LTP UUIDs internally, for later usage, for air-interface and ethernet-container
- readKeys(controlConstruct);
- }
-
- private List<Inventory> collectEquipment(List<Inventory> list, Equipment currentEq, Equipment parentEq,
- long treeLevel) {
-
- // if the Equipment UUID is already in the list, it was already processed
- // needed for solving possible circular dependencies
- if (equipmentUuidList.contains(currentEq.getUuid().getValue())) {
- log.debug("Not adding equipment with uuid {} because it was aleady added...",
- currentEq.getUuid().getValue());
- return list;
- }
-
- // we add this to our internal list, such that we avoid circular dependencies
- equipmentUuidList.add(currentEq.getUuid().getValue());
- log.debug("Adding equipment with uuid {} to the database...", currentEq.getUuid().getValue());
-
- // we add our current equipment to the database
- list.add(onf14Mapper.getInternalEquipment(netconfAccessor.getNodeId(), currentEq, parentEq, treeLevel));
-
- // we iterate the kids of our current equipment and add them to the database recursively
- // the actual reference is here: /core-model:control-construct/equipment/contained-holder/occupying-fru
- @NonNull
- Collection<ContainedHolder> holderList = YangHelper.getCollection(currentEq.nonnullContainedHolder());
-
- for (ContainedHolder holder : holderList) {
- @Nullable
- UniversalId occupyingFru = holder.getOccupyingFru();
- if (occupyingFru != null) {
- @Nullable
- Equipment childEq = readEquipmentInstance(netconfAccessor, occupyingFru);
-
- if (childEq != null) {
- // current becomes parent and tree level increases by 1
- collectEquipment(list, childEq, currentEq, treeLevel + 1);
- }
- }
- }
- return list;
- }
-
- private void readKeys(Optional<ControlConstruct> controlConstruct) {
-
- if (controlConstruct.isPresent()) {
- @NonNull
- Collection<LogicalTerminationPoint> ltpList =
- YangHelper.getCollection(controlConstruct.get().nonnullLogicalTerminationPoint());
- log.debug("Iterating the LTP list for node {}", netconfAccessor.getNodeId().getValue());
-
- // iterating all the Logical Termination Point list
- for (LogicalTerminationPoint ltp : ltpList) {
- @NonNull
- List<LayerProtocol> lpList = YangHelper.getList(ltp.nonnullLayerProtocol());
- // the Layer Protocol list should contain only one item, since we have an 1:1 relationship between the LTP and the LP
- if (lpList.size() != 1) {
- log.debug("Layer protocol has no 1:1 relationship with the LTP.");
- return;
- }
- // accessing the LP, which should be only 1
- LayerProtocol lp = lpList.get(0);
- @Nullable
- Class<? extends LAYERPROTOCOLNAMETYPE> layerProtocolName = lp.getLayerProtocolName();
- if (layerProtocolName != null) {
- // if the LTP has an airInterface technology extension, the layer protocol name is air-layer
- if (layerProtocolName.getTypeName().equals(LAYERPROTOCOLNAMETYPEAIRLAYER.class.getName())) {
- TechnologySpecificPacKeys airInterfaceKey =
- new TechnologySpecificPacKeys(ltp.getUuid(), lp.getLocalId());
- airInterfaceList.add(airInterfaceKey);
- log.debug("Adding Ltp with uuid {} and local-id {} to the air-interface list",
- ltp.getUuid().getValue(), lp.getLocalId());
- }
- // if the LTP has an ethernetContainier technology extension, the layer protocol name is ethernet-container-layer
- else if (layerProtocolName.getTypeName().equals(LAYERPROTOCOLNAMETYPEETHERNETCONTAINERLAYER.class
- .getName())) {
- TechnologySpecificPacKeys ethernetContainerKey =
- new TechnologySpecificPacKeys(ltp.getUuid(), lp.getLocalId());
- ethernetContainerList.add(ethernetContainerKey);
- log.debug("Adding Ltp with uuid {} and local-id {} to the ethernet-contatinier list",
- ltp.getUuid().getValue(), lp.getLocalId());
- } else if (layerProtocolName.getTypeName().equals(LAYERPROTOCOLNAMETYPEWIRELAYER.class.getName())) {
- TechnologySpecificPacKeys wireInterfaceKey =
- new TechnologySpecificPacKeys(ltp.getUuid(), lp.getLocalId());
- wireInterfaceList.add(wireInterfaceKey);
- log.debug("Adding Ltp with uuid {} and local-id {} to the wire-interface list",
- ltp.getUuid().getValue(), lp.getLocalId());
- }
- }
- }
- }
- }
-
- private void readAirInterfaceCurrentProblemForLtp(UniversalId ltpUuid, String localId, FaultData resultList) {
-
- final Class<AirInterfacePac> clazzPac = AirInterfacePac.class;
-
- log.info("DBRead Get current problems for class {} from mountpoint {} for LTP uuid {} and local-id {}",
- clazzPac.getSimpleName(), netconfAccessor.getNodeId().getValue(), ltpUuid.getValue(), localId);
-
- // constructing the IID needs the augmentation exposed byy the air-interface-2-0 model
- InstanceIdentifier<AirInterfaceCurrentProblems> airInterfaceCurrentProblem_IID = InstanceIdentifier
- .builder(ControlConstruct.class)
- .child(LogicalTerminationPoint.class, new LogicalTerminationPointKey(ltpUuid))
- .child(LayerProtocol.class, new LayerProtocolKey(localId))
- .augmentation(
- org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.LayerProtocol1.class)
- .child(AirInterfacePac.class).child(AirInterfaceCurrentProblems.class).build();
-
- // reading all the current-problems list for this specific LTP and LP
- AirInterfaceCurrentProblems problems = netconfAccessor.getTransactionUtils().readData(
- netconfAccessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL, airInterfaceCurrentProblem_IID);
-
- if (problems == null) {
- log.debug("DBRead Id {} no AirInterfaceCurrentProblems", ltpUuid);
- } else if (problems.getCurrentProblemList() == null) {
- log.debug("DBRead Id {} empty CurrentProblemList", ltpUuid);
- } else {
- for (org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.air._interface.current.problems.CurrentProblemList problem : YangHelper
- .getCollection(problems.nonnullCurrentProblemList())) {
- resultList.add(netconfAccessor.getNodeId(), (int) problem.getSequenceNumber(), problem.getTimestamp(),
- ltpUuid.getValue(), problem.getProblemName(),
- Onf14AirInterface.mapSeverity(problem.getProblemSeverity()));
- }
- }
- }
-
- private void readEthernetConainerCurrentProblemForLtp(UniversalId ltpUuid, String localId, FaultData resultList) {
-
- final Class<EthernetContainerPac> clazzPac = EthernetContainerPac.class;
-
- log.info("DBRead Get current problems for class {} from mountpoint {} for LTP uuid {} and local-id {}",
- clazzPac.getSimpleName(), netconfAccessor.getNodeId().getValue(), ltpUuid.getValue(), localId);
-
- // constructing the IID needs the augmentation exposed by the ethernet-container-2-0 model
- InstanceIdentifier<EthernetContainerCurrentProblems> etherneContainerCurrentProblem_IID = InstanceIdentifier
- .builder(ControlConstruct.class)
- .child(LogicalTerminationPoint.class, new LogicalTerminationPointKey(ltpUuid))
- .child(LayerProtocol.class, new LayerProtocolKey(localId))
- .augmentation(
- org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.LayerProtocol1.class)
- .child(EthernetContainerPac.class).child(EthernetContainerCurrentProblems.class).build();
-
- // reading all the current-problems list for this specific LTP and LP
- EthernetContainerCurrentProblems problems = netconfAccessor.getTransactionUtils().readData(
- netconfAccessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL, etherneContainerCurrentProblem_IID);
-
- if (problems == null) {
- log.debug("DBRead Id {} no EthernetContainerCurrentProblems", ltpUuid);
- } else if (problems.getCurrentProblemList() == null) {
- log.debug("DBRead Id {} empty CurrentProblemList", ltpUuid);
- } else {
- for (org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.ethernet.container.current.problems.CurrentProblemList problem : YangHelper
- .getCollection(problems.nonnullCurrentProblemList())) {
- resultList.add(netconfAccessor.getNodeId(), (int) problem.getSequenceNumber(), problem.getTimestamp(),
- ltpUuid.getValue(), problem.getProblemName(),
- Onf14EthernetContainer.mapSeverity(problem.getProblemSeverity()));
- }
- }
- }
-
- private void readWireInterfaceCurrentProblemForLtp(UniversalId ltpUuid, String localId, FaultData resultList) {
-
- final Class<WireInterfacePac> clazzPac = WireInterfacePac.class;
-
- log.info("DBRead Get current problems for class {} from mountpoint {} for LTP uuid {} and local-id {}",
- clazzPac.getSimpleName(), netconfAccessor.getNodeId().getValue(), ltpUuid.getValue(), localId);
-
- // constructing the IID needs the augmentation exposed by the wire-interface-2-0 model
- InstanceIdentifier<WireInterfaceCurrentProblems> wireInterfaceCurrentProblem_IID = InstanceIdentifier
- .builder(ControlConstruct.class)
- .child(LogicalTerminationPoint.class, new LogicalTerminationPointKey(ltpUuid))
- .child(LayerProtocol.class, new LayerProtocolKey(localId))
- .augmentation(
- org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.LayerProtocol1.class)
- .child(WireInterfacePac.class).child(WireInterfaceCurrentProblems.class).build();
-
- // reading all the current-problems list for this specific LTP and LP
- WireInterfaceCurrentProblems problems = netconfAccessor.getTransactionUtils().readData(
- netconfAccessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL, wireInterfaceCurrentProblem_IID);
-
- if (problems == null) {
- log.debug("DBRead Id {} no WireInterfaceCurrentProblems", ltpUuid);
- } else if (problems.getCurrentProblemList() == null) {
- log.debug("DBRead Id {} empty CurrentProblemList", ltpUuid);
- } else {
- for (org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.wire._interface.current.problems.CurrentProblemList problem : YangHelper
- .getCollection(problems.nonnullCurrentProblemList())) {
- resultList.add(netconfAccessor.getNodeId(), (int) problem.getSequenceNumber(), problem.getTimestamp(),
- ltpUuid.getValue(), problem.getProblemName(),
- Onf14WireInterface.mapSeverity(problem.getProblemSeverity()));
- }
- }
- }
-
- private Optional<ControlConstruct> readControlConstruct(NetconfBindingAccessor netconfAccessor) {
- return Optional.ofNullable(netconfAccessor.getTransactionUtils().readData(netconfAccessor.getDataBroker(),
- LogicalDatastoreType.CONFIGURATION, CONTROLCONSTRUCT_IID));
- }
-
- private @Nullable Equipment readEquipmentInstance(NetconfBindingAccessor accessData, UniversalId equipmentUuid) {
-
- final Class<?> clazzPac = Equipment.class;
-
- log.info("DBRead Get equipment for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- accessData.getNodeId().getValue(), equipmentUuid.getValue());
-
- InstanceIdentifier<Equipment> equipmentIID = InstanceIdentifier.builder(ControlConstruct.class)
- .child(Equipment.class, new EquipmentKey(equipmentUuid)).build();
-
- return accessData.getTransactionUtils().readData(accessData.getDataBroker(), LogicalDatastoreType.CONFIGURATION,
- equipmentIID);
- }
-
- // defining a structure that can map the LP local-id and its corresponding LTP uuid
- private class TechnologySpecificPacKeys {
-
- private UniversalId ltpUuid;
- private String localId;
-
- public TechnologySpecificPacKeys(UniversalId uuid, String lId) {
- this.ltpUuid = uuid;
- this.localId = lId;
- }
-
- public UniversalId getLtpUuid() {
- return ltpUuid;
- }
-
- public String getLocalId() {
- return localId;
- }
-
- @SuppressWarnings("unused")
- public void setLtpUuid(UniversalId uuid) {
- this.ltpUuid = uuid;
- }
-
- @SuppressWarnings("unused")
- public void setLocalId(String lId) {
- this.localId = lId;
- }
- }
-
-
- /**
- * LOG the newly added problems of the interface pac
- *
- * @param idxStart
- * @param uuid
- * @param resultList
- */
- private void debugResultList(String uuid, FaultData resultList, int idxStart) {
- StringBuilder sb = new StringBuilder();
- int idx = 0;
- for (int t = idxStart; t < resultList.size(); t++) {
- sb.append(idx++);
- sb.append(":{");
- sb.append(resultList.get(t));
- sb.append('}');
- }
- log.debug("Found problems {} {}", uuid, sb);
- }
-
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/dataprovider/Onf14ToInternalDataModel.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/dataprovider/Onf14ToInternalDataModel.java
deleted file mode 100644
index 52436da61..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/dataprovider/Onf14ToInternalDataModel.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * ============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.onf14.impl.dataprovider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Objects;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.common.YangHelper;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.Equipment;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.EquipmentInstance;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.EquipmentType;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.ManufacturedThing;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.ManufacturerProperties;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.equipment.ActualEquipment;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.equipment.ContainedHolder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Inventory;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.InventoryBuilder;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
-import org.opendaylight.yangtools.yang.common.Uint32;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @author alexs
- *
- */
-public class Onf14ToInternalDataModel {
-
- private static final Logger LOG = LoggerFactory.getLogger(Onf14ToInternalDataModel.class);
-
- public Inventory getInternalEquipment(NodeId nodeId, Equipment currentEq, Equipment parentEq, long treeLevel) {
-
- Objects.requireNonNull(nodeId);
- Objects.requireNonNull(currentEq);
-
- InventoryBuilder inventoryBuilder = new InventoryBuilder();
- String parentUuid = parentEq != null ? parentEq.getUuid().getValue() : "None";
-
- @Nullable
- ActualEquipment component = currentEq.getActualEquipment();
- if (component != null) {
- // General
- inventoryBuilder.setNodeId(nodeId.getValue());
- inventoryBuilder.setTreeLevel(Uint32.valueOf(treeLevel));
- inventoryBuilder.setUuid(currentEq.getUuid().getValue());
- inventoryBuilder.setParentUuid(parentUuid);
-
- List<String> containedHolderKeyList = new ArrayList<String>();
- @NonNull
- Collection<ContainedHolder> containedHolderList =
- YangHelper.getCollection(currentEq.nonnullContainedHolder());
- for (ContainedHolder holder : containedHolderList) {
- @Nullable
- UniversalId occupyingFru = holder.getOccupyingFru();
-
- if (occupyingFru != null) {
- containedHolderKeyList.add(occupyingFru.getValue());
- }
- }
- inventoryBuilder.setContainedHolder(containedHolderKeyList);
-
- @Nullable
- ManufacturedThing manThing = component.getManufacturedThing();
- if (manThing != null) {
- // Manufacturer properties
- @Nullable
- ManufacturerProperties manProp = manThing.getManufacturerProperties();
- if (manProp != null) {
- inventoryBuilder.setManufacturerName(manProp.getManufacturerName());
- inventoryBuilder.setManufacturerIdentifier(manProp.getManufacturerIdentifier());
- } else {
- LOG.debug("manufacturer-properties is not present in Equipment with uuid={}",
- currentEq.getUuid().getValue());
- }
-
- // Equipment instance
- @Nullable
- EquipmentInstance eqInstance = manThing.getEquipmentInstance();
- if (eqInstance != null) {
- inventoryBuilder.setSerial(eqInstance.getSerialNumber());
- inventoryBuilder.setDate(eqInstance.getManufactureDate().getValue());
- } else {
- LOG.debug("equipment-instance is not present in Equipment with uuid={}",
- currentEq.getUuid().getValue());
- }
-
- // Equipment type
- @Nullable
- EquipmentType eqType = manThing.getEquipmentType();
- if (eqType != null) {
- inventoryBuilder.setVersion(eqType.getVersion());
- inventoryBuilder.setDescription(eqType.getDescription());
- inventoryBuilder.setPartTypeId(eqType.getPartTypeIdentifier());
- inventoryBuilder.setModelIdentifier(eqType.getModelIdentifier());
- inventoryBuilder.setTypeName(eqType.getTypeName());
- } else {
- LOG.debug("equipment-type is not present in Equipment with uuid={}",
- currentEq.getUuid().getValue());
- }
- } else {
- LOG.debug("manufactured-thing is not present in Equipment with uuid={}",
- currentEq.getUuid().getValue());
- }
- } else {
- LOG.debug("actual-equipment is not present in Equipment with uuid={}", currentEq.getUuid().getValue());
- }
-
- return inventoryBuilder.build();
- }
-
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/equipment/Onf14DomEquipmentManager.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/equipment/Onf14DomEquipmentManager.java
deleted file mode 100644
index 092ad4a8f..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/equipment/Onf14DomEquipmentManager.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP : ccsdk features
- * ================================================================================
- * 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.onf14.impl.equipment;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.stream.Collectors;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.common.YangHelper;
-import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.dataprovider.Onf14ToInternalDataModel;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
-import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.ControlConstruct;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.control.construct.Equipment;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.control.construct.EquipmentKey;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.equipment.ContainedHolder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Inventory;
-import org.opendaylight.yangtools.util.UnmodifiableCollection;
-import org.opendaylight.yangtools.yang.binding.CodeHelpers;
-import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.InstanceIdentifierBuilder;
-import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
-import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class Onf14DomEquipmentManager {
-
-
- // constants
- private static final Logger log = LoggerFactory.getLogger(Onf14DomEquipmentManager.class);
- private static final int EQUIPMENTROOTLEVEL = 0;
- // end of constants
-
- // variables
- private final NetconfDomAccessor netconfDomAccessor;
- private final DataProvider databaseService;
- private final Onf14ToInternalDataModel onf14Mapper;
- // for storing the Equipment UUIDs that are inserted in the DB
- private final List<UniversalId> equipmentUuidList;
- // end of variables
- private final BindingNormalizedNodeSerializer serializer;
-
- // constructors
- public Onf14DomEquipmentManager(NetconfDomAccessor netconfDomAccessor, DataProvider databaseService,
- Onf14ToInternalDataModel onf14Mapper) {
- super();
- this.netconfDomAccessor = Objects.requireNonNull(netconfDomAccessor);
- this.databaseService = Objects.requireNonNull(databaseService);
- this.onf14Mapper = Objects.requireNonNull(onf14Mapper);
- this.serializer = Objects.requireNonNull(netconfDomAccessor.getBindingNormalizedNodeSerializer());
-
- this.equipmentUuidList = new ArrayList<>();
- }
- // end of constructors
-
- // getters and setters
- public List<UniversalId> getEquipmentUuidList() {
- return equipmentUuidList;
- }
- // end of getters and setters
-
- // private methods
- private List<Inventory> collectEquipment(List<Inventory> list, Equipment currentEq, Equipment parentEq,
- long treeLevel, Map<EquipmentKey, Equipment> equipmentMap, EquipmentKey equipmentKey) {
- Objects.requireNonNull(list);
- if (currentEq == null) {
- log.info("Ignore empty equipment with key {}", equipmentKey);
- return list;
- }
-
- // if the Equipment UUID is already in the list, it was already processed
- // needed for solving possible circular dependencies
- if (equipmentUuidList.contains(currentEq.getUuid())) {
- log.debug("Not adding equipment with uuid {} because it was aleady added...",
- currentEq.getUuid().getValue());
- return list;
- }
-
- // we add this to our internal list, such that we avoid circular dependencies
- equipmentUuidList.add(currentEq.getUuid());
- log.debug("Adding equipment with uuid {} to the database...", currentEq.getUuid().getValue());
-
- // we add our current equipment to the database
- list.add(onf14Mapper.getInternalEquipment(netconfDomAccessor.getNodeId(), currentEq, parentEq, treeLevel));
-
- // we iterate the kids of our current equipment and add them to the database recursively
- // the actual reference is here: /core-model:control-construct/equipment/contained-holder/occupying-fru
- for (ContainedHolder holder : YangHelper.getCollection(currentEq.nonnullContainedHolder())) {
- @Nullable
- UniversalId occupyingFru = holder.getOccupyingFru();
- if (occupyingFru != null) {
- equipmentKey = new EquipmentKey(occupyingFru);
- collectEquipment(list, equipmentMap.get(equipmentKey), currentEq, treeLevel + 1, equipmentMap,
- equipmentKey);
- }
- }
- return list;
- }
- // end of private methods
-
- // public methods
- /**
- * Set all equipment data from controlConstruct into database and into this manager.
- *
- * @param controlConstruct with complete device data
- */
- public void setEquipmentData(ControlConstruct controlConstruct) {
- Objects.requireNonNull(controlConstruct);
-
- // the top-level-equipment list contains the root objects of the Equipment Model
- log.debug("Getting list of topLevelEquipment for mountpoint {}", netconfDomAccessor.getNodeId());
- // adding all root Equipment objects to the DB
- for (UniversalId uuid : CodeHelpers.nonnull(controlConstruct.getTopLevelEquipment())) {
- log.debug("Got back topLevelEquipment with uuid {}", uuid.getValue());
- EquipmentKey equipmentKey = new EquipmentKey(uuid);
-
- // adding all root Equipment objects to the DB
- Map<EquipmentKey, Equipment> equipmentMap = controlConstruct.nonnullEquipment();
- // recursively adding the root equipment and all its children into the DB
- List<Inventory> dbInventory = collectEquipment(new ArrayList<>(), equipmentMap.get(equipmentKey), null,
- EQUIPMENTROOTLEVEL, equipmentMap, equipmentKey);
- this.databaseService.writeInventory(netconfDomAccessor.getNodeId().getValue(), dbInventory);
- }
- }
-
- /**
- * Experimental see section in {@link #Onf14DomNetworkElement.initialReadFromNetworkElement()}
- * Read one equipment from device
- *
- * @param accessData to access device
- * @param equipmentUuid uuid of equipment to be read
- * @return Optional Equipment
- */
- public Optional<Equipment> readEquipmentInstance(NetconfDomAccessor accessData, UniversalId equipmentUuid) {
-
- final Class<?> clazzPac = Equipment.class;
-
- log.info("DBRead Get equipment for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- accessData.getNodeId().getValue(), equipmentUuid.getValue());
-
- InstanceIdentifierBuilder equipmentIIDBuilder =
- YangInstanceIdentifier.builder().node(ControlConstruct.QNAME).node(Equipment.QNAME).nodeWithKey(
- Equipment.QNAME, QName.create(Equipment.QNAME, "uuid").intern(), equipmentUuid.getValue());
-
- return accessData.readData(LogicalDatastoreType.CONFIGURATION, equipmentIIDBuilder.build(), Equipment.class);
- }
-
- /**
- * Experimental see section in {@link #Onf14DomNetworkElement.initialReadFromNetworkElement()}
- * Read one equipment list from device.
- *
- * @param accessData to access device
- * @param equipmentUuid uuid of equipment to be read
- * @return Optional Equipment
- */
- public List<DataObject> readEquipmentList(NetconfDomAccessor accessData) {
- log.info("DBRead Get equipment-list for mountpoint {} ", accessData.getNodeId().getValue());
-
- InstanceIdentifierBuilder equipmentIIDBuilder =
- YangInstanceIdentifier.builder().node(ControlConstruct.QNAME).node(Equipment.QNAME);
-
- InstanceIdentifierBuilder equipmentIIDBuilderOnly = YangInstanceIdentifier.builder().node(Equipment.QNAME);
-
- Optional<NormalizedNode<?, ?>> oData =
- accessData.readDataNode(LogicalDatastoreType.CONFIGURATION, equipmentIIDBuilder.build());
- if (oData.isPresent()) {
- NormalizedNode<?, ?> data = oData.get();
-
- log.debug("convertNormalizedNode data identifier: {} data nodetype: {}", data.getIdentifier(),
- data.getNodeType());
- final List<DataObject> mapEntries1 = ((MapNode) data).getValue().stream().map(mapEntryNode -> {
- final YangInstanceIdentifier mapEntryPath =
- equipmentIIDBuilderOnly.build().node(mapEntryNode.getIdentifier());
- return serializer.fromNormalizedNode(mapEntryPath, mapEntryNode).getValue();
- }).collect(Collectors.toList());
- return mapEntries1;
- } else {
- log.warn("Device does not provide any equipment");
- return Collections.emptyList();
- }
- }
-
- /**
- * Experimental see section in {@link #Onf14DomNetworkElement.initialReadFromNetworkElement()}
- * Read one equipment list from device
- *
- * @param accessData to access device
- * @param equipmentUuid uuid of equipment to be read
- * @return Optional Equipment
- */
- public void readTopLevelEquipment(NetconfDomAccessor accessData) {
-
- log.info("DBRead Get top-level-equipment for mountpoint {}", accessData.getNodeId().getValue());
-
- InstanceIdentifierBuilder equipmentIIDBuilder = YangInstanceIdentifier.builder().node(ControlConstruct.QNAME)
- .node(QName.create(ControlConstruct.QNAME, "top-level-equipment"));
-
- Optional<NormalizedNode<?, ?>> oData =
- accessData.readDataNode(LogicalDatastoreType.CONFIGURATION, equipmentIIDBuilder.build());
- log.info("Checking for existence of data");
- if (oData.isPresent()) {
- log.info("data exists");
- NormalizedNode<?, ?> data = oData.get();
- Object value = data.getValue();
- log.info("DataNode: {} {}", data.getNodeType(), data.getIdentifier());
- if (value != null) {
- log.info("DataNode value: {} {}", value.getClass().getName(), value);
- if (value instanceof UnmodifiableCollection) {
- @SuppressWarnings("unchecked")
- UnmodifiableCollection<LeafSetEntryNode<String>> topLevelEquipmentCollection =
- (UnmodifiableCollection<LeafSetEntryNode<String>>) value;
- @NonNull
- Iterator<LeafSetEntryNode<String>> it = topLevelEquipmentCollection.iterator();
- while (it.hasNext()) {
- LeafSetEntryNode<String> topLevelEquipmentUuid = it.next();
- if (topLevelEquipmentUuid != null) {
- log.info("LeafSetEntryNode: {} {} {}", topLevelEquipmentUuid.getValue(),
- topLevelEquipmentUuid.getNodeType(),
- topLevelEquipmentUuid.getValue().getClass().getName());
- }
- }
- }
- }
- }
- }
- // end of public methods
-
- // static methods
- // end of static methods
-
- // private classes
- // end of private classes
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14AirInterface.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14AirInterface.java
deleted file mode 100644
index 2d0d3c52d..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14AirInterface.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * ============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.onf14.impl.interfaces;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.dataprovider.InternalDataModelSeverity;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.SEVERITYTYPE;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SeverityType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @author alexs
- *
- */
-public class Onf14AirInterface {
-
- @SuppressWarnings("unused")
- private static final Logger LOG = LoggerFactory.getLogger(Onf14AirInterface.class);
-
- public static SeverityType mapSeverity(
- Class<? extends SEVERITYTYPE> severity) {
- return InternalDataModelSeverity.mapSeverity(severity);
- }
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14AirInterfaceNotificationListener.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14AirInterfaceNotificationListener.java
deleted file mode 100644
index 1f3f30927..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14AirInterfaceNotificationListener.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * ============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.onf14.impl.interfaces;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
-import org.opendaylight.mdsal.dom.api.DOMNotification;
-import org.opendaylight.mdsal.dom.api.DOMNotificationListener;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.AirInterface20Listener;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.AttributeValueChangedNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.ObjectCreationNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.ObjectDeletionNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.ProblemNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.SEVERITYTYPE;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.SEVERITYTYPECRITICAL;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.SEVERITYTYPEMAJOR;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.SEVERITYTYPEMINOR;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.SEVERITYTYPENONALARMED;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.SEVERITYTYPEWARNING;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EventlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogEntity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SeverityType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SourceType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class Onf14AirInterfaceNotificationListener implements AirInterface20Listener, DOMNotificationListener {
-
- private static final Logger log = LoggerFactory.getLogger(Onf14AirInterfaceNotificationListener.class);
-
- private final NetconfAccessor netconfAccessor;
- private final DeviceManagerServiceProvider serviceProvider;
-
- private static final Map<Class<? extends SEVERITYTYPE>,SeverityType> severityMap = initSeverityMap();
-
- public Onf14AirInterfaceNotificationListener(NetconfAccessor netconfAccessor,
- DeviceManagerServiceProvider serviceProvider) {
- this.netconfAccessor = netconfAccessor;
- this.serviceProvider = serviceProvider;
- }
-
- private static Map<Class<? extends SEVERITYTYPE>, SeverityType> initSeverityMap() {
- Map<Class<? extends SEVERITYTYPE>, SeverityType> map = new HashMap<>();
- map.put(SEVERITYTYPECRITICAL.class,SeverityType.Critical);
- map.put(SEVERITYTYPEMAJOR.class,SeverityType.Major);
- map.put(SEVERITYTYPEMINOR.class,SeverityType.Minor);
- map.put(SEVERITYTYPEWARNING.class,SeverityType.Warning);
- map.put(SEVERITYTYPENONALARMED.class,SeverityType.NonAlarmed);
- return map;
- }
-
- @Override
- public void onObjectDeletionNotification(ObjectDeletionNotification notification) {
- log.debug("Got event of type :: {}", ObjectDeletionNotification.class.getSimpleName());
-
- EventlogBuilder eventlogBuilder = new EventlogBuilder();
- eventlogBuilder.setNodeId(netconfAccessor.getNodeId().getValue()).setAttributeName("")
- .setCounter(notification.getCounter()).setNewValue("deleted")
- .setObjectId(notification.getObjectIdRef().getValue()).setSourceType(SourceType.Netconf)
- .setTimestamp(notification.getTimestamp());
- serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
- serviceProvider.getWebsocketService().sendNotification(notification, netconfAccessor.getNodeId(),
- ObjectDeletionNotification.QNAME, notification.getTimestamp());
-
- log.debug("onObjectDeletionNotification log entry written");
- }
-
- @Override
- public void onProblemNotification(ProblemNotification notification) {
- log.debug("Got event of type :: {}", ProblemNotification.class.getSimpleName());
- FaultlogEntity faultAlarm = new FaultlogBuilder().setObjectId(notification.getObjectIdRef().getValue())
- .setProblem(notification.getProblem()).setSourceType(SourceType.Netconf)
- .setTimestamp(notification.getTimestamp())
- .setNodeId(this.netconfAccessor.getNodeId().getValue())
- .setSeverity(mapSeverity(notification.getSeverity())).setCounter(notification.getCounter())
- .build();
- serviceProvider.getFaultService().faultNotification(faultAlarm);
- serviceProvider.getWebsocketService().sendNotification(notification, netconfAccessor.getNodeId(),
- ProblemNotification.QNAME, notification.getTimestamp());
-
- }
-
- private SeverityType mapSeverity(@Nullable Class<? extends SEVERITYTYPE> severity) {
- return severityMap.getOrDefault(severity,SeverityType.NonAlarmed);
- }
-
- @Override
- public void onAttributeValueChangedNotification(AttributeValueChangedNotification notification) {
- log.debug("Got event of type :: {}", AttributeValueChangedNotification.class.getSimpleName());
-
- EventlogBuilder eventlogBuilder = new EventlogBuilder();
- eventlogBuilder.setNodeId(netconfAccessor.getNodeId().getValue())
- .setAttributeName(notification.getAttributeName()).setCounter(notification.getCounter())
- .setNewValue(notification.getNewValue()).setObjectId(notification.getObjectIdRef().getValue())
- .setSourceType(SourceType.Netconf).setTimestamp(notification.getTimestamp());
- serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
- serviceProvider.getWebsocketService().sendNotification(notification, netconfAccessor.getNodeId(),
- AttributeValueChangedNotification.QNAME, notification.getTimestamp());
- log.debug("onAttributeValueChangedNotification log entry written");
- }
-
- @Override
- public void onObjectCreationNotification(ObjectCreationNotification notification) {
- log.debug("Got event of type :: {}", ObjectCreationNotification.class.getSimpleName());
-
- EventlogBuilder eventlogBuilder = new EventlogBuilder();
- eventlogBuilder.setNodeId(netconfAccessor.getNodeId().getValue()).setAttributeName(notification.getObjectType())
- .setCounter(notification.getCounter()).setNewValue("created")
- .setObjectId(notification.getObjectIdRef().getValue()).setSourceType(SourceType.Netconf)
- .setTimestamp(notification.getTimestamp());
- serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
- serviceProvider.getWebsocketService().sendNotification(notification, netconfAccessor.getNodeId(),
- ObjectCreationNotification.QNAME, notification.getTimestamp());
- log.debug("onObjectCreationNotification log entry written");
- }
-
- @Override
- public void onNotification(@NonNull DOMNotification notification) {
-
- }
-
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14DomInterfacePacManager.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14DomInterfacePacManager.java
deleted file mode 100644
index 422f6b0fa..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14DomInterfacePacManager.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * ONAP : ccsdk features
- * ================================================================================
- * 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.onf14.impl.interfaces;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.common.YangHelper;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.equipment.Onf14DomEquipmentManager;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.util.Debug;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.FaultData;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
-import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
-import org.opendaylight.mdsal.dom.api.DOMNotification;
-import org.opendaylight.mdsal.dom.api.DOMNotificationListener;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.AttributeValueChangedNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.LAYERPROTOCOLNAMETYPEAIRLAYER;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.LayerProtocol1;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.ObjectCreationNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.ObjectDeletionNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.ProblemNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.air._interface.lp.spec.AirInterfacePac;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.air._interface.pac.AirInterfaceCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.ControlConstruct;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.LAYERPROTOCOLNAMETYPE;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.control.construct.LogicalTerminationPoint;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.control.construct.LogicalTerminationPointKey;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.logical.termination.point.LayerProtocol;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.core.model._1._4.rev191127.logical.termination.point.LayerProtocolKey;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.LAYERPROTOCOLNAMETYPEETHERNETCONTAINERLAYER;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.LAYERPROTOCOLNAMETYPEWIRELAYER;
-import org.opendaylight.yangtools.yang.binding.Notification;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/*
-* Notifications streams provided by device NTSSim ONF14
-* Stream{getName=StreamNameType{_value=nc-notifications}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=hybrid-mw-structure-2-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=vlan-interface-1-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=tdm-container-2-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=ethernet-container-2-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=ietf-yang-library}, isReplaySupport=false, augmentation=[]},
-* Stream{getDescription=Default NETCONF stream containing all the Event Notifications., getName=StreamNameType{_value=NETCONF}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=vlan-fd-1-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=wire-interface-2-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=mac-fd-1-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=co-channel-profile-1-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=mac-interface-1-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=ietf-keystore}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=pure-ethernet-structure-2-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=ietf-netconf-notifications}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=mac-fc-1-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=wred-profile-1-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=air-interface-2-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=ip-interface-1-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=qos-profile-1-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=vlan-fc-1-0}, isReplaySupport=true, augmentation=[]},
-* Stream{getName=StreamNameType{_value=l-3vpn-profile-1-0}, isReplaySupport=true, augmentation=[]}]
-*/
-
-public class Onf14DomInterfacePacManager implements DOMNotificationListener {
-
- // constants
- private static final Logger log = LoggerFactory.getLogger(Onf14DomEquipmentManager.class);
- // end of constants
-
- // variables
- private final NetconfDomAccessor netconfDomAccessor;
- private final @NonNull DeviceManagerServiceProvider serviceProvider;
-
- // air interface related members
- private final List<TechnologySpecificPacKeys> airInterfaceList = new ArrayList<TechnologySpecificPacKeys>();
- private @NonNull final Onf14AirInterfaceNotificationListener airInterfaceNotificationListener;
-
- // ethernet container related members
- private final List<TechnologySpecificPacKeys> ethernetContainerList = new ArrayList<TechnologySpecificPacKeys>();
- private @NonNull final Onf14EthernetContainerNotificationListener ethernetContainerNotificationListener;
-
- // wire interface related members
- private final List<TechnologySpecificPacKeys> wireInterfaceList = new ArrayList<TechnologySpecificPacKeys>();
- private @NonNull final Onf14WireInterfaceNotificationListener wireInterfaceNotificationListener;
- private @NonNull final BindingNormalizedNodeSerializer serializer;
- // end of variables
-
-
- // constructors
- public Onf14DomInterfacePacManager(@NonNull NetconfDomAccessor netconfDomAccessor,
- @NonNull DeviceManagerServiceProvider serviceProvider) {
-
- this.netconfDomAccessor = Objects.requireNonNull(netconfDomAccessor);
- this.serviceProvider = Objects.requireNonNull(serviceProvider);
- this.serializer = Objects.requireNonNull(netconfDomAccessor.getBindingNormalizedNodeSerializer());
-
- this.airInterfaceNotificationListener =
- new Onf14AirInterfaceNotificationListener(netconfDomAccessor, serviceProvider);
- this.ethernetContainerNotificationListener =
- new Onf14EthernetContainerNotificationListener(netconfDomAccessor, serviceProvider);
- this.wireInterfaceNotificationListener =
- new Onf14WireInterfaceNotificationListener(netconfDomAccessor, serviceProvider);
- }
- // end of constructors
-
- // getters and setters
- // end of getters and setters
-
- // private methods
- // end of private methods
-
- // public methods
- public void readAllAirInterfaceCurrentProblems(NetconfDomAccessor netconfDomAccessor,
- ControlConstruct controlConstruct, FaultData resultList) {
-
- int idxStart; // Start index for debug messages
-
- for (TechnologySpecificPacKeys key : airInterfaceList) {
- idxStart = resultList.size();
-
- readAirInterfaceCurrentProblemForLtp(netconfDomAccessor, controlConstruct, key.getLtpUuid(),
- key.getLocalId(), resultList);
- Debug.debugResultList(key.getLtpUuid().getValue(), resultList, idxStart);
- }
- }
-
- /*
- public void readAllEhernetContainerCurrentProblems(FaultData resultList) {
-
- int idxStart; // Start index for debug messages
-
- for (TechnologySpecificPacKeys key : ethernetContainerList) {
- idxStart = resultList.size();
-
- readEthernetConainerCurrentProblemForLtp(key.getLtpUuid(), key.getLocalId(), resultList);
- debugResultList(key.getLtpUuid().getValue(), resultList, idxStart);
- }
- }
-
- public void readAllWireInterfaceCurrentProblems(FaultData resultList) {
-
- int idxStart; // Start index for debug messages
-
- for (TechnologySpecificPacKeys key : wireInterfaceList) {
- idxStart = resultList.size();
-
- readWireInterfaceCurrentProblemForLtp(key.getLtpUuid(), key.getLocalId(), resultList);
- debugResultList(key.getLtpUuid().getValue(), resultList, idxStart);
- }
- }*/
- public void readKeys(ControlConstruct controlConstruct) {
-
- @NonNull
- Collection<LogicalTerminationPoint> ltpList =
- YangHelper.getCollection(controlConstruct.nonnullLogicalTerminationPoint());
- log.debug("Iterating the LTP list for node {}", netconfDomAccessor.getNodeId().getValue());
-
- // iterating all the Logical Termination Point list
- for (LogicalTerminationPoint ltp : ltpList) {
- @NonNull
- List<LayerProtocol> lpList = YangHelper.getList(ltp.nonnullLayerProtocol());
- // the Layer Protocol list should contain only one item, since we have an 1:1 relationship between the LTP and the LP
- if (lpList.size() != 1) {
- log.debug("Layer protocol has no 1:1 relationship with the LTP.");
- return;
- }
- // accessing the LP, which should be only 1
- LayerProtocol lp = lpList.get(0);
- @Nullable
- Class<? extends LAYERPROTOCOLNAMETYPE> layerProtocolName = lp.getLayerProtocolName();
- if (layerProtocolName != null) {
- // if the LTP has an airInterface technology extension, the layer protocol name is air-layer
- if (layerProtocolName.getTypeName().equals(LAYERPROTOCOLNAMETYPEAIRLAYER.class.getName())) {
- TechnologySpecificPacKeys airInterfaceKey =
- new TechnologySpecificPacKeys(ltp.getUuid(), lp.getLocalId());
- airInterfaceList.add(airInterfaceKey);
- log.debug("Adding Ltp with uuid {} and local-id {} to the air-interface list",
- ltp.getUuid().getValue(), lp.getLocalId());
- }
- // if the LTP has an ethernetContainier technology extension, the layer protocol name is ethernet-container-layer
- else if (layerProtocolName.getTypeName().equals(LAYERPROTOCOLNAMETYPEETHERNETCONTAINERLAYER.class
- .getName())) {
- TechnologySpecificPacKeys ethernetContainerKey =
- new TechnologySpecificPacKeys(ltp.getUuid(), lp.getLocalId());
- ethernetContainerList.add(ethernetContainerKey);
- log.debug("Adding Ltp with uuid {} and local-id {} to the ethernet-contatinier list",
- ltp.getUuid().getValue(), lp.getLocalId());
- } else if (layerProtocolName.getTypeName().equals(LAYERPROTOCOLNAMETYPEWIRELAYER.class.getName())) {
- TechnologySpecificPacKeys wireInterfaceKey =
- new TechnologySpecificPacKeys(ltp.getUuid(), lp.getLocalId());
- wireInterfaceList.add(wireInterfaceKey);
- log.debug("Adding Ltp with uuid {} and local-id {} to the wire-interface list",
- ltp.getUuid().getValue(), lp.getLocalId());
- }
- }
- }
- }
-
- private static void readAirInterfaceCurrentProblemForLtp(NetconfDomAccessor netconfDomAccessor,
- ControlConstruct controlConstruct, UniversalId ltpUuid, String localId, FaultData resultList) {
-
- final Class<AirInterfacePac> clazzPac = AirInterfacePac.class;
-
- log.info("DBRead Get current problems for class {} from mountpoint {} for LTP uuid {} and local-id {}",
- clazzPac.getSimpleName(), netconfDomAccessor.getNodeId().getValue(), ltpUuid.getValue(), localId);
-
- // constructing the IID needs the augmentation exposed byy the air-interface-2-0 model
- // InstanceIdentifier<AirInterfaceCurrentProblems> airInterfaceCurrentProblem_IID = InstanceIdentifier
- // .builder(ControlConstruct.class)
- // .child(LogicalTerminationPoint.class, new LogicalTerminationPointKey(ltpUuid))
- // .child(LayerProtocol.class, new LayerProtocolKey(localId))
- // .augmentation(
- // org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.LayerProtocol1.class)
- // .child(AirInterfacePac.class)
- // .child(AirInterfaceCurrentProblems.class).build();
- /*
- final YangInstanceIdentifier airInterfaceCurrentProblem_IID =
- YangInstanceIdentifier.builder().node(ControlConstruct.QNAME)
- .nodeWithKey(LogicalTerminationPoint.QNAME,
- QName.create(LogicalTerminationPoint.QNAME, "logical-termination-point-key").intern(),
- ltpUuid.getValue())
- .nodeWithKey(LayerProtocol.QNAME,
- QName.create(LayerProtocol.QNAME, "layer-protocol-key").intern(), localId)
- //.node(org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.LayerProtocol1.QNAME)
- .node(AirInterfacePac.QNAME).node(AirInterfaceCurrentProblems.QNAME).build();
-
- // reading all the current-problems list for this specific LTP and LP
- AirInterfaceCurrentProblems problems =
- netconfDomAccessor.readData(LogicalDatastoreType.OPERATIONAL, airInterfaceCurrentProblem_IID);
- */
-
- @NonNull
- Map<LogicalTerminationPointKey, LogicalTerminationPoint> ltpMap =
- controlConstruct.nonnullLogicalTerminationPoint();
- LogicalTerminationPoint ltp = ltpMap.get(new LogicalTerminationPointKey(ltpUuid));
- if (ltp != null) {
- @NonNull
- Map<LayerProtocolKey, LayerProtocol> lpMap = ltp.nonnullLayerProtocol();
- LayerProtocol lp = lpMap.get(new LayerProtocolKey(localId));
- @Nullable
- LayerProtocol1 lp1 = lp.augmentation(
- org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.LayerProtocol1.class);
- if (lp1 != null) {
- @Nullable
- AirInterfacePac airInterfacePack = lp1.getAirInterfacePac();
- if (airInterfacePack != null) {
- @Nullable
- AirInterfaceCurrentProblems cp = airInterfacePack.getAirInterfaceCurrentProblems();
- if (cp == null) {
- log.debug("DBRead Id {} no AirInterfaceCurrentProblems", ltpUuid);
- } else {
- for (org.opendaylight.yang.gen.v1.urn.onf.yang.air._interface._2._0.rev200121.air._interface.current.problems.CurrentProblemList problem : YangHelper
- .getCollection(cp.nonnullCurrentProblemList())) {
- resultList.add(netconfDomAccessor.getNodeId(), (int) problem.getSequenceNumber(),
- problem.getTimestamp(), ltpUuid.getValue(), problem.getProblemName(),
- Onf14AirInterface.mapSeverity(problem.getProblemSeverity()));
- }
- }
- }
- }
- }
- }
-
- @Override
- public void onNotification(@NonNull DOMNotification domNotification) {
- @Nullable
- Notification notification =
- serializer.fromNormalizedNodeNotification(domNotification.getType(), domNotification.getBody());
- if (notification instanceof ProblemNotification) {
- ProblemNotification problemNotification = (ProblemNotification) notification;
- log.debug("DOM ProblemNotification: {}", problemNotification);
- airInterfaceNotificationListener.onProblemNotification(problemNotification);
- } else if (notification instanceof AttributeValueChangedNotification) {
- AttributeValueChangedNotification attributeValueChangeNotification =
- (AttributeValueChangedNotification) notification;
- log.debug("DOM AttributeValueChangedNotification: {}", attributeValueChangeNotification);
- airInterfaceNotificationListener.onAttributeValueChangedNotification(attributeValueChangeNotification);
- } else if (notification instanceof ObjectDeletionNotification) {
- ObjectDeletionNotification objectDeletionNotification = (ObjectDeletionNotification) notification;
- log.debug("DOM ObjectDeletionNotification: {}", objectDeletionNotification);
- airInterfaceNotificationListener.onObjectDeletionNotification(objectDeletionNotification);
- } else if (notification instanceof ObjectCreationNotification) {
- ObjectCreationNotification objectCreationNotification = (ObjectCreationNotification) notification;
- log.debug("DOM ObjectDeletionNotification: {}", objectCreationNotification);
- airInterfaceNotificationListener.onObjectCreationNotification(objectCreationNotification);
- } else {
- log.warn("DOM Notification ignored: {}", domNotification);
- }
- }
-
- /**
- * Register notifications to handle
- */
- public void subscribeNotifications() {
- QName[] notifications = { ObjectCreationNotification.QNAME, ObjectDeletionNotification.QNAME,
- AttributeValueChangedNotification.QNAME, ProblemNotification.QNAME };
- netconfDomAccessor.doRegisterNotificationListener(this, notifications);
- }
-
- /*
- private void readEthernetConainerCurrentProblemForLtp(UniversalId ltpUuid, String localId, FaultData resultList) {
-
- final Class<EthernetContainerPac> clazzPac = EthernetContainerPac.class;
-
- log.info("DBRead Get current problems for class {} from mountpoint {} for LTP uuid {} and local-id {}",
- clazzPac.getSimpleName(), netconfDomAccessor.getNodeId().getValue(), ltpUuid.getValue(), localId);
-
- // constructing the IID needs the augmentation exposed by the ethernet-container-2-0 model
- // InstanceIdentifier<EthernetContainerCurrentProblems> etherneContainerCurrentProblem_IID = InstanceIdentifier
- // .builder(ControlConstruct.class)
- // .child(LogicalTerminationPoint.class, new LogicalTerminationPointKey(ltpUuid))
- // .child(LayerProtocol.class, new LayerProtocolKey(localId))
- // .augmentation(
- // org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.LayerProtocol1.class)
- // .child(EthernetContainerPac.class).child(EthernetContainerCurrentProblems.class).build();
- final YangInstanceIdentifier etherneContainerCurrentProblem_IID =
- YangInstanceIdentifier.builder().node(ControlConstruct.QNAME)
- .nodeWithKey(LogicalTerminationPoint.QNAME,
- QName.create(LogicalTerminationPoint.QNAME, "logical-termination-point-key").intern(),
- ltpUuid.getValue())
- .nodeWithKey(LayerProtocol.QNAME,
- QName.create(LayerProtocol.QNAME, "layer-protocol-key").intern(), localId)
- //.node(org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.LayerProtocol1.QNAME)
- .node(EthernetContainerPac.QNAME).node(EthernetContainerCurrentProblems.QNAME).build();
-
- // reading all the current-problems list for this specific LTP and LP
- EthernetContainerCurrentProblems problems =
- netconfDomAccessor.readData(LogicalDatastoreType.OPERATIONAL, etherneContainerCurrentProblem_IID);
-
- if (problems == null) {
- log.debug("DBRead Id {} no EthernetContainerCurrentProblems", ltpUuid);
- } else if (problems.getCurrentProblemList() == null) {
- log.debug("DBRead Id {} empty CurrentProblemList", ltpUuid);
- } else {
- for (org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.ethernet.container.current.problems.CurrentProblemList problem : YangHelper
- .getCollection(problems.nonnullCurrentProblemList())) {
- resultList.add(netconfDomAccessor.getNodeId(), (int) problem.getSequenceNumber(),
- problem.getTimestamp(), ltpUuid.getValue(), problem.getProblemName(),
- Onf14EthernetContainer.mapSeverity(problem.getProblemSeverity()));
- }
- }
- }
-
- private void readWireInterfaceCurrentProblemForLtp(UniversalId ltpUuid, String localId, FaultData resultList) {
-
- final Class<WireInterfacePac> clazzPac = WireInterfacePac.class;
-
- log.info("DBRead Get current problems for class {} from mountpoint {} for LTP uuid {} and local-id {}",
- clazzPac.getSimpleName(), netconfDomAccessor.getNodeId().getValue(), ltpUuid.getValue(), localId);
-
- // constructing the IID needs the augmentation exposed by the wire-interface-2-0 model
- // InstanceIdentifier<WireInterfaceCurrentProblems> wireInterfaceCurrentProblem_IID = InstanceIdentifier
- // .builder(ControlConstruct.class)
- // .child(LogicalTerminationPoint.class, new LogicalTerminationPointKey(ltpUuid))
- // .child(LayerProtocol.class, new LayerProtocolKey(localId))
- // .augmentation(
- // org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.LayerProtocol1.class)
- // .child(WireInterfacePac.class).child(WireInterfaceCurrentProblems.class).build();
- final YangInstanceIdentifier wireInterfaceCurrentProblem_IID =
- YangInstanceIdentifier.builder().node(ControlConstruct.QNAME)
- .nodeWithKey(LogicalTerminationPoint.QNAME,
- QName.create(LogicalTerminationPoint.QNAME, "logical-termination-point-key").intern(),
- ltpUuid.getValue())
- .nodeWithKey(LayerProtocol.QNAME,
- QName.create(LayerProtocol.QNAME, "layer-protocol-key").intern(), localId)
- //.node(org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.LayerProtocol1.QNAME)
- .node(WireInterfacePac.QNAME).node(WireInterfaceCurrentProblems.QNAME).build();
-
- // reading all the current-problems list for this specific LTP and LP
- WireInterfaceCurrentProblems problems =
- netconfDomAccessor.readData(LogicalDatastoreType.OPERATIONAL, wireInterfaceCurrentProblem_IID);
-
- if (problems == null) {
- log.debug("DBRead Id {} no WireInterfaceCurrentProblems", ltpUuid);
- } else if (problems.getCurrentProblemList() == null) {
- log.debug("DBRead Id {} empty CurrentProblemList", ltpUuid);
- } else {
- for (org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.wire._interface.current.problems.CurrentProblemList problem : YangHelper
- .getCollection(problems.nonnullCurrentProblemList())) {
- resultList.add(netconfDomAccessor.getNodeId(), (int) problem.getSequenceNumber(),
- problem.getTimestamp(), ltpUuid.getValue(), problem.getProblemName(),
- Onf14WireInterface.mapSeverity(problem.getProblemSeverity()));
- }
- }
- }
- */
-
- // end of public methods
-
- // static methods
- // end of static methods
-
- // private classes
- // end of private classes
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14EthernetContainer.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14EthernetContainer.java
deleted file mode 100644
index f9769951f..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14EthernetContainer.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * ============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.onf14.impl.interfaces;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.dataprovider.InternalDataModelSeverity;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.SEVERITYTYPE;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SeverityType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @author alexs
- *
- */
-public class Onf14EthernetContainer {
-
- @SuppressWarnings("unused")
- private static final Logger LOG = LoggerFactory.getLogger(Onf14EthernetContainer.class);
-
- public static SeverityType mapSeverity(
- Class<? extends SEVERITYTYPE> severity) {
- return InternalDataModelSeverity.mapSeverity(severity);
- }
-
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14EthernetContainerNotificationListener.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14EthernetContainerNotificationListener.java
deleted file mode 100644
index b76572ba5..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14EthernetContainerNotificationListener.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * ============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.onf14.impl.interfaces;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.AttributeValueChangedNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.EthernetContainer20Listener;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.ObjectCreationNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.ObjectDeletionNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.ProblemNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.SEVERITYTYPE;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.SEVERITYTYPECRITICAL;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.SEVERITYTYPEMAJOR;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.SEVERITYTYPEMINOR;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.SEVERITYTYPENONALARMED;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.ethernet.container._2._0.rev200121.SEVERITYTYPEWARNING;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EventlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogEntity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SeverityType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SourceType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class Onf14EthernetContainerNotificationListener implements EthernetContainer20Listener {
-
- private static final Logger log = LoggerFactory.getLogger(Onf14EthernetContainerNotificationListener.class);
-
- private final NetconfAccessor netconfAccessor;
- private final DeviceManagerServiceProvider serviceProvider;
-
- private static final Map<Class<? extends SEVERITYTYPE>, SeverityType> severityMap = initSeverityMap();
-
- public Onf14EthernetContainerNotificationListener(NetconfAccessor netconfAccessor,
- DeviceManagerServiceProvider serviceProvider) {
- this.netconfAccessor = netconfAccessor;
- this.serviceProvider = serviceProvider;
- }
-
- private static Map<Class<? extends SEVERITYTYPE>, SeverityType> initSeverityMap() {
- Map<Class<? extends SEVERITYTYPE>, SeverityType> map = new HashMap<>();
- map.put(SEVERITYTYPECRITICAL.class, SeverityType.Critical);
- map.put(SEVERITYTYPEMAJOR.class, SeverityType.Major);
- map.put(SEVERITYTYPEMINOR.class, SeverityType.Minor);
- map.put(SEVERITYTYPEWARNING.class, SeverityType.Warning);
- map.put(SEVERITYTYPENONALARMED.class, SeverityType.NonAlarmed);
- return map;
- }
-
- @Override
- public void onObjectDeletionNotification(ObjectDeletionNotification notification) {
- log.debug("Got event of type :: {}", ObjectDeletionNotification.class.getSimpleName());
-
- EventlogBuilder eventlogBuilder = new EventlogBuilder();
- eventlogBuilder.setNodeId(netconfAccessor.getNodeId().getValue()).setAttributeName("")
- .setCounter(notification.getCounter().intValue()).setNewValue("deleted")
- .setObjectId(notification.getObjectIdRef().getValue()).setSourceType(SourceType.Netconf)
- .setTimestamp(notification.getTimestamp());
- serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
- serviceProvider.getNotificationService().deletionNotification(netconfAccessor.getNodeId(),
- notification.getCounter().intValue(), notification.getTimestamp(),
- notification.getObjectIdRef().getValue());
-
- log.debug("onObjectDeletionNotification log entry written");
- }
-
- @Override
- public void onProblemNotification(ProblemNotification notification) {
- log.debug("Got event of type :: {}", ProblemNotification.class.getSimpleName());
- FaultlogEntity faultAlarm = new FaultlogBuilder().setObjectId(notification.getObjectIdRef().getValue())
- .setProblem(notification.getProblem()).setTimestamp(notification.getTimestamp())
- .setNodeId(this.netconfAccessor.getNodeId().getValue()).setSourceType(SourceType.Netconf)
- .setSeverity(mapSeverity(notification.getSeverity())).setCounter(notification.getCounter().intValue())
- .build();
- serviceProvider.getFaultService().faultNotification(faultAlarm);
- serviceProvider.getWebsocketService().sendNotification(notification, netconfAccessor.getNodeId(),
- ProblemNotification.QNAME, notification.getTimestamp());
-
- }
-
- private SeverityType mapSeverity(@Nullable Class<? extends SEVERITYTYPE> severity) {
- return severityMap.getOrDefault(severity, SeverityType.NonAlarmed);
- }
-
- @Override
- public void onAttributeValueChangedNotification(AttributeValueChangedNotification notification) {
- log.debug("Got event of type :: {}", AttributeValueChangedNotification.class.getSimpleName());
-
- EventlogBuilder eventlogBuilder = new EventlogBuilder();
- eventlogBuilder.setNodeId(netconfAccessor.getNodeId().getValue())
- .setAttributeName(notification.getAttributeName()).setCounter(notification.getCounter().intValue())
- .setNewValue(notification.getNewValue()).setObjectId(notification.getObjectIdRef().getValue())
- .setSourceType(SourceType.Netconf).setTimestamp(notification.getTimestamp());
- serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
- serviceProvider.getWebsocketService().sendNotification(notification, netconfAccessor.getNodeId(),
- AttributeValueChangedNotification.QNAME, notification.getTimestamp());
-
- log.debug("onAttributeValueChangedNotification log entry written");
- }
-
- @Override
- public void onObjectCreationNotification(ObjectCreationNotification notification) {
- log.debug("Got event of type :: {}", ObjectCreationNotification.class.getSimpleName());
-
- EventlogBuilder eventlogBuilder = new EventlogBuilder();
- eventlogBuilder.setNodeId(netconfAccessor.getNodeId().getValue()).setAttributeName(notification.getObjectType())
- .setCounter(notification.getCounter().intValue()).setNewValue("created")
- .setObjectId(notification.getObjectIdRef().getValue()).setSourceType(SourceType.Netconf)
- .setTimestamp(notification.getTimestamp());
- serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
- serviceProvider.getWebsocketService().sendNotification(notification, netconfAccessor.getNodeId(),
- ObjectCreationNotification.QNAME, notification.getTimestamp());
-
- log.debug("onObjectCreationNotification log entry written");
- }
-
-
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14WireInterface.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14WireInterface.java
deleted file mode 100644
index acb262fcb..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14WireInterface.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * ============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.onf14.impl.interfaces;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.dataprovider.InternalDataModelSeverity;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.SEVERITYTYPE;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SeverityType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @author alexs
- *
- */
-public class Onf14WireInterface {
-
- @SuppressWarnings("unused")
- private static final Logger LOG = LoggerFactory.getLogger(Onf14WireInterface.class);
-
- public static SeverityType mapSeverity(@Nullable Class<? extends SEVERITYTYPE> severity) {
- return InternalDataModelSeverity.mapSeverity(severity);
- }
-
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14WireInterfaceNotificationListener.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14WireInterfaceNotificationListener.java
deleted file mode 100644
index 6848e6765..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/impl/interfaces/Onf14WireInterfaceNotificationListener.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * ============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.onf14.impl.interfaces;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.AttributeValueChangedNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.ObjectCreationNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.ObjectDeletionNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.ProblemNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.SEVERITYTYPE;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.SEVERITYTYPECRITICAL;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.SEVERITYTYPEMAJOR;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.SEVERITYTYPEMINOR;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.SEVERITYTYPENONALARMED;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.SEVERITYTYPEWARNING;
-import org.opendaylight.yang.gen.v1.urn.onf.yang.wire._interface._2._0.rev200123.WireInterface20Listener;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EventlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogEntity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SeverityType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SourceType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class Onf14WireInterfaceNotificationListener implements WireInterface20Listener {
-
- private static final Logger log = LoggerFactory.getLogger(Onf14WireInterfaceNotificationListener.class);
-
- private final NetconfAccessor netconfAccessor;
- private final DeviceManagerServiceProvider serviceProvider;
-
- private static final Map<Class<? extends SEVERITYTYPE>,SeverityType> severityMap = initSeverityMap();
-
- public Onf14WireInterfaceNotificationListener(NetconfAccessor netconfAccessor,
- DeviceManagerServiceProvider serviceProvider) {
- this.netconfAccessor = netconfAccessor;
- this.serviceProvider = serviceProvider;
- }
-
- private static Map<Class<? extends SEVERITYTYPE>, SeverityType> initSeverityMap() {
- Map<Class<? extends SEVERITYTYPE>, SeverityType> map = new HashMap<>();
- map.put(SEVERITYTYPECRITICAL.class,SeverityType.Critical);
- map.put(SEVERITYTYPEMAJOR.class,SeverityType.Major);
- map.put(SEVERITYTYPEMINOR.class,SeverityType.Minor);
- map.put(SEVERITYTYPEWARNING.class,SeverityType.Warning);
- map.put(SEVERITYTYPENONALARMED.class,SeverityType.NonAlarmed);
- return map;
- }
-
- @Override
- public void onObjectDeletionNotification(ObjectDeletionNotification notification) {
- log.debug("Got event of type :: {}", ObjectDeletionNotification.class.getSimpleName());
-
- EventlogBuilder eventlogBuilder = new EventlogBuilder();
- eventlogBuilder.setNodeId(netconfAccessor.getNodeId().getValue())
- .setAttributeName("")
- .setCounter(notification.getCounter())
- .setNewValue("deleted")
- .setObjectId(notification.getObjectIdRef().getValue())
- .setSourceType(SourceType.Netconf)
- .setTimestamp(notification.getTimestamp());
- serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
- serviceProvider.getWebsocketService().sendNotification(notification, netconfAccessor.getNodeId(),
- ObjectDeletionNotification.QNAME, notification.getTimestamp());
-
- log.debug("onObjectDeletionNotification log entry written");
- }
-
- @Override
- public void onProblemNotification(ProblemNotification notification) {
- log.debug("Got event of type :: {}", ProblemNotification.class.getSimpleName());
- FaultlogEntity faultAlarm = new FaultlogBuilder().setObjectId(notification.getObjectIdRef().getValue())
- .setProblem(notification.getProblem()).setTimestamp(notification.getTimestamp())
- .setNodeId(this.netconfAccessor.getNodeId().getValue()).setSourceType(SourceType.Netconf)
- .setSeverity(mapSeverity(notification.getSeverity())).setCounter(notification.getCounter())
- .build();
- serviceProvider.getFaultService().faultNotification(faultAlarm);
- serviceProvider.getWebsocketService().sendNotification( notification, netconfAccessor.getNodeId(),
- ProblemNotification.QNAME, notification.getTimestamp());
-
- }
-
- private SeverityType mapSeverity(@Nullable Class<? extends SEVERITYTYPE> severity) {
- return severityMap.getOrDefault(severity,SeverityType.NonAlarmed);
- }
-
- @Override
- public void onAttributeValueChangedNotification(AttributeValueChangedNotification notification) {
- log.debug("Got event of type :: {}", AttributeValueChangedNotification.class.getSimpleName());
-
- EventlogBuilder eventlogBuilder = new EventlogBuilder();
- eventlogBuilder.setNodeId(netconfAccessor.getNodeId().getValue())
- .setAttributeName(notification.getAttributeName())
- .setCounter(notification.getCounter())
- .setNewValue(notification.getNewValue())
- .setObjectId(notification.getObjectIdRef().getValue())
- .setSourceType(SourceType.Netconf)
- .setTimestamp(notification.getTimestamp());
- serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
- serviceProvider.getWebsocketService().sendNotification(notification, netconfAccessor.getNodeId(),
- AttributeValueChangedNotification.QNAME, notification.getTimestamp());
-
-
- log.debug("onAttributeValueChangedNotification log entry written");
- }
-
- @Override
- public void onObjectCreationNotification(ObjectCreationNotification notification) {
- log.debug("Got event of type :: {}", ObjectCreationNotification.class.getSimpleName());
-
- EventlogBuilder eventlogBuilder = new EventlogBuilder();
- eventlogBuilder.setNodeId(netconfAccessor.getNodeId().getValue())
- .setAttributeName(notification.getObjectType())
- .setCounter(notification.getCounter())
- .setNewValue("created")
- .setObjectId(notification.getObjectIdRef().getValue())
- .setSourceType(SourceType.Netconf)
- .setTimestamp(notification.getTimestamp());
- serviceProvider.getDataProvider().writeEventLog(eventlogBuilder.build());
- serviceProvider.getWebsocketService().sendNotification(notification, netconfAccessor.getNodeId(),
- ObjectCreationNotification.QNAME, notification.getTimestamp());
-
- log.debug("onObjectCreationNotification log entry written");
- }
-
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/Control.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/Control.java
deleted file mode 100644
index fc4de9104..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/Control.java
+++ /dev/null
@@ -1,26 +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.devicemanager.onf14.yang;
-
-public class Control {
-
- public class MaxAlarmStatusChanges {
-
- }
-
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/OperatorState.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/OperatorState.java
deleted file mode 100644
index 9b516bb67..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/OperatorState.java
+++ /dev/null
@@ -1,22 +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.devicemanager.onf14.yang;
-
-public enum OperatorState {
-
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/Resource.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/Resource.java
deleted file mode 100644
index 7966c1c71..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/Resource.java
+++ /dev/null
@@ -1,22 +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.devicemanager.onf14.yang;
-
-public class Resource {
-
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/ResourceMatch.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/ResourceMatch.java
deleted file mode 100644
index c7e9103a1..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/ResourceMatch.java
+++ /dev/null
@@ -1,22 +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.devicemanager.onf14.yang;
-
-public class ResourceMatch {
-
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/SeverityWithClear.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/SeverityWithClear.java
deleted file mode 100644
index 1b39bf928..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/SeverityWithClear.java
+++ /dev/null
@@ -1,22 +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.devicemanager.onf14.yang;
-
-public enum SeverityWithClear {
-
-}
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/package-info.java b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/package-info.java
deleted file mode 100644
index 0769687e8..000000000
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/onf14/yang/package-info.java
+++ /dev/null
@@ -1,18 +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.devicemanager.onf14.yang;
diff --git a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml
index 0be800784..38c9e15c3 100644
--- a/sdnr/wt/devicemanager-onap/onf14/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml
+++ b/sdnr/wt/devicemanager-onap/onf14/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml
@@ -31,7 +31,7 @@
interface="org.onap.ccsdk.features.sdnr.wt.devicemanager.service.NetconfNetworkElementService"/>
<bean id="provider"
- class="org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.impl.DeviceManagerOnf14Impl"
+ class="org.onap.ccsdk.features.sdnr.wt.devicemanager.onf14.dom.impl.DeviceManagerOnf14Impl"
init-method="init" destroy-method="close">
<property name="netconfNetworkElementService" ref="netconfNetworkElementService"/>
</bean>