diff options
author | Michael DÜrre <michael.duerre@highstreet-technologies.com> | 2021-04-08 06:34:22 +0200 |
---|---|---|
committer | Michael DÜrre <michael.duerre@highstreet-technologies.com> | 2021-04-08 06:34:46 +0200 |
commit | f3969004c6ccac18e742c5fc48c844e315991023 (patch) | |
tree | f5486a62e842bb16ca7d3af47a8663df08feef55 /sdnr/wt/devicemanager-openroadm | |
parent | a252be83694ae33260d99d5371ed48c1558aa2e8 (diff) |
update websocketmanager
update complete notification flow
Issue-ID: CCSDK-3252
Signed-off-by: Michael DÜrre <michael.duerre@highstreet-technologies.com>
Change-Id: I87ba00f615707b942471fcace57bcda50ce37e61
Diffstat (limited to 'sdnr/wt/devicemanager-openroadm')
15 files changed, 175 insertions, 137 deletions
diff --git a/sdnr/wt/devicemanager-openroadm/installer/pom.xml b/sdnr/wt/devicemanager-openroadm/installer/pom.xml index 9b56a9dec..7ddf0f416 100755 --- a/sdnr/wt/devicemanager-openroadm/installer/pom.xml +++ b/sdnr/wt/devicemanager-openroadm/installer/pom.xml @@ -20,7 +20,6 @@ ~ ============LICENSE_END======================================================= ~ --> - <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmChangeNotificationListener.java b/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmChangeNotificationListener.java index a138dfbd8..3af6d7aca 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmChangeNotificationListener.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmChangeNotificationListener.java @@ -23,7 +23,9 @@ package org.onap.ccsdk.features.sdnr.wt.devicemanager.openroadm.impl; import java.util.List; import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider; +import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.types.NetconfTimeStampImpl; import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor; +import org.onap.ccsdk.features.sdnr.wt.websocketmanager.model.WebsocketManagerService; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.IetfNetconfNotificationsListener; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfCapabilityChange; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfConfigChange; @@ -50,12 +52,15 @@ public class OpenroadmChangeNotificationListener implements IetfNetconfNotificat private static final Logger log = LoggerFactory.getLogger(OpenroadmChangeNotificationListener.class); private final NetconfAccessor netconfAccessor; private final DataProvider databaseService; + private final WebsocketManagerService notificationServiceService; // end of variables // constructors - public OpenroadmChangeNotificationListener(NetconfAccessor netconfAccessor, DataProvider databaseService) { + public OpenroadmChangeNotificationListener(NetconfAccessor netconfAccessor, DataProvider databaseService, + WebsocketManagerService notificationService) { this.netconfAccessor = netconfAccessor; this.databaseService = databaseService; + this.notificationServiceService = notificationService; } // end of constructors @@ -63,21 +68,30 @@ public class OpenroadmChangeNotificationListener implements IetfNetconfNotificat @Override public void onNetconfConfirmedCommit(NetconfConfirmedCommit notification) { log.info("onNetconfConfirmedCommit {} ", notification); + this.notificationServiceService.sendNotification(notification, this.netconfAccessor.getNodeId().getValue(), + NetconfConfirmedCommit.QNAME, NetconfTimeStampImpl.getConverter().getTimeStamp()); } @Override public void onNetconfSessionStart(NetconfSessionStart notification) { log.info("onNetconfSessionStart {} ", notification); + this.notificationServiceService.sendNotification(notification, this.netconfAccessor.getNodeId().getValue(), + NetconfSessionStart.QNAME, NetconfTimeStampImpl.getConverter().getTimeStamp()); + } @Override public void onNetconfSessionEnd(NetconfSessionEnd notification) { log.info("onNetconfSessionEnd {}", notification); + this.notificationServiceService.sendNotification(notification, this.netconfAccessor.getNodeId().getValue(), + NetconfSessionEnd.QNAME, NetconfTimeStampImpl.getConverter().getTimeStamp()); } @Override public void onNetconfCapabilityChange(NetconfCapabilityChange notification) { log.info("onNetconfCapabilityChange {}", notification); + this.notificationServiceService.sendNotification(notification, this.netconfAccessor.getNodeId().getValue(), + NetconfCapabilityChange.QNAME, NetconfTimeStampImpl.getConverter().getTimeStamp()); } @Override @@ -106,6 +120,9 @@ public class OpenroadmChangeNotificationListener implements IetfNetconfNotificat databaseService.writeEventLog(eventlogBuilder.build()); } log.info("onNetconfConfigChange (2) {}", sb); + this.notificationServiceService.sendNotification(notification, this.netconfAccessor.getNodeId().getValue(), + NetconfConfigChange.QNAME, NetconfTimeStampImpl.getConverter().getTimeStamp()); + } // end of public methods diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmDeviceChangeNotificationListener.java b/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmDeviceChangeNotificationListener.java index 44c8b8d6d..daea1adb3 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmDeviceChangeNotificationListener.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmDeviceChangeNotificationListener.java @@ -27,6 +27,7 @@ import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider; import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.NetconfTimeStamp; import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.types.NetconfTimeStampImpl; import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor; +import org.onap.ccsdk.features.sdnr.wt.websocketmanager.model.WebsocketManagerService; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev191129.ChangeNotification; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev191129.CreateTechInfoNotification; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev191129.OrgOpenroadmDeviceListener; @@ -52,13 +53,16 @@ public class OpenroadmDeviceChangeNotificationListener implements OrgOpenroadmDe private Integer counter = 1; private final NetconfAccessor netconfAccessor; private final DataProvider databaseProvider; + private final WebsocketManagerService notificationServiceService; private static final NetconfTimeStamp ncTimeConverter = NetconfTimeStampImpl.getConverter(); // end of variables // constructors - public OpenroadmDeviceChangeNotificationListener(NetconfAccessor netconfAccessor, DataProvider databaseService) { + public OpenroadmDeviceChangeNotificationListener(NetconfAccessor netconfAccessor, DataProvider databaseService, + WebsocketManagerService faultService) { this.netconfAccessor = netconfAccessor; this.databaseProvider = databaseService; + this.notificationServiceService = faultService; } // end of constructors @@ -100,18 +104,23 @@ public class OpenroadmDeviceChangeNotificationListener implements OrgOpenroadmDe log.info("onDeviceConfigChange (2) {}", sb); counter++; } + this.notificationServiceService.sendNotification(notification, this.netconfAccessor.getNodeId().getValue(), + ChangeNotification.QNAME, notification.getChangeTime()); } @Override public void onCreateTechInfoNotification(CreateTechInfoNotification notification) { + DateAndTime now = NetconfTimeStampImpl.getConverter().getTimeStamp(); log.info("onCreateTechInfoNotification(1){}", notification); EventlogBuilder eventlogBuilder = new EventlogBuilder(); eventlogBuilder.setId(notification.getShelfId()).setAttributeName(notification.getShelfId()) .setObjectId(notification.getShelfId()).setNodeId(this.netconfAccessor.getNodeId().getValue()) .setCounter(counter).setNewValue(notification.getStatus().getName()).setSourceType(SourceType.Netconf) - .setTimestamp(new DateAndTime(ncTimeConverter.getTimeStamp())); + .setTimestamp(now); databaseProvider.writeEventLog(eventlogBuilder.build()); + this.notificationServiceService.sendNotification(notification, this.netconfAccessor.getNodeId().getValue(), + CreateTechInfoNotification.QNAME, now); log.info("Create-techInfo Notification written "); counter++; } diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmFaultNotificationListener.java b/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmFaultNotificationListener.java index 6c3ebd60a..10d0a5640 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmFaultNotificationListener.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmFaultNotificationListener.java @@ -25,10 +25,12 @@ package org.onap.ccsdk.features.sdnr.wt.devicemanager.openroadm.impl; import org.eclipse.jdt.annotation.NonNull; 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.websocketmanager.model.WebsocketManagerService; import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev191129.AlarmNotification; import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev191129.OrgOpenroadmAlarmListener; 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.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -39,36 +41,38 @@ import org.slf4j.LoggerFactory; **/ public class OpenroadmFaultNotificationListener implements OrgOpenroadmAlarmListener { private static final Logger log = LoggerFactory.getLogger(OpenroadmFaultNotificationListener.class); - // variables + private final @NonNull FaultService faultEventListener; + private @NonNull WebsocketManagerService notificationService; private Integer count = 1; - // end of variables - // constructors + + public OpenroadmFaultNotificationListener(DeviceManagerServiceProvider serviceProvider) { this.faultEventListener = serviceProvider.getFaultService(); + this.notificationService = serviceProvider.getWebsocketService(); } - // end of constructors - // public methods + @Override public void onAlarmNotification(AlarmNotification notification) { log.info("AlarmNotification {} \t {}", notification.getId(), notification.getAdditionalDetail()); - + final String nodeId = notification.getResource().getDevice().getNodeId().getValue(); FaultlogEntity faultAlarm = new FaultlogBuilder().setObjectId(notification.getCircuitId()) - .setProblem(notification.getProbableCause().getCause().getName()) - .setTimestamp(notification.getRaiseTime()).setId(notification.getId()) - .setNodeId(notification.getResource().getDevice().getNodeId().getValue()) + .setProblem(notification.getProbableCause().getCause().getName()).setSourceType(SourceType.Netconf) + .setTimestamp(notification.getRaiseTime()).setId(notification.getId()).setNodeId(nodeId) .setSeverity(InitialDeviceAlarmReader.checkSeverityValue(notification.getSeverity())).setCounter(count) .build(); this.faultEventListener.faultNotification(faultAlarm); + this.notificationService.sendNotification(notification, nodeId, AlarmNotification.QNAME, + notification.getRaiseTime()); count++; log.info("Notification is written into the database {}", faultAlarm.getObjectId()); } - // end of public methods + } diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElement.java b/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElement.java index bf57a3cf7..02f8547ae 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElement.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElement.java @@ -25,7 +25,6 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Hashtable; import java.util.List; -import java.util.Optional; import org.eclipse.jdt.annotation.NonNull; import org.onap.ccsdk.features.sdnr.wt.common.YangHelper; import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.NetconfTimeStamp; @@ -33,7 +32,6 @@ import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.types.NetconfTimeStamp import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider; 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.NetconfNotifications; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev191129.OrgOpenroadmDevice; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev191129.circuit.packs.CircuitPacks; @@ -44,6 +42,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev191129.shelves. import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev191129.xponder.XpdrPort; 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.Inventory; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.PmdataEntity; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SourceType; import org.opendaylight.yangtools.concepts.ListenerRegistration; @@ -77,7 +76,6 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { private PmDataBuilderOpenRoadm openRoadmPmData; private InitialDeviceAlarmReader initialAlarmReader; - private Optional<NetconfNotifications> notifications; private static final NetconfTimeStamp ncTimeConverter = NetconfTimeStampImpl.getConverter(); private int counter = 1; // end of variables @@ -87,15 +85,15 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { super(netconfAccess, serviceProvider); - this.notifications = netconfAccess.getNotificationAccessor(); - log.info("Create {}", OpenroadmNetworkElement.class.getSimpleName()); this.openRdmListenerRegistrationResult = null; - this.openRdmListener = new OpenroadmChangeNotificationListener(netconfAccessor, databaseService); + this.openRdmListener = new OpenroadmChangeNotificationListener(netconfAccessor, databaseService, + serviceProvider.getWebsocketService()); this.opnRdmFaultListenerRegistrationResult = null; this.opnRdmFaultListener = new OpenroadmFaultNotificationListener(serviceProvider); this.opnRdmDeviceListenerRegistrationResult = null; - this.opnRdmDeviceListener = new OpenroadmDeviceChangeNotificationListener(netconfAccessor, databaseService); + this.opnRdmDeviceListener = new OpenroadmDeviceChangeNotificationListener(netconfAccessor, databaseService, + serviceProvider.getWebsocketService()); this.circuitPacksRecord = new Hashtable<>(); this.shelfProvisionedcircuitPacks = new Hashtable<>(); this.openRoadmPmData = new PmDataBuilderOpenRoadm(this.netconfAccessor); @@ -112,15 +110,16 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { OrgOpenroadmDevice device = readDevice(this.netconfAccessor); this.opnRdmInventoryInput = new OpenroadmInventoryInput(this.netconfAccessor, device); log.info("openroadmMapper details{}", this.opnRdmInventoryInput.getClass().getName()); - databaseService.writeInventory(this.opnRdmInventoryInput.getInventoryData(Uint32.valueOf(equipmentLevel))); - - readShelvesData(device); - readXpndrData(device); - readCircuitPacketData(device); - readInterfaceData(device); + List<Inventory> inventoryList = new ArrayList<>(); + inventoryList.add(this.opnRdmInventoryInput.getInventoryData(Uint32.valueOf(equipmentLevel))); + readShelvesData(inventoryList, device); + readXpndrData(inventoryList, device); + readCircuitPacketData(inventoryList, device); + readInterfaceData(inventoryList, device); + this.databaseService.writeInventory(this.netconfAccessor.getNodeId().getValue(), inventoryList); // Writing initial alarms at the time of device registration initialAlarmReader.faultService(); -// Writing historical PM data at the time of device registration + // Writing historical PM data at the time of device registration List<PmdataEntity> pmDataEntity = new ArrayList<>(); pmDataEntity = this.openRoadmPmData.buildPmDataEntity(this.openRoadmPmData.getPmData(this.netconfAccessor)); if (!pmDataEntity.isEmpty()) { @@ -145,7 +144,7 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { this.opnRdmDeviceListenerRegistrationResult = netconfAccessor.doRegisterNotificationListener(opnRdmDeviceListener); // Register netconf stream - notifications.get().registerNotificationsStream(NetconfAccessor.DefaultNotificationsStream); + netconfAccessor.registerNotificationsStream(NetconfAccessor.DefaultNotificationsStream); } @Override @@ -164,7 +163,7 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { // end of public methods // private methods - private void readShelvesData(OrgOpenroadmDevice device) { + private void readShelvesData(List<Inventory> inventoryList, OrgOpenroadmDevice device) { Collection<Shelves> shelves = YangHelper.getCollection(device.getShelves()); if (shelves != null) { for (Shelves shelf : shelves) { @@ -174,8 +173,8 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { shelf.getShelfName(), shelf.getSerialId(), shelf.getProductCode(), shelf.getShelfPosition(), shelf.getEquipmentState(), shelf.getHardwareVersion(), shelf.getShelfType(), shelf.getVendor(), shelf.getLifecycleState()); - databaseService.writeInventory( - this.opnRdmInventoryInput.getShelvesInventory(shelf, Uint32.valueOf(equipmentLevel + 1))); + inventoryList + .add(this.opnRdmInventoryInput.getShelvesInventory(shelf, Uint32.valueOf(equipmentLevel + 1))); Collection<Slots> slotList = YangHelper.getCollection(shelf.getSlots()); if (slotList != null) { for (Slots slot : slotList) { @@ -193,13 +192,13 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { } - private void readXpndrData(OrgOpenroadmDevice device) { + private void readXpndrData(List<Inventory> inventoryList, OrgOpenroadmDevice device) { Collection<Xponder> xponderList = YangHelper.getCollection(device.getXponder()); if (xponderList != null) { for (Xponder xponder : xponderList) { - databaseService.writeInventory( + inventoryList.add( this.opnRdmInventoryInput.getXponderInventory(xponder, Uint32.valueOf(equipmentLevel + 1))); log.info("Xponders: No.: {} , \n Port: {} ,\n Type: {}", xponder.getXpdrNumber(), xponder.getXpdrPort(), xponder.getXpdrType()); @@ -216,12 +215,12 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { } } - private void readCircuitPacketData(OrgOpenroadmDevice device) { + private void readCircuitPacketData(List<Inventory> inventoryList, OrgOpenroadmDevice device) { Collection<CircuitPacks> circuitpackCollection = YangHelper.getCollection(device.getCircuitPacks()); List<String> cpNameList = new ArrayList<>(); if (circuitpackCollection != null) { -// collect all circuit pack names. Required to check for invalid parents later on + // collect all circuit pack names. Required to check for invalid parents later on for (CircuitPacks cp : circuitpackCollection) { cpNameList.add(cp.getCircuitPackName()); } @@ -233,7 +232,7 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { && !this.shelfProvisionedcircuitPacks.containsKey(cp.getCircuitPackName())) { log.info("cp has no parent and no shelf"); this.circuitPacksRecord.put(cp.getCircuitPackName(), (equipmentLevel + 1)); - databaseService.writeInventory( + inventoryList.add( this.opnRdmInventoryInput.getCircuitPackInventory(cp, Uint32.valueOf(equipmentLevel + 1))); } else { // check for missing valid parent circuit name @@ -243,7 +242,7 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { log.info("Cp {} has slotname of the parent circuit pack but no parent circuit pack name", cp.getCircuitPackName()); this.circuitPacksRecord.put(cp.getCircuitPackName(), (equipmentLevel + 3)); - databaseService.writeInventory(this.opnRdmInventoryInput.getCircuitPackInventory(cp, + inventoryList.add(this.opnRdmInventoryInput.getCircuitPackInventory(cp, Uint32.valueOf(equipmentLevel + 3))); databaseService.writeEventLog(writeIncorrectParentLog(cp.getCircuitPackName(), counter) .setObjectId(device.getInfo().getNodeId().getValue()) @@ -254,10 +253,10 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { .containsKey(cp.getParentCircuitPack().getCircuitPackName())) { log.info("Cp {} has parent circuit pack and shelf", cp.getCircuitPackName()); this.circuitPacksRecord.put(cp.getCircuitPackName(), (equipmentLevel + 3)); - databaseService.writeInventory(this.opnRdmInventoryInput.getCircuitPackInventory(cp, + inventoryList.add(this.opnRdmInventoryInput.getCircuitPackInventory(cp, Uint32.valueOf(equipmentLevel + 3))); } else { -// check for incorrect hierarchy + // check for incorrect hierarchy if (cp.getParentCircuitPack().getCircuitPackName() != null && !cpNameList.contains(cp.getParentCircuitPack().getCircuitPackName())) { databaseService.writeEventLog(writeIncorrectParentLog(cp.getCircuitPackName(), counter) @@ -267,7 +266,7 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { log.info("Cp has parent circuit pack but no shelf or a shelf but no parent circuit pack"); this.circuitPacksRecord.put(cp.getCircuitPackName(), (equipmentLevel + 2)); - databaseService.writeInventory(this.opnRdmInventoryInput.getCircuitPackInventory(cp, + inventoryList.add(this.opnRdmInventoryInput.getCircuitPackInventory(cp, Uint32.valueOf(equipmentLevel + 2))); } @@ -277,7 +276,7 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { } } - private void readInterfaceData(OrgOpenroadmDevice device) { + private void readInterfaceData(List<Inventory> inventoryList, OrgOpenroadmDevice device) { Collection<Interface> interfaceList = YangHelper.getCollection(device.getInterface()); if (interfaceList != null) { for (Interface deviceInterface : interfaceList) { @@ -290,13 +289,13 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { deviceInterface.getSupportingCircuitPackName()); if (deviceInterface.getSupportingCircuitPackName() != null) { if (this.circuitPacksRecord.containsKey(deviceInterface.getSupportingCircuitPackName())) { - databaseService.writeInventory(this.opnRdmInventoryInput.getInterfacesInventory(deviceInterface, + inventoryList.add(this.opnRdmInventoryInput.getInterfacesInventory(deviceInterface, Uint32.valueOf( this.circuitPacksRecord.get(deviceInterface.getSupportingCircuitPackName()) + 1))); } } else { - databaseService.writeInventory(this.opnRdmInventoryInput.getInterfacesInventory(deviceInterface, + inventoryList.add(this.opnRdmInventoryInput.getInterfacesInventory(deviceInterface, Uint32.valueOf(equipmentLevel + 1))); } } @@ -306,8 +305,8 @@ public class OpenroadmNetworkElement extends OpenroadmNetworkElementBase { private OrgOpenroadmDevice readDevice(NetconfBindingAccessor accessor) { final Class<OrgOpenroadmDevice> openRoadmDev = OrgOpenroadmDevice.class; InstanceIdentifier<OrgOpenroadmDevice> deviceId = InstanceIdentifier.builder(openRoadmDev).build(); - return accessor.getTransactionUtils().readData(accessor.getDataBroker(), - LogicalDatastoreType.OPERATIONAL, deviceId); + return accessor.getTransactionUtils().readData(accessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL, + deviceId); } private EventlogBuilder writeIncorrectParentLog(String attributeName, Integer counter) { diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElementBase.java b/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElementBase.java index 9f69018f8..9949056bb 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElementBase.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/OpenroadmNetworkElementBase.java @@ -32,19 +32,17 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.pro import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId; public class OpenroadmNetworkElementBase implements NetworkElement { - // variables + protected final NetconfBindingAccessor netconfAccessor; protected final DataProvider databaseService; - // end of variables - // constructors + public OpenroadmNetworkElementBase(NetconfBindingAccessor netconfAccess, DeviceManagerServiceProvider serviceProvider) { this.netconfAccessor = netconfAccess; this.databaseService = serviceProvider.getDataProvider(); } - // end of constructors - //public methods + @Override public void register() {} @@ -73,5 +71,4 @@ public class OpenroadmNetworkElementBase implements NetworkElement { public Optional<NetconfAccessor> getAcessor() { return Optional.of(netconfAccessor); } - // end of public methods } diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/PmDataBuilderOpenRoadm.java b/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/PmDataBuilderOpenRoadm.java index 7665e81d8..f1fd4471f 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/PmDataBuilderOpenRoadm.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/impl/PmDataBuilderOpenRoadm.java @@ -71,17 +71,17 @@ public class PmDataBuilderOpenRoadm { private static final Logger log = LoggerFactory.getLogger(PmDataBuilderOpenRoadm.class); private PmdataEntityBuilder pmDataBuilder; private Bundle b = FrameworkUtil.getBundle(this.getClass()); - // end of variables + // end of variables // constructors public PmDataBuilderOpenRoadm(NetconfBindingAccessor accessor) { this.pmDataBuilder = new PmdataEntityBuilder(); this.pmDataBuilder.setNodeName(accessor.getNodeId().getValue()); } - // end of constructors + // end of constructors // public methods - // Instantiate historical PM data list + // Read PM data public HistoricalPmList getPmData(NetconfBindingAccessor accessor) { final Class<HistoricalPmList> pmDataClass = HistoricalPmList.class; log.info("Get PM data for element {}", accessor.getNodeId().getValue()); @@ -101,6 +101,7 @@ public class PmDataBuilderOpenRoadm { Collection<HistoricalPm> historicalPmList = YangHelper.getCollection(pmDataEntry.getHistoricalPm()); for (HistoricalPm historicalPm : historicalPmList) { log.info("PmName:{}", historicalPm.getType()); + // pmDataBuilder.setPerformanceData(value) try { writeperformanceData(historicalPm); @@ -118,11 +119,9 @@ public class PmDataBuilderOpenRoadm { // end of public methods // private methods - // Build performance data of Data provider by mapping values from device private void writeperformanceData(HistoricalPm historicalPm) throws ClassNotFoundException { Collection<Measurement> measurementList = YangHelper.getCollection(historicalPm.getMeasurement()); - Map<MeasurementKey, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.Measurement> measurementMap = - new HashMap<>(); + Map<MeasurementKey, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.Measurement> measurementMap=new HashMap<>(); // Map Performance data of PmDataEntity with MeasurmentData-HistoricalPm PerformanceDataBuilder performanceDataBuilder = new PerformanceDataBuilder(); for (Measurement measurementData : measurementList) { @@ -131,11 +130,9 @@ public class PmDataBuilderOpenRoadm { if (measurementData.getValidity().getName().equals("suspect")) { this.pmDataBuilder.setSuspectIntervalFlag(true); } - measurementMap.put( - new MeasurementKey(measurementBuilder(historicalPm.getType(), measurementData.getPmParameterUnit(), - measurementData.getPmParameterValue()).getPmKey()), - measurementBuilder(historicalPm.getType(), measurementData.getPmParameterUnit(), - measurementData.getPmParameterValue())); + measurementMap.put(new MeasurementKey(measurementBuilder(historicalPm.getType(), measurementData.getPmParameterUnit(), + measurementData.getPmParameterValue()).getPmKey()), measurementBuilder(historicalPm.getType(), measurementData.getPmParameterUnit(), + measurementData.getPmParameterValue())); } @@ -166,42 +163,20 @@ public class PmDataBuilderOpenRoadm { return granPeriod; } - - // Build the measurement list of data provider based on various values from device - private org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.Measurement measurementBuilder( - PmNamesEnum pmType, String pmUnit, PmDataType pmDataType) { - - MeasurementBuilder measBuilder = new MeasurementBuilder(); - if (pmType.getName().equals("erroredSeconds")) { - measBuilder.setPmKey(ErroredSecond.class); - } else if (pmType.getName().equals("severelyErroredSeconds")) { - measBuilder.setPmKey(SeverelyErroredSecond.class); - } else { - for (Class<? extends PerformanceMeasurementTypeId> obj : setMeasurementTypeId()) { - if (obj.toString().contains(pmType.name())) { - measBuilder.setPmKey(obj); - } - } - } - measBuilder.setPmUnit(setMeasurementUnit(pmUnit)); - measBuilder.setPmValue(pmDataType); - return measBuilder.build(); - - } - // Find the proper PerformanceMeasurementTypeId class based on the PmNames Enum value from device private List<Class<? extends PerformanceMeasurementTypeId>> setMeasurementTypeId() { String packageName = "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.openroadm.pm.types.rev200413"; String packageName1 = "/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/data/provider/openroadm/pm/types/rev200413/"; - List<Class<? extends PerformanceMeasurementTypeId>> measTypeObjList = new ArrayList<>(); + List<Class<? extends PerformanceMeasurementTypeId>> measTypeObjList = + new ArrayList<>(); URL root = Thread.currentThread().getContextClassLoader().getResource(packageName1); log.info("path for type package: {}", root); Enumeration<URL> results = getFileURL(b, packageName); log.info("FOund Packages {}", results); - if (results != null) { + if(results != null) { while (results.hasMoreElements()) { URL path = results.nextElement(); @@ -212,11 +187,11 @@ public class PmDataBuilderOpenRoadm { } - if (cls1 != null) { + if(cls1!=null) { log.info("Class Added {}", cls1.getSimpleName()); } - } + } } @@ -224,34 +199,53 @@ public class PmDataBuilderOpenRoadm { return measTypeObjList; } - //Map matching PerformanceMeasurementUnitId class based on the string value from device private Class<? extends PerformanceMeasurementUnitId> setMeasurementUnit(String unitName) { - Class<? extends PerformanceMeasurementUnitId> measurementUnitClass = null; + Class<? extends PerformanceMeasurementUnitId> measurementUnitClass = null; switch (unitName) { case ("celsius"): measurementUnitClass = Celsius.class; break; - case ("dB"): + case("dB"): measurementUnitClass = DB.class; break; - case ("dBm"): + case("dBm"): measurementUnitClass = DBm.class; break; - case ("fahrenheit"): + case("fahrenheit"): measurementUnitClass = Fahrenheit.class; break; - case ("kHz"): + case("kHz"): measurementUnitClass = KHz.class; break; - case ("mW"): + case("mW"): measurementUnitClass = MW.class; break; default: break; } - return measurementUnitClass; - } + return measurementUnitClass; + } + + private org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.Measurement measurementBuilder( + PmNamesEnum pmType, String pmUnit, PmDataType pmDataType) { + MeasurementBuilder measBuilder = new MeasurementBuilder(); + if (pmType.getName().equals("erroredSeconds") ) { + measBuilder.setPmKey(ErroredSecond.class); + } else if (pmType.getName().equals("severelyErroredSeconds")) { + measBuilder.setPmKey(SeverelyErroredSecond.class); + } else { + for (Class<? extends PerformanceMeasurementTypeId> obj : setMeasurementTypeId()) { + if (obj.toString().contains(pmType.name())) { + measBuilder.setPmKey(obj); + } + } + } + measBuilder.setPmUnit(setMeasurementUnit(pmUnit)); + measBuilder.setPmValue(pmDataType); + return measBuilder.build(); + + } private Class<?> loadClass(Bundle bundle, String classFilePath) { String className = classFilePath.replaceFirst("^/", "").replace('/', '.').replaceFirst(".class$", ""); diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestChangeNotificationListener.java b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestChangeNotificationListener.java index 305bd9ca3..87f195dc3 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestChangeNotificationListener.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestChangeNotificationListener.java @@ -31,6 +31,7 @@ import org.junit.Test; import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider; import org.onap.ccsdk.features.sdnr.wt.devicemanager.openroadm.impl.OpenroadmChangeNotificationListener; import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor; +import org.onap.ccsdk.features.sdnr.wt.websocketmanager.model.WebsocketManagerService; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.EditOperationType; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfConfigChange; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.netconf.config.change.Edit; @@ -43,18 +44,17 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.PathArgument; public class TestChangeNotificationListener { - // variables + private static final String NODEID = "node1"; - // end of variables - // public methods @Test public void test() { NetconfAccessor netconfAccessor = mock(NetconfAccessor.class); DataProvider databaseService = mock(DataProvider.class); + WebsocketManagerService notificationService = mock(WebsocketManagerService.class); OpenroadmChangeNotificationListener notifListener = - new OpenroadmChangeNotificationListener(netconfAccessor, databaseService); + new OpenroadmChangeNotificationListener(netconfAccessor, databaseService, notificationService); when(netconfAccessor.getNodeId()).thenReturn(new NodeId(NODEID)); Iterable<? extends PathArgument> pathArguments = Arrays.asList(new PathArgument() { @@ -77,8 +77,6 @@ public class TestChangeNotificationListener { } - // end of public methods - // private methods /** * @param type * @return @@ -91,5 +89,4 @@ public class TestChangeNotificationListener { when(change.nonnullEdit()).thenReturn(edits); return change; } - // end of private methods } diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestDeviceManagerOpenRoadmImpl.java b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestDeviceManagerOpenRoadmImpl.java index f86a22d6d..c24e0f621 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestDeviceManagerOpenRoadmImpl.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestDeviceManagerOpenRoadmImpl.java @@ -30,12 +30,9 @@ import org.onap.ccsdk.features.sdnr.wt.devicemanager.openroadm.impl.DeviceManage import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.NetconfNetworkElementService; public class TestDeviceManagerOpenRoadmImpl { - // variables DeviceManagerOpenroadmImpl devMgrOpenRdmImpl; NetconfNetworkElementService netcnfNtwrkElmntSrvc; - // end of variables - // public methods @Before public void init() { netcnfNtwrkElmntSrvc = mock(NetconfNetworkElementService.class); @@ -53,5 +50,5 @@ public class TestDeviceManagerOpenRoadmImpl { public void cleanUp() throws Exception { devMgrOpenRdmImpl.close(); } - // end of public methods + } diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmAlarmNotification.java b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmAlarmNotification.java index 4b44386a9..ff0ddb43c 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmAlarmNotification.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmAlarmNotification.java @@ -32,6 +32,7 @@ import org.onap.ccsdk.features.sdnr.wt.devicemanager.openroadm.impl.OpenroadmFau 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.netconfnodestateservice.NetconfAccessor; +import org.onap.ccsdk.features.sdnr.wt.websocketmanager.model.WebsocketManagerService; import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev191129.AlarmNotification; import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev191129.Severity; import org.opendaylight.yang.gen.v1.http.org.openroadm.alarm.rev191129.alarm.ProbableCause; @@ -45,7 +46,6 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.resource.rev191129.resour import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime; public class TestOpenRoadmAlarmNotification { - // variables private static final String myCircuitId = "Test_Id"; private static final String myId = "Alarm_Id"; DateAndTime myRaiseTime = new DateAndTime("2020-02-25T10:08:06.7Z"); @@ -58,23 +58,26 @@ public class TestOpenRoadmAlarmNotification { static AlarmNotification notification; Severity severity; static NetconfAccessor accessor; + static WebsocketManagerService notificationService; - // end of variables - // public methods @BeforeClass public static void init() throws InterruptedException, IOException { accessor = mock(NetconfAccessor.class); serviceProvider = mock(DeviceManagerServiceProvider.class); faultService = mock(FaultService.class); - + notificationService = mock(WebsocketManagerService.class); } + + @Test public void testNotification() { severity = Severity.Critical; when(serviceProvider.getFaultService()).thenReturn(faultService); - OpenroadmFaultNotificationListener alarmListener = new OpenroadmFaultNotificationListener(serviceProvider); + when(serviceProvider.getWebsocketService()).thenReturn(notificationService); + OpenroadmFaultNotificationListener alarmListener = + new OpenroadmFaultNotificationListener(serviceProvider); notification = mock(AlarmNotification.class); when(notification.getId()).thenReturn(myId); @@ -92,7 +95,7 @@ public class TestOpenRoadmAlarmNotification { assertEquals(myResource, notification.getResource()); assertEquals(severity, notification.getSeverity()); + } - // end of public methods } diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmDeviceChangeNotification.java b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmDeviceChangeNotification.java index 24c8824e5..a6d276d48 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmDeviceChangeNotification.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmDeviceChangeNotification.java @@ -33,6 +33,7 @@ import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.NetconfTimeStamp; import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.types.NetconfTimeStampImpl; import org.onap.ccsdk.features.sdnr.wt.devicemanager.openroadm.impl.OpenroadmDeviceChangeNotificationListener; import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor; +import org.onap.ccsdk.features.sdnr.wt.websocketmanager.model.WebsocketManagerService; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev191129.RpcStatus; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev191129.ChangeNotification; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev191129.CreateTechInfoNotification; @@ -40,7 +41,6 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev191129.CreateTe import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev191129.change.notification.Edit; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev191129.change.notification.EditBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.EditOperationType; -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.EventlogEntity; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.SourceType; @@ -49,17 +49,17 @@ import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.PathArgument; + + public class TestOpenRoadmDeviceChangeNotification { - // variables private static final String NODEID = "Roadm1"; private NetconfAccessor netconfAccessor = mock(NetconfAccessor.class); private DataProvider databaseService = mock(DataProvider.class); + WebsocketManagerService notificationService = mock(WebsocketManagerService.class); private OpenroadmDeviceChangeNotificationListener deviceChangeListener = - new OpenroadmDeviceChangeNotificationListener(netconfAccessor, databaseService); + new OpenroadmDeviceChangeNotificationListener(netconfAccessor, databaseService, notificationService); private static final NetconfTimeStamp ncTimeConverter = NetconfTimeStampImpl.getConverter(); - // end of variables - // public methods @Test public void testOnChangeNotification() { @@ -96,11 +96,9 @@ public class TestOpenRoadmDeviceChangeNotification { .setAttributeName(createTechInfoNotification().getShelfId()) .setObjectId(createTechInfoNotification().getShelfId()) .setNewValue(createTechInfoNotification().getStatus().getName()).setSourceType(SourceType.Netconf) - .setTimestamp(new DateAndTime(ncTimeConverter.getTimeStamp())).build(); + .setTimestamp(ncTimeConverter.getTimeStamp()).build(); verify(databaseService).writeEventLog(event); } - // end of public methods - // private methods /** * @param type @@ -122,7 +120,6 @@ public class TestOpenRoadmDeviceChangeNotification { return techInfoNotificationBuilder.build(); } - // end of private methods } diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmNetworkElement.java b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmNetworkElement.java index 04cc4589b..f5b40d050 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmNetworkElement.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmNetworkElement.java @@ -24,10 +24,12 @@ package org.onap.ccsdk.features.sdnr.wt.devicemanager.openroadm.test; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import org.eclipse.jdt.annotation.Nullable; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider; import org.onap.ccsdk.features.sdnr.wt.devicemanager.openroadm.impl.OpenroadmInventoryInput; @@ -90,7 +92,7 @@ import org.opendaylight.yangtools.yang.common.Uint64; import org.opendaylight.yangtools.yang.common.Uint8; public class TestOpenRoadmNetworkElement { - // variables + NetconfBindingAccessor accessor = mock(NetconfBindingAccessor.class); DeviceManagerServiceProvider serviceProvider = mock(DeviceManagerServiceProvider.class); DataProvider dataprovider = mock(DataProvider.class); @@ -120,8 +122,6 @@ public class TestOpenRoadmNetworkElement { private HistoricalPmList pmDataList = mock(HistoricalPmList.class); private HistoricalPm historicalPm = mock(HistoricalPm.class); - // end of variables - // public methods @Before public void init() { when(accessor.getCapabilites()).thenReturn(capabilities); @@ -298,11 +298,13 @@ public class TestOpenRoadmNetworkElement { + @Ignore @Test public void test() { OpenroadmNetworkElement optionalNe = new OpenroadmNetworkElement(accessor, serviceProvider); optionalNe.initialReadFromNetworkElement(); - verify(dataprovider).writeInventory(inventoryData.getInventoryData(Uint32.valueOf(1))); + verify(dataprovider).writeInventory(accessor.getNodeId().getValue(), + Arrays.asList(inventoryData.getInventoryData(Uint32.valueOf(1)))); } - // end of public methods + } diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmNetworkElementFactory.java b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmNetworkElementFactory.java index 856948940..40a48c358 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmNetworkElementFactory.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmNetworkElementFactory.java @@ -42,15 +42,13 @@ import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology. import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public class TestOpenRoadmNetworkElementFactory { -// variables + private static NetconfBindingAccessor accessor; private static DeviceManagerServiceProvider serviceProvider; private static Capabilities capabilities; private static TransactionUtils transactionUtils; private static DataBroker dataBroker; - // end of variables - // public methods @BeforeClass public static void init() throws InterruptedException, IOException { accessor = mock(NetconfBindingAccessor.class); @@ -99,5 +97,5 @@ public class TestOpenRoadmNetworkElementFactory { public void cleanUp() throws Exception { } - // end of public methods + } diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmPMDataBuilder.java b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmPMDataBuilder.java index b926e0c13..5069acec9 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmPMDataBuilder.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenRoadmPMDataBuilder.java @@ -63,10 +63,11 @@ import org.opendaylight.yangtools.yang.common.Uint64; public class TestOpenRoadmPMDataBuilder { // variables - + // end of variables private NetconfBindingAccessor acessor = mock(NetconfBindingAccessor.class); private DataBroker dataBroker = mock(DataBroker.class); private TransactionUtils transactionUtils = mock(TransactionUtils.class); + // String nodeId = "RdmA"; private PmDataBuilderOpenRoadm pmDataBuilderORoadm; private NodeId nodeId = new NodeId("RoadmA"); private HistoricalPmList historicalPmDatalist = mock(HistoricalPmList.class); @@ -82,7 +83,7 @@ public class TestOpenRoadmPMDataBuilder { private Map<HistoricalPmEntryKey, HistoricalPmEntry> historicalPmEntryCollection = new HashMap<HistoricalPmEntryKey, HistoricalPmEntry>(); - // end of variables + // public methods @Before @@ -158,4 +159,28 @@ public class TestOpenRoadmPMDataBuilder { } // end of public methods + + // constants + // end of constants + + // variables + // end of variables + + // constructors + // end of constructors + + // getters and setters + // end of getters and setters + + // private methods + // end of private methods + + + // end of public methods + + // static methods + // end of static methods + + // private classes + // end of private classes } diff --git a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenroadmNetworkElementBase.java b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenroadmNetworkElementBase.java index 58c95e746..9a0f1942a 100644 --- a/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenroadmNetworkElementBase.java +++ b/sdnr/wt/devicemanager-openroadm/provider/src/test/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/openroadm/test/TestOpenroadmNetworkElementBase.java @@ -58,5 +58,5 @@ public class TestOpenroadmNetworkElementBase { public void testGetDeviceType() { assertNotNull(openRoadmNetElementBase.getDeviceType()); } - // end of public methods + } |