summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/devicemanager/provider/src/main/java
diff options
context:
space:
mode:
authorherbert <herbert.eiselt@highstreet-technologies.com>2020-01-28 16:45:58 +0100
committerDan Timoney <dtimoney@att.com>2020-01-30 14:15:24 -0500
commitd1981f7e68272cdc5618139a363b80806c2aa77c (patch)
tree4aed1c81db6fab00d8266ff651e222b1b9fd4fed /sdnr/wt/devicemanager/provider/src/main/java
parent032ce4ec7c3d7ac138555dfe980ca53ebbf39f01 (diff)
SDN-R update common
update common and remove all dependent bundles Issue-ID: SDNC-1025 Signed-off-by: herbert <herbert.eiselt@highstreet-technologies.com> Change-Id: I0cebe27eff0489f9b221ee7451be9250e362a827
Diffstat (limited to 'sdnr/wt/devicemanager/provider/src/main/java')
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/AaiProviderClient.java163
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/AaiWebApiClient.java157
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/URLParamEncoder.java46
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/config/AaiClientPropertiesFile.java91
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/config/AaiConfig.java262
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/archiveservice/ArchiveCleanService.java157
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/NetworkElementCoreData.java32
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/CallBack.java26
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/NotificationActor.java24
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/NotificationWorker.java89
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Base.java452
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Basic.java230
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Equipment.java303
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Microwave.java516
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementBase.java171
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementCallback.java26
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementEmpty.java161
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementFactory.java103
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementRepresentation.java42
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/AllPm.java60
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedAirInterfaceHistoricalPerformanceType12.java105
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedAirInterfaceHistoricalPerformanceType1211.java106
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedAirInterfaceHistoricalPerformanceType1211p.java106
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedEquipment.java136
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ONFLayerProtocolName.java61
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ValueNameList.java82
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/OnfInterfacePac.java38
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/OnfMicrowaveModel.java46
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/OnfMicrowaveModelNotification.java38
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperEquipmentPacRev170402.java111
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperMicrowaveModelRev170324.java593
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperMicrowaveModelRev180907.java608
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperMicrowaveModelRev181010.java606
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperPTPModelRev170208.java117
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeForwarderImpl.java81
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeForwarderInternal.java41
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeMessages.java348
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeProviderClient.java84
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeProviderTask.java50
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeProviderWorker.java84
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeSender.java31
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeSenderImpl.java236
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/config/DcaeConfig.java79
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/Checker.java48
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitor.java63
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorEmptyImpl.java54
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorImpl.java264
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorProblems.java68
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorTask.java320
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/config/DmConfig.java67
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/housekeeping/ConnectionStatusHousekeepingService.java192
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/housekeeping/ResyncNetworkElementHouskeepingService.java168
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/housekeeping/ResyncNetworkElementsListener.java35
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DeviceManagerApiServiceImpl.java239
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DeviceManagerImpl.java829
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DeviceManagerNetconfConnectHandler.java70
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DevicemanagerNotificationDelayService.java34
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/LinkIdentifyingObject.java24
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/NetconfNodeService.java38
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/NetconfNotification.java69
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/ProviderClient.java39
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/PushNotifications.java30
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlAkka/AkkaConfig.java86
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlAkka/ClusterConfig.java137
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlAkka/ClusterNodeInfo.java81
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlGeo/ClusterRoleInfo.java91
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlGeo/ClusterRoleInfoCollection.java45
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlGeo/GeoConfig.java162
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/FaultEntityManager.java91
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/HtDataBaseReaderAndWriter.java258
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/HtMapper.java140
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/JsonMapperBase.java137
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/handler/NetconfEventListenerHandler12.java174
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/handler/ODLEventListenerHandler.java231
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/handler/RpcPushNotificationsHandler.java90
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/listener/NetconfChangeListener.java156
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/util/GenericTransactionUtils.java140
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/util/InternalDateAndTime.java108
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/util/InternalSeverity.java191
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/AttributeValueChangedNotificationXml.java86
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/GetEventType.java29
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/MwtNotificationBase.java130
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/ObjectCreationNotificationXml.java70
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/ObjectDeletionNotificationXml.java73
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/ProblemNotificationXml.java146
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientDummyImpl.java42
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientImpl.java42
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientImpl2.java83
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientInternal.java33
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/XmlMapper.java49
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/MaintenanceRPCServiceAPI.java42
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/MaintenanceService.java33
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/impl/HtDatabaseMaintenanceService.java131
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/impl/MaintenanceCalculator.java169
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/impl/MaintenanceServiceImpl.java167
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/MicrowaveModelPerformanceDataProvider.java42
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/PerformanceManagerImpl.java85
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/PerformanceManagerTask.java238
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/config/PmConfig.java54
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/service/MicrowaveHistoricalPerformanceWriterService.java95
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformance15Minutes.java43
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformance24Hours.java36
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformanceBase.java165
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformanceLogEntry.java92
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsPerformanceData.java445
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationDelayFilter.java181
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationDelayService.java67
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationDelayedListener.java25
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationWithServerTimeStamp.java78
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/conf/ToggleAlarmConfig.java59
110 files changed, 0 insertions, 14897 deletions
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/AaiProviderClient.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/AaiProviderClient.java
deleted file mode 100644
index 2cc878c72..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/AaiProviderClient.java
+++ /dev/null
@@ -1,163 +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.aaiconnector.impl;
-
-import java.util.List;
-import java.util.Optional;
-import javax.annotation.Nonnull;
-import org.onap.ccsdk.features.sdnr.wt.common.HtAssert;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.filechange.IConfigChangedListener;
-import org.onap.ccsdk.features.sdnr.wt.common.http.BaseHTTPResponseFromDevicemanager;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.DeviceManagerService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.InventoryProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElement;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.aaiconnector.impl.config.AaiConfig;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.DeviceManagerImpl;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.legacy.InventoryInformation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AaiProviderClient implements DeviceManagerService, AutoCloseable {
-
- private static Logger LOG = LoggerFactory.getLogger(AaiProviderClient.class);
- @SuppressWarnings("unused") // @TODO Remove code
- private static boolean reloadConfigFlag;
- private static final IConfigChangedListener configChangedListener = () -> reloadConfigFlag = true;
-
- private final AaiConfig config;
- private final DeviceManagerImpl deviceManager;
- private final ConfigurationFileRepresentation htconfig;
-
-
- public AaiProviderClient(@Nonnull ConfigurationFileRepresentation cfg, DeviceManagerImpl devMgr) {
- HtAssert.nonnull(cfg);
- this.config = new AaiConfig(cfg);
- LOG.debug("AaiProviderClient configuration setting: {}", this.config);
- this.htconfig = cfg;
- this.htconfig.registerConfigChangedListener(configChangedListener);
- this.deviceManager = devMgr;
-
- }
-
- public AaiConfig getConfig() {
- return this.config;
- }
-
- public void onDeviceRegistered(String mountPointName) {
- if (this.config.isOff()) {
- return;
- }
- NetworkElement ne = this.deviceManager != null ? this.deviceManager.getNeByMountpoint(mountPointName) : null;
- Optional<InventoryProvider> oip = ne != null ? ne.getService(InventoryProvider.class) : Optional.empty();
- this.onDeviceRegistered(mountPointName,
- oip.isPresent() ? oip.get().getInventoryInformation("MWPS") : InventoryInformation.getDefault());
- }
-
- public void onDeviceRegistered(String mountPointName, InventoryInformation i) {
- if (this.config.isOff()) {
- return;
- }
- new Thread(new AaiCreateRequestRunnable(mountPointName, i.getType(), i.getModel(), i.getVendor(),
- i.getDeviceIpv4(), i.getInterfaceUuidList())).start();
- }
-
- public void onDeviceUnregistered(String mountPointName) {
- if (this.config.isOff()) {
- return;
- }
- if (this.config.doDeleteOnMountPointRemoved()) {
- new Thread(new AaiDeleteRequestRunnable(mountPointName)).start();
- } else {
- LOG.debug("prevent deleting device {} by config", mountPointName);
- }
- }
-
- @Override
- public void close() throws Exception {
- this.htconfig.unregisterConfigChangedListener(configChangedListener);
- }
-
- private class AaiCreateRequestRunnable implements Runnable {
-
- private static final int RESPCODE_NOTFOUND = BaseHTTPResponseFromDevicemanager.CODE404;
- private static final int RESPCODE_FOUND = BaseHTTPResponseFromDevicemanager.CODE200;
- private final AaiWebApiClient mClient;
- private final String pnfId;
- private final String type;
- private final String model;
- private final String vendor;
- private final String oamIp;
- private final List<String> ifaces;
- private final int timeout;
-
- public AaiCreateRequestRunnable(String pnfId, String type, String model, String vendor, String oamIp,
- List<String> ifaces) {
- this.pnfId = pnfId;
- this.type = type;
- this.model = model;
- this.vendor = vendor;
- this.oamIp = oamIp;
- this.ifaces = ifaces;
- this.timeout = AaiProviderClient.this.config.getConnectionTimeout();
- this.mClient = new AaiWebApiClient(AaiProviderClient.this.config.getBaseUrl(),
- AaiProviderClient.this.config.getHeaders(), AaiProviderClient.this.config.getTrustAll(),
- AaiProviderClient.this.config.getPcks12CertificateFilename(),
- AaiProviderClient.this.config.getPcks12CertificatePassphrase());
- }
-
- @Override
- public void run() {
- LOG.debug("check if pnfid {} exists", pnfId);
- this.mClient.setTimeout(timeout);
- int responseCode = this.mClient.pnfCheckIfExists(pnfId);
- if (responseCode == RESPCODE_NOTFOUND) {
- LOG.debug("do pnfCreate for {}", pnfId);
- this.mClient.pnfCreate(pnfId, type, model, vendor, oamIp, ifaces);
- } else if (responseCode == RESPCODE_FOUND) {
- LOG.debug("pnfid {} found, nothing to do", pnfId);
- } else {
- LOG.warn("unhandled response code: {}", responseCode);
- }
- }
- };
-
- private class AaiDeleteRequestRunnable implements Runnable {
-
- private final AaiWebApiClient mClient;
- private final String pnfId;
- private final int timeout;
-
-
- public AaiDeleteRequestRunnable(String pnfId) {
- this.pnfId = pnfId;
- this.timeout = AaiProviderClient.this.config.getConnectionTimeout();
- this.mClient = new AaiWebApiClient(AaiProviderClient.this.config.getBaseUrl(),
- AaiProviderClient.this.config.getHeaders(), AaiProviderClient.this.config.getTrustAll(),
- AaiProviderClient.this.config.getPcks12CertificateFilename(),
- AaiProviderClient.this.config.getPcks12CertificatePassphrase());
- }
-
- @Override
- public void run() {
- this.mClient.setTimeout(this.timeout);
- this.mClient.pnfDelete(pnfId);
- }
- };
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/AaiWebApiClient.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/AaiWebApiClient.java
deleted file mode 100644
index db2ba8d23..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/AaiWebApiClient.java
+++ /dev/null
@@ -1,157 +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.aaiconnector.impl;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.onap.ccsdk.features.sdnr.wt.common.http.BaseHTTPClientFromDevicemanager;
-import org.onap.ccsdk.features.sdnr.wt.common.http.BaseHTTPResponseFromDevicemanager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AaiWebApiClient extends BaseHTTPClientFromDevicemanager {
-
- private static Logger LOG = LoggerFactory.getLogger(AaiWebApiClient.class);
- private static final String PNF_JSON_INTERFACE_TEMPLATE = " {\n"
- + " \"interface-name\": \"@interface@\",\n" + " \"speed-value\": \"300\",\n"
- + " \"speed-units\": \"MBit/s\",\n"
- + " \"port-description\": \"Air Interface (MWPS)\",\n"
- + " \"equipment-identifier\": \"@pnfId@-@interface@\",\n"
- + " \"interface-role\": \"Wireless\",\n"
- + " \"interface-type\": \"Air Interface (MWPS)\",\n"
- + " \"resource-version\": \"@model@\",\n" + " \"relationship-list\": [\n"
- + " {\n"
- + " \"related-to\": \"A keyword provided by A&AI to indicate type of node.\",\n"
- + " \"related-link\": \"URL to the object in A&AI.\",\n"
- + " \"relationship-data\": [\n" + " {\n"
- + " \"relationship-key\": \"A keyword provided by A&AI to indicate an attribute.\",\n"
- + " \"relationship-value\": \"Value of the attribute\"\n"
- + " }\n" + " ],\n"
- + " \"related-to-property\": [\n" + " {\n"
- + " \"property-key\": \"Key part of a key/value pair\",\n"
- + " \"property-value\": \"Value part of a key/value pair\"\n"
- + " }\n" + " ]\n" + " }\n" + " ]\n"
- + " }\n";
- private static final String PNF_JSON_TEMPLATE = "{\n" + " \"pnf-name\": \"@pnfId@\",\n"
- + " \"pnf-id\": \"@pnfId@\",\n" + " \"equip-type\": \"@type@\",\n"
- + " \"equip-model\": \"@model@\",\n" + " \"equip-vendor\": \"@vendor@\",\n"
- + " \"ipaddress-v4-oam\": \"@oamIp@\",\n" + " \"in-maint\": false,\n"
- + " \"prov-status\":\"PROV\",\n" + " \"p-interfaces\": @interface-list@\n" + "}\n" + "";
- private static final String PNF_URI = "network/pnfs/pnf/";
- private static final String EMPTY_MESSAGE = "";
-
- private final Map<String, String> headerMap;
-
-
- public AaiWebApiClient(String baseUrl, Map<String, String> headers, boolean trustAllCerts) {
- this(baseUrl, headers, trustAllCerts, null, null);
- }
-
- public AaiWebApiClient(String baseUrl, Map<String, String> headers, boolean trustAllCerts, String certFilename,
- String passphrase) {
- super(baseUrl, trustAllCerts, certFilename, passphrase, BaseHTTPClientFromDevicemanager.getSslCertPcks());
-
- this.headerMap = new HashMap<>();
- this.headerMap.putAll(headers);
- this.headerMap.put("Content-Type", "application/json");
- this.headerMap.put("Accept", "application/json");
- }
-
- /**
- * Create and specify defition parametrs of pnf
- * @param pnfId name
- * @param type type
- * @param model model
- * @param vendor vendor
- * @param oamIp ip
- * @param ifaces interfaces
- * @return true if http response code was 200 or false if not.
- */
- public boolean pnfCreate(String pnfId, String type, String model, String vendor, String oamIp,
- List<String> ifaces) {
- LOG.debug("registering {} (type={}, model={}, vendor={},ip={})", pnfId, type, model, vendor, oamIp);
- String message = getPnfTemplateFilled(pnfId, type, model, vendor, oamIp, ifaces);
- return pnfRequest(pnfId, "PUT", message) == 200;
- }
-
- /**
- * Unregister
- * @param pnfId name
- * @return true if http response code was 200 or false if not.
- */
- public boolean pnfDelete(String pnfId) {
- LOG.debug("unregistering {}", pnfId);
- return pnfRequest(pnfId, "DELETE", EMPTY_MESSAGE) == 200;
- }
-
- /**
- * Send registration request
- * @param pnfId name
- * @return error accoring to http response code or -1
- */
- public int pnfCheckIfExists(String pnfId) {
- LOG.debug("check for {}", pnfId);
- return pnfRequest(pnfId, "GET", EMPTY_MESSAGE);
- }
-
- /*
- * Private classes
- */
-
- private int pnfRequest(String pnfId, String method, String message) {
- BaseHTTPResponseFromDevicemanager response;
- try {
- String uri = PNF_URI + URLParamEncoder.encode(pnfId);
- response = this.sendRequest(uri, method, message, headerMap);
- LOG.debug("finished with responsecode {}", response.code);
- return response.code;
- } catch (IOException e) {
- LOG.warn("problem registering {} : {}", pnfId, e.getMessage());
- return -1;
- }
- }
-
-
- private static String getPnfTemplateFilled(String pnfId, String type, String model, String vendor, String oamIp,
- List<String> ifaces) {
- return PNF_JSON_TEMPLATE.replace("@pnfId@", pnfId).replace("@type@", type).replace("@model@", model)
- .replace("@vendor@", vendor).replace("@oamIp@", oamIp)
- .replace("@interface-list@", getPnfTemplateInterfaceList(pnfId, ifaces, model));
- }
-
- private static String getPnfTemplateInterfaceList(String pnfId, List<String> ifaces, String model) {
- StringBuffer s = new StringBuffer();
- s.append("[");
- if (ifaces != null) {
- for (int i = 0; i < ifaces.size(); i++) {
- if (i > 0) {
- s.append(",");
- }
- s.append(PNF_JSON_INTERFACE_TEMPLATE.replace("@interface@", ifaces.get(i)));
- }
- }
- s.append("]");
-
- return s.toString().replace("@pnfId@", pnfId).replace("@model@", model);
- }
-
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/URLParamEncoder.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/URLParamEncoder.java
deleted file mode 100644
index 2e8b44fd7..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/URLParamEncoder.java
+++ /dev/null
@@ -1,46 +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.aaiconnector.impl;
-
-class URLParamEncoder {
-
- public static String encode(String input) {
- StringBuilder resultStr = new StringBuilder();
- for (char ch : input.toCharArray()) {
- if (isUnsafe(ch)) {
- resultStr.append('%');
- resultStr.append(toHex(ch / 16));
- resultStr.append(toHex(ch % 16));
- } else {
- resultStr.append(ch);
- }
- }
- return resultStr.toString();
- }
-
- private static char toHex(int ch) {
- return (char) (ch < 10 ? '0' + ch : 'A' + ch - 10);
- }
-
- private static boolean isUnsafe(char ch) {
- if (ch > 128 || ch < 0) {
- return true;
- }
- return " %$&+,/:;=?@<>#%".indexOf(ch) >= 0;
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/config/AaiClientPropertiesFile.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/config/AaiClientPropertiesFile.java
deleted file mode 100644
index 671aea5c2..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/config/AaiClientPropertiesFile.java
+++ /dev/null
@@ -1,91 +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.aaiconnector.impl.config;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.Properties;
-
-public class AaiClientPropertiesFile {
-
- private final File mFile;
- private String mPCKS12CertFilename;
- private String mPCKS12Passphrase;
- private boolean mTrustInsecureSSL;
- private String mApplicationIdentifier;
- private String mRemoteUrl;
- private int mConnectionTimeout;
- private int mReadTimeout;
-
- public String getFilename() {
- return this.mFile.getAbsolutePath();
- }
-
- public String getPCKS12CertFilename() {
- return this.mPCKS12CertFilename;
- }
-
- public String getPCKS12Passphrase() {
- return this.mPCKS12Passphrase;
- }
-
- public boolean trustInsecureSSL() {
- return this.mTrustInsecureSSL;
- }
-
- public String getApplicationIdentifier() {
- return this.mApplicationIdentifier;
- }
-
- public String getRemoteUrl() {
- return this.mRemoteUrl;
- }
-
- public int getConnectionTimeout() {
- return this.mConnectionTimeout;
- }
-
- public int getReadTimeout() {
- return this.mReadTimeout;
- }
-
- public boolean exists() {
- return this.mFile.exists();
- }
-
- public AaiClientPropertiesFile(String filename) {
- this.mFile = new File(filename);
- }
-
- public void load() throws IOException, NumberFormatException {
- Properties defaultProps = new Properties();
- FileInputStream in = new FileInputStream(this.mFile);
- defaultProps.load(in);
- this.mPCKS12CertFilename = defaultProps.getProperty("org.onap.ccsdk.sli.adaptors.aai.ssl.key", null);
- this.mPCKS12Passphrase = defaultProps.getProperty("org.onap.ccsdk.sli.adaptors.aai.ssl.key.psswd", null);
- this.mTrustInsecureSSL = defaultProps
- .getProperty("org.onap.ccsdk.sli.adaptors.aai.host.certificate.ignore", "false").equals("true");
- this.mApplicationIdentifier = defaultProps.getProperty("org.onap.ccsdk.sli.adaptors.aai.application", null);
- this.mRemoteUrl = defaultProps.getProperty("org.onap.ccsdk.sli.adaptors.aai.uri", null);
- this.mConnectionTimeout = Integer.parseInt(defaultProps.getProperty("connection.timeout", "60000"));
- this.mReadTimeout = Integer.parseInt(defaultProps.getProperty("read.timeout", "60000"));
- in.close();
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/config/AaiConfig.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/config/AaiConfig.java
deleted file mode 100644
index 9991f782c..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/aaiconnector/impl/config/AaiConfig.java
+++ /dev/null
@@ -1,262 +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.aaiconnector.impl.config;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.Base64;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Optional;
-import java.util.Properties;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.onap.ccsdk.features.sdnr.wt.common.HtAssert;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.Configuration;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AaiConfig implements Configuration {
-
- private static Logger LOG = LoggerFactory.getLogger(AaiConfig.class);
-
- private static final String SECTION_MARKER_AAI = "aai";
-
- private enum Config {
- AAIPROP_FILE("aaiPropertiesFile", "null"),
- BASEURL("aaiUrl", "off", "org.onap.ccsdk.sli.adaptors.aai.uri"),
- USERCREDENTIALS("aaiUserCredentials",""),
- HEADERS("aaiHeaders","[\"X-TransactionId: 9999\"]"),
- DELETEONMOUNTPOINTREMOVED("aaiDeleteOnMountpointRemove",false),
- TRUSTALLCERTS("aaiTrustAllCerts",false, "org.onap.ccsdk.sli.adaptors.aai.host.certificate.ignore"),
- APIVERSION("aaiApiVersion", "aai/v13"),
- PCKS12CERTFILENAME("aaiPcks12ClientCertFile","", "org.onap.ccsdk.sli.adaptors.aai.ssl.key"),
- PCKS12PASSPHRASE("aaiPcks12ClientCertPassphrase","", "org.onap.ccsdk.sli.adaptors.aai.ssl.key.psswd"),
- CONNECTIONTIMEOUT("aaiClientConnectionTimeout",String.valueOf(DEFAULT_VALUE_CONNECTION_TIMEOUT), "connection.timeout"), //in ms;
- APPLICATIONID("aaiApplicationId","SDNR", "org.onap.ccsdk.sli.adaptors.aai.application"),
- HTTPREADTIMEOUT("aaiReadTimeout", "60000", "read.timeout");
-
- private String propertyKey;
- private String propertyValue;
- private Optional<String> propertyKeySecondFile;
-
- Config(String propertyKey, Object propertyValue) {
- this.propertyKey = propertyKey;
- this.propertyValue = propertyValue.toString();
- this.propertyKeySecondFile = Optional.empty();
- }
-
- Config(String propertyKey, Object propertyValue, String propertyKeySecondFile) {
- this(propertyKey, propertyValue);
- this.propertyKeySecondFile = Optional.of(propertyKeySecondFile);
- }
- }
-
- private static final long DEFAULT_VALUE_CONNECTION_TIMEOUT = 30000; //in ms
- private static final String HEADER_KEY_APPLICATION = "X-FromAppId";
-
- private final ConfigurationFileRepresentation configuration;
-
- public AaiConfig(ConfigurationFileRepresentation configuration) {
- HtAssert.nonnull(configuration);
- this.configuration = configuration;
- this.configuration.addSection(SECTION_MARKER_AAI);
- defaults();
- }
-
- /*
- * Getter
- */
-
- public boolean doDeleteOnMountPointRemoved() {
- return configuration.getPropertyBoolean(SECTION_MARKER_AAI, Config.DELETEONMOUNTPOINTREMOVED.propertyKey);
- }
-
- public boolean getTrustAll() {
- return configuration.getPropertyBoolean(SECTION_MARKER_AAI, Config.TRUSTALLCERTS.propertyKey);
- }
-
- public String getPcks12CertificateFilename() {
- return configuration.getProperty(SECTION_MARKER_AAI, Config.PCKS12CERTFILENAME.propertyKey);
- }
-
- public String getPcks12CertificatePassphrase() {
- return configuration.getProperty(SECTION_MARKER_AAI, Config.PCKS12PASSPHRASE.propertyKey);
- }
-
- public int getConnectionTimeout() {
- long res = configuration.getPropertyLong(SECTION_MARKER_AAI, Config.PCKS12PASSPHRASE.propertyKey).orElse(DEFAULT_VALUE_CONNECTION_TIMEOUT);
- return (int)res;
- }
-
- public boolean isOff() {
- return configuration.getProperty(SECTION_MARKER_AAI, Config.BASEURL.propertyKey).equalsIgnoreCase("off");
- }
-
- public String getBaseUri() {
- String res = configuration.getProperty(SECTION_MARKER_AAI, Config.APIVERSION.propertyKey);
- if (!res.startsWith("/")) {
- res = "/" + res;
- }
- return res;
- }
-
- public String getBaseUrl() {
- if (isOff()) {
- return "";
- } else {
- String url = configuration.getProperty(SECTION_MARKER_AAI, Config.BASEURL.propertyKey);
- if (!url.endsWith("/")) {
- url += "/";
- }
- String apiVersion = configuration.getProperty(SECTION_MARKER_AAI, Config.APIVERSION.propertyKey);
- if (apiVersion.startsWith("/")) {
- apiVersion = apiVersion.substring(1);
- }
- return url + apiVersion;
- }
- }
-
- public Map<String, String> getHeaders() {
-
- Map<String,String> headers = _parseHeadersMap(configuration.getProperty(SECTION_MARKER_AAI, Config.HEADERS.propertyKey));
- headers.put(HEADER_KEY_APPLICATION, configuration.getProperty(SECTION_MARKER_AAI, Config.APPLICATIONID.propertyKey));
-
- String credentials = configuration.getProperty(SECTION_MARKER_AAI, Config.USERCREDENTIALS.propertyKey);
- if (!nullorempty(credentials)) {
- String credentialParts[] = credentials.split(":");
- if (credentialParts.length == 2) {
- // 0:username 1:password
- String s = headers.getOrDefault("Authorization", null);
- if (nullorempty(s) && !nullorempty(credentialParts[0]) && !nullorempty(credentialParts[1])) {
- headers.put("Authorization",
- "Basic " + new String(Base64.getEncoder().encode(credentials.getBytes())));
- }
- }
- }
- return headers;
- }
-
- @Override
- public String getSectionName() {
- return SECTION_MARKER_AAI;
- }
-
- @Override
- public void defaults() {
- for (Config conf : Config.values()) {
- configuration.setPropertyIfNotAvailable(SECTION_MARKER_AAI, conf.propertyKey, conf.propertyValue);
- }
- // If file is available, the content is assigned to related parameters.
- getAaiPropertiesFile();
- }
-
- @Override
- public String toString() {
- return "AaiConfig [doDeleteOnMountPointRemoved()=" + doDeleteOnMountPointRemoved() + ", getTrustAll()="
- + getTrustAll() + ", getPcks12CertificateFilename()=" + getPcks12CertificateFilename()
- + ", getPcks12CertificatePassphrase()=" + getPcks12CertificatePassphrase() + ", getConnectionTimeout()="
- + getConnectionTimeout() + ", isOff()=" + isOff() + ", getBaseUri()=" + getBaseUri() + ", getBaseUrl()="
- + getBaseUrl() + ", getHeaders()=" + getHeaders() + ", getSectionName()=" + getSectionName() + "]";
- }
-
- /*
- * Private
- */
-
- private boolean nullorempty(String s) {
- return s == null || s.isEmpty();
- }
-
- /**
- * Convert headers to configuration string.
- * @param headers
- * @return
- */
- @SuppressWarnings("unused")
- private static String _printHeadersMap(Map<String, String> headers) {
- String r = "[";
- if (headers != null) {
- int i = 0;
- for (Entry<String, String> entry : headers.entrySet()) {
- if (i > 0) {
- r += ",";
- }
- r += "\"" + entry.getKey() + ":" + entry.getValue() + "\"";
- i++;
- }
- }
- r += "]";
- return r;
- }
-
- private static Map<String, String> _parseHeadersMap(String s) throws JSONException {
- Map<String, String> r = new HashMap<>();
- JSONArray a =null;
- try {
- a= new JSONArray(s);
- }
- catch(Exception e) {
- LOG.warn("problem parsing aai headers {}: {}",s,e);
- }
- if (a != null && a.length() > 0) {
- for (int i = 0; i < a.length(); i++) {
- String item = a.getString(i);
- String[] hlp = item.split(":");
- if (hlp.length > 1) {
- r.put(hlp[0], hlp[1]);
- }
- }
- }
- return r;
- }
-
- /**
- * Read file if available and assign to configuration
- */
- private void getAaiPropertiesFile() {
- String aaiPropertiesFileName = configuration.getProperty(SECTION_MARKER_AAI, Config.AAIPROP_FILE.propertyKey);
- File f = new File(aaiPropertiesFileName);
- if (f.exists()) {
- try {
- FileInputStream in = new FileInputStream(f);
- Properties defaultProps = new Properties();
- defaultProps.load(in);
-
- for (Config conf : Config.values()) {
- if (conf.propertyKeySecondFile.isPresent()) {
- String config = defaultProps.getProperty("org.onap.ccsdk.sli.adaptors.aai.ssl.key", conf.propertyValue);
- LOG.debug("Property file assign {} = {} ",conf.propertyKey, config );
- configuration.setPropertyIfNotAvailable(
- SECTION_MARKER_AAI,
- conf.propertyKey,
- config);
- }
- }
-
- in.close();
- } catch (IOException e) {
- LOG.warn("Problem during file read {} {}", f.getAbsoluteFile(), e);
- }
- }
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/archiveservice/ArchiveCleanService.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/archiveservice/ArchiveCleanService.java
deleted file mode 100644
index d5e4ea618..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/archiveservice/ArchiveCleanService.java
+++ /dev/null
@@ -1,157 +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.archiveservice;
-
-import java.util.Date;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.filechange.IConfigChangedListener;
-import org.onap.ccsdk.features.sdnr.wt.database.config.EsConfig;
-import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.ArchiveCleanProvider;
-import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService;
-import org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-
-public class ArchiveCleanService implements AutoCloseable, IConfigChangedListener, Runnable,ClusterSingletonService {
-
- private static final Logger LOG = LoggerFactory.getLogger(ArchiveCleanService.class);
- private static final ServiceGroupIdentifier IDENT = ServiceGroupIdentifier.create("ElasticSearchArchiveCleanService");
-
- private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
- private final ArchiveCleanProvider[] indexCleanList;
- private final ConfigurationFileRepresentation htConfig;
- private final Runnable doClean;
-
- private final EsConfig esConfig;
- private Future<?> taskReference;
- private boolean isMaster;
-
- public ArchiveCleanService(ConfigurationFileRepresentation config, ArchiveCleanProvider... indexCleanList) {
- this.htConfig = config;
- this.htConfig.registerConfigChangedListener(this);
- this.esConfig = new EsConfig(htConfig);
- this.indexCleanList = indexCleanList;
- this.doClean = this;
- this.taskReference = null;
-
- this.reinit();
- }
-
- private void reinit() {
-
- if (taskReference != null) {
- taskReference.cancel(false);
- }
- if(this.isMaster) {
- if (this.esConfig.getArchiveCheckIntervalSeconds() > 0) {
- LOG.info("DBCleanService is turned on for entries older than {} seconds",
- this.esConfig.getArchiveLifetimeSeconds());
- taskReference = this.scheduler.scheduleAtFixedRate(doClean, 0,
- this.esConfig.getArchiveCheckIntervalSeconds(), TimeUnit.SECONDS);
- } else {
- LOG.info("DBCleanService is turned off");
- }
- }
- else {
- LOG.info("service is inactive on this node. active on another node.");
- }
- }
-
- public Date getDateForOldElements() {
- return new Date(System.currentTimeMillis() - esConfig.getArchiveLifetimeSeconds() * 1000);
- }
-
- public int countOldEntries() {
- int cnt = 0;
- Date olderAreOutdated = getDateForOldElements();
- for (ArchiveCleanProvider indexCleanElement : indexCleanList) {
- if (indexCleanElement != null) {
- indexCleanElement.getNumberOfOldObjects(olderAreOutdated);
- }
- }
- return cnt;
- }
-
- @Override
- public void run() {
-
- try {
- int removed = 0;
- Date olderElementToBeRemoved = getDateForOldElements();
- LOG.trace("cleaning logs from entries older than {}", olderElementToBeRemoved);
-
- for (ArchiveCleanProvider indexCleanElement : indexCleanList) {
- if (indexCleanElement != null) {
- removed += indexCleanElement.doIndexClean(olderElementToBeRemoved);
- }
- }
- if (removed > 0) {
- LOG.trace("Removed elements: {}",removed);
- }
- } catch (Exception e) {
- LOG.warn("problem executing dbclean", e);
- }
- }
-
- @Override
- public void onConfigChanged() {
- LOG.debug("config changed. reninit timer");
- };
-
- @Override
- public void close() throws Exception {
- this.htConfig.unregisterConfigChangedListener(this);
- this.scheduler.shutdown();
- }
-
- @Override
- public String toString() {
- return "ArchivCleanService [ArchiveCheckIntervalSeconds=" + esConfig.getArchiveCheckIntervalSeconds()
- + "ArchiveLifetimeSeconds=" + esConfig.getArchiveLifetimeSeconds() + "]";
- }
-
- @SuppressWarnings("null")
- @Override
- public @NonNull ServiceGroupIdentifier getIdentifier() {
- return IDENT;
- }
-
- @Override
- public void instantiateServiceInstance() {
- LOG.info("We take Leadership");
- this.isMaster=true;
- this.reinit();
- }
-
- @Override
- public ListenableFuture<? extends Object> closeServiceInstance() {
- LOG.info("We lost Leadership");
- this.isMaster=false;
- this.reinit();
- return Futures.immediateFuture(null);
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/NetworkElementCoreData.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/NetworkElementCoreData.java
deleted file mode 100644
index a86944c82..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/NetworkElementCoreData.java
+++ /dev/null
@@ -1,32 +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.base;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.NetworkElement;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementDeviceType;
-
-public interface NetworkElementCoreData {
-
- public String getMountpoint();
- public DataBroker getDataBroker();
- public @Nullable NetworkElement getOptionalNetworkElement();
- public NetworkElementDeviceType getDeviceType();
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/CallBack.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/CallBack.java
deleted file mode 100644
index 62e55a97c..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/CallBack.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.base.onfcore;
-
-/**
- * @author herbert
- *
- */
-public interface CallBack {
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/NotificationActor.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/NotificationActor.java
deleted file mode 100644
index 4f2dfdeef..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/NotificationActor.java
+++ /dev/null
@@ -1,24 +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.base.onfcore;
-
-public interface NotificationActor<T> {
-
- public void notificationActor(T item);
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/NotificationWorker.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/NotificationWorker.java
deleted file mode 100644
index 0c3014a0d..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/NotificationWorker.java
+++ /dev/null
@@ -1,89 +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.base.onfcore;
-
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.LinkedBlockingQueue;
-
-/**
- * Provide a thread that is receiving and process notifications.
- * @param <T> represents the object that is provided with a notification and
- * forwarded to the NotificationActor<T>.
- *
- * @author herbert
- */
-
-public class NotificationWorker<T> implements AutoCloseable {
-
- private final BlockingQueue<T> workQueue;
- private final ExecutorService service;
- private final NotificationActor<T> actor;
-
- public NotificationWorker(int numWorkers, int workQueueSize, NotificationActor<T> actorObject) {
- workQueue = new LinkedBlockingQueue<T>(workQueueSize);
- service = Executors.newFixedThreadPool(numWorkers);
- actor = actorObject;
-
- for (int i=0; i < numWorkers; i++) {
- service.submit(new Worker<T>(workQueue, actor));
- }
- }
-
- public void put(T item) {
- try {
- workQueue.put(item);
- } catch (InterruptedException ex) {
- Thread.currentThread().interrupt();
- }
- }
-
- @Override
- public void close() throws Exception {
- // TODO Auto-generated method stub
- }
-
- private static class Worker<T> implements Runnable {
- private final BlockingQueue<T> workQueue;
- private final NotificationActor<T> actor;
-
-
- public Worker(BlockingQueue<T> workQueue, NotificationActor<T> actor) {
- this.workQueue = workQueue;
- this.actor = actor;
- }
-
- @Override
- public void run() {
- while (!Thread.currentThread().isInterrupted()) {
- try {
- T item = workQueue.take();
- actor.notificationActor(item);
- // Process item
- } catch (InterruptedException ex) {
- Thread.currentThread().interrupt();
- break;
- }
- }
- }
- }
-
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Base.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Base.java
deleted file mode 100644
index 8464cc809..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Base.java
+++ /dev/null
@@ -1,452 +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.base.onfcore;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Optional;
-import java.util.concurrent.CopyOnWriteArrayList;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElementService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.NetworkElementCoreData;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.AllPm;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.wrapperc.WrapperPTPModelRev170208;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.legacy.InventoryInformation;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.MountPoint;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.InstanceList;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.NetworkElement;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.extension.g.Extension;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.network.element.Ltp;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.NetworkElementPac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.network.element.pac.NetworkElementCurrentProblems;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- * This class contains the ONF Core model Version 1.2 related functions.<br>
- * Provides the basic ONF Core Model function.<br>
- * - initialReadFromNetworkElement is not implemented in child classes.
- */
-public abstract class ONFCoreNetworkElement12Base extends ONFCoreNetworkElementBase implements NetworkElementCoreData {
-
- private static final Logger LOG = LoggerFactory.getLogger(ONFCoreNetworkElement12Base.class);
-
- protected static final List<Extension> EMPTYLTPEXTENSIONLIST = new ArrayList<>();
- // private static final List<Ltp> EMPTYLTPLIST = new ArrayList<>();
-
- protected static final InstanceIdentifier<NetworkElement> NETWORKELEMENT_IID = InstanceIdentifier
- .builder(NetworkElement.class).build();
-
-
- /*-----------------------------------------------------------------------------
- * Class members
- */
-
- // Non specific part. Used by all functions.
- /** interfaceList is used by PM task and should be synchronized */
- private final @NonNull List<Lp> interfaceList = Collections.synchronizedList(new CopyOnWriteArrayList<>());
- private @Nullable NetworkElement optionalNe = null;
-
- // Performance monitoring specific part
- /** Lock for the PM access specific elements that could be null */
- private final @NonNull Object pmLock = new Object();
- protected @Nullable Iterator<Lp> interfaceListIterator = null;
- /** Actual pmLp used during iteration over interfaces */
- protected @Nullable Lp pmLp = null;
-
- // Device monitoring specific part
- /** Lock for the DM access specific elements that could be null */
- protected final @NonNull Object dmLock = new Object();
-
- protected final boolean isNetworkElementCurrentProblemsSupporting12;
-
- protected final ONFCoreNetworkElement12Equipment equipment;
-
- /*
- * Constructor
- */
-
- protected ONFCoreNetworkElement12Base(INetconfAcessor acessor, String mountPointNodeName, DataBroker netconfNodeDataBroker,
- Capabilities capabilities) {
- super(acessor, mountPointNodeName, netconfNodeDataBroker, capabilities);
- // TODO Auto-generated constructor stub
- this.isNetworkElementCurrentProblemsSupporting12 = capabilities.isSupportingNamespaceAndRevision(NetworkElementPac.QNAME);
- this.equipment = new ONFCoreNetworkElement12Equipment(acessor, this, capabilities);
- WrapperPTPModelRev170208.initSynchronizationExtension(acessor);
- LOG.debug("support necurrent-problem-list=" + this.isNetworkElementCurrentProblemsSupporting12);
- LOG.info("Create NE instance {}", InstanceList.QNAME.getLocalName());
- }
-
- /*---------------------------------------------------------------
- * Getter/ Setter
- */
-
- @Override
- public NetworkElement getOptionalNetworkElement() {
- return optionalNe;
- }
-
- List<Lp> getInterfaceList() {
- return interfaceList;
- }
-
- public Object getPmLock() {
- return pmLock;
- }
-
- /*---------------------------------------------------------------
- * Core model related function
- */
-
- /**
- * Get uuid of Optional NE.
- *
- * @return Uuid or EMPTY String if optionNE is not available
- */
- @SuppressWarnings("null")
- protected String getUuId() {
- String uuid = EMPTY;
-
- try {
- uuid = optionalNe != null ? optionalNe.getUuid() != null ? optionalNe.getUuid().getValue() : EMPTY : EMPTY;
- } catch (NullPointerException e) {
- // Unfortunately throws null pointer if not definied
- }
- return uuid;
- }
-
- /**
- * Read from NetworkElement and verify LTPs have changed. If the NE has changed, update to the new
- * structure. From initial state it changes also.
- */
- protected synchronized boolean readNetworkElementAndInterfaces() {
-
- LOG.debug("Update mountpoint if changed {}", getMountPointNodeName());
-
- optionalNe = getGenericTransactionUtils().readData(getNetconfNodeDataBroker(), LogicalDatastoreType.OPERATIONAL,
- NETWORKELEMENT_IID);;
- synchronized (pmLock) {
- boolean change = false;
-
- if (optionalNe == null) {
- LOG.debug("Unable to read NE data for mountpoint {}", getMountPointNodeName());
- if (!interfaceList.isEmpty()) {
- interfaceList.clear();
- interfaceListIterator = null;
- change = true;
- }
-
- } else {
- LOG.debug("Mountpoint '{}' NE-Name '{}'", getMountPointNodeName(), optionalNe.getName());
- List<Lp> actualInterfaceList = getLtpList(optionalNe);
- if (!interfaceList.equals(actualInterfaceList)) {
- LOG.debug("Mountpoint '{}' Update LTP List. Elements {}", getMountPointNodeName(),
- actualInterfaceList.size());
- interfaceList.clear();
- interfaceList.addAll(actualInterfaceList);
- interfaceListIterator = null;
- change = true;
- }
- }
- return change;
- }
- }
-
- /**
- * Get List of UUIDs for conditional packages from Networkelement<br>
- * Possible interfaces are:<br>
- * MWPS, LTP(MWPS-TTP), MWAirInterfacePac, MicrowaveModel-ObjectClasses-AirInterface<br>
- * ETH-CTP,LTP(Client), MW_EthernetContainer_Pac<br>
- * MWS, LTP(MWS-CTP-xD), MWAirInterfaceDiversityPac,
- * MicrowaveModel-ObjectClasses-AirInterfaceDiversity<br>
- * MWS, LTP(MWS-TTP), ,MicrowaveModel-ObjectClasses-HybridMwStructure<br>
- * MWS, LTP(MWS-TTP), ,MicrowaveModel-ObjectClasses-PureEthernetStructure<br>
- *
- * @param ne NetworkElement
- * @return Id List, never null.
- */
-
- private static List<Lp> getLtpList(@Nullable NetworkElement ne) {
-
- List<Lp> res = Collections.synchronizedList(new ArrayList<Lp>());
-
- if (ne != null) {
- List<Ltp> ltpRefList = ne.getLtp();
- if (ltpRefList == null) {
- LOG.debug("DBRead NE-Interfaces: null");
- } else {
- for (Ltp ltRefListE : ltpRefList) {
- List<Lp> lpList = ltRefListE.getLp();
- if (lpList == null) {
- LOG.debug("DBRead NE-Interfaces Reference List: null");
- } else {
- for (Lp ltp : lpList) {
- res.add(ltp);
- }
- }
- }
- }
- } else {
- LOG.debug("DBRead NE: null");
- }
-
- // ---- Debug
- if (LOG.isDebugEnabled()) {
- StringBuffer strBuf = new StringBuffer();
- for (Lp ltp : res) {
- if (strBuf.length() > 0) {
- strBuf.append(", ");
- }
- strBuf.append(ltp.getLayerProtocolName().getValue());
- strBuf.append(':');
- strBuf.append(ltp.getUuid().getValue());
- }
- LOG.debug("DBRead NE-Interfaces: {}", strBuf.toString());
- }
- // ---- Debug end
-
- return res;
- }
-
- /**
- * Read current problems of AirInterfaces and EthernetContainer according to NE status into DB
- *
- * @return List with all problems
- */
- protected List<ProblemNotificationXml> readAllCurrentProblemsOfNode() {
-
- // Step 2.3: read the existing faults and add to DB
- List<ProblemNotificationXml> resultList = new ArrayList<>();
- int idxStart; // Start index for debug messages
- UniversalId uuid;
-
- synchronized (pmLock) {
- for (Lp lp : interfaceList) {
-
- idxStart = resultList.size();
- uuid = lp.getUuid();
- ProblemNotificationXml.debugResultList(LOG, uuid.getValue(), resultList, idxStart);
-
- }
- }
-
- // Step 2.4: Read other problems from mountpoint
- if (isNetworkElementCurrentProblemsSupporting12) {
- idxStart = resultList.size();
- readNetworkElementCurrentProblems12(resultList);
- ProblemNotificationXml.debugResultList(LOG, "CurrentProblems12", resultList, idxStart);
- }
-
- return resultList;
-
- }
-
- /**
- * Reading problems for the networkElement V1.2
- * @param resultList
- * @return
- */
- private List<ProblemNotificationXml> readNetworkElementCurrentProblems12(List<ProblemNotificationXml> resultList) {
-
- LOG.info("DBRead Get {} NetworkElementCurrentProblems12", getMountPointNodeName());
-
- InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.NetworkElementPac> networkElementCurrentProblemsIID =
- InstanceIdentifier.builder(
- org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.NetworkElementPac.class)
- .build();
-
- // Step 2.3: read to the config data store
- NetworkElementPac problemPac;
- NetworkElementCurrentProblems problems = null;
- try {
- problemPac = getGenericTransactionUtils().readData(getNetconfNodeDataBroker(), LogicalDatastoreType.OPERATIONAL,
- networkElementCurrentProblemsIID);
- if (problemPac != null) {
- problems = problemPac.getNetworkElementCurrentProblems();
- }
- if (problems == null) {
- LOG.debug("DBRead no NetworkElementCurrentProblems12");
- } else {
- for (org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.network.element.current.problems.g.CurrentProblemList problem : problems
- .nonnullCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(getMountPointNodeName(), problem.getObjectReference(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(),
- InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- } catch (Exception e) {
- LOG.warn("DBRead {} NetworkElementCurrentProblems12 not supported. Message '{}' ", getMountPointNodeName(),
- e.getMessage());
- }
- return resultList;
- }
-
- /*---------------------------------------------------------------
- * Device Monitor
- */
-
- @Override
- public boolean checkIfConnectionToMediatorIsOk() {
- synchronized (dmLock) {
- return optionalNe != null;
- }
- }
-
- /*
- * New implementation to interpret status with empty LTP List as notConnected => return false
- * 30.10.2018 Since this behavior is very specific and implicit for specific NE Types
- * it needs to be activated by extension or configuration. Change to be disabled at the moment
- */
- @Override
- public boolean checkIfConnectionToNeIsOk() {
- return true;
- }
-
- /*---------------------------------------------------------------
- * Synchronization
- */
-
-
-
- /*---------------------------------------------------------------
- * Equipment related functions
- */
-
- @Override
- public @NonNull InventoryInformation getInventoryInformation(String layerProtocolFilter) {
- LOG.debug("request inventory information. filter:" + layerProtocolFilter);
- return this.equipment.getInventoryInformation(getFilteredInterfaceUuidsAsStringList(layerProtocolFilter));
- }
-
- @Override
- public InventoryInformation getInventoryInformation() {
- return getInventoryInformation(null);
- }
-
- protected List<String> getFilteredInterfaceUuidsAsStringList(String layerProtocolFilter) {
- List<String> uuids = new ArrayList<>();
-
- LOG.debug("request inventory information. filter:" + layerProtocolFilter);
- if (optionalNe != null) {
- // uuids
- for (Lp lp : this.interfaceList) {
- if (layerProtocolFilter == null || layerProtocolFilter.isEmpty()) {
- uuids.add(lp.getUuid().getValue());
- } else if (lp.getLayerProtocolName() != null && lp.getLayerProtocolName().getValue() != null
- && lp.getLayerProtocolName().getValue().equals(layerProtocolFilter)) {
- uuids.add(lp.getUuid().getValue());
- }
- }
- }
- LOG.debug("uuids found: {}", uuids);
- return uuids;
- }
-
-
- /*---------------------------------------------------------------
- * Performancemanagement specific interface
- */
-
- @Override
- public void resetPMIterator() {
- synchronized (pmLock) {
- interfaceListIterator = interfaceList.iterator();
- }
- LOG.debug("PM reset iterator");
- }
-
- @Override
- public boolean hasNext() {
- boolean res;
- synchronized (pmLock) {
- res = interfaceListIterator != null ? interfaceListIterator.hasNext() : false;
- }
- LOG.debug("PM hasNext LTP {}", res);
- return res;
- }
-
- @Override
- public void next() {
- synchronized (pmLock) {
- if (interfaceListIterator == null) {
- pmLp = null;
- LOG.debug("PM next LTP null");
- } else {
- pmLp = interfaceListIterator.next();
- LOG.debug("PM next LTP {}", pmLp.getLayerProtocolName().getValue());
- }
- }
- }
-
- @Override
- public String pmStatusToString() {
- StringBuffer res = new StringBuffer();
- synchronized (pmLock) {
- res.append(pmLp == null ? "no interface" : pmLp.getLayerProtocolName().getValue());
- for (Lp lp : getInterfaceList()) {
- res.append("IF:");
- res.append(lp.getLayerProtocolName().getValue());
- res.append(" ");
- }
- }
- return res.toString();
- }
-
- @Override
- public AllPm getHistoricalPM() {
- return AllPm.getEmpty();
- }
-
-
- @Override
- public void doRegisterEventListener(MountPoint mountPoint) {
- //Do nothing
- }
-
-
- @Override
- public void register() {
- }
-
-
- @Override
- public void deregister() {
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public <L extends NetworkElementService> Optional<L> getService(Class<L> clazz) {
- return clazz.isInstance(this) ? Optional.of((L)this) : Optional.empty();
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Basic.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Basic.java
deleted file mode 100644
index 4ea6fee25..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Basic.java
+++ /dev/null
@@ -1,230 +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.base.onfcore;
-
-import java.util.List;
-import org.eclipse.jdt.annotation.NonNull;
-import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl.DcaeForwarderInternal;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.handler.NetconfEventListenerHandler12;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.AttributeValueChangedNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.WebSocketServiceClientInternal;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.toggleAlarmFilter.NotificationDelayService;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementDeviceType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Get information over NETCONF device according to ONF Coremodel. Read networkelement and
- * conditional packages.
- *
- * Get conditional packages from Networkelement Possible interfaces are: MWPS, LTP(MWPS-TTP),
- * MWAirInterfacePac, MicrowaveModel-ObjectClasses-AirInterface ETH-CTP,LTP(Client),
- * MW_EthernetContainer_Pac MWS, LTP(MWS-CTP-xD), MWAirInterfaceDiversityPac,
- * MicrowaveModel-ObjectClasses-AirInterfaceDiversity MWS, LTP(MWS-TTP),
- * ,MicrowaveModel-ObjectClasses-HybridMwStructure MWS, LTP(MWS-TTP),
- * ,MicrowaveModel-ObjectClasses-PureEthernetStructure
- *
- * @author herbert
- *
- */
-public class ONFCoreNetworkElement12Basic extends ONFCoreNetworkElement12Base
- implements ONFCoreNetworkElementCallback, NotificationActor<AttributeValueChangedNotificationXml> {
-
- private static final Logger LOG = LoggerFactory.getLogger(ONFCoreNetworkElement12Basic.class);
-
- /*-----------------------------------------------------------------------------
- * Class members
- */
- private final @NonNull NetconfEventListenerHandler12 netconfEventListener;
- private final NotificationWorker<AttributeValueChangedNotificationXml> notificationQueue;
-
- /*-----------------------------------------------------------------------------
- * Construction
- */
-
- /**
- * Constructor
- *
- * @param mountPointNodeName as String
- * @param capabilities of the specific network element
- * @param netconfNodeDataBroker for the network element specific data
- * @param webSocketService to forward event notifications
- * @param databaseService to access the database
- * @param dcaeProvider to forward problem / change notifications
- */
- ONFCoreNetworkElement12Basic(INetconfAcessor acessor, String mountPointNodeName, Capabilities capabilities,
- DataBroker netconfNodeDataBroker, WebSocketServiceClientInternal webSocketService,
- DataProvider databaseService, DcaeForwarderInternal aotsDcaeForwarder,
- NotificationDelayService<ProblemNotificationXml> notificationDelayService ) {
-
- super(acessor, mountPointNodeName, netconfNodeDataBroker, capabilities);
-
- this.netconfEventListener = new NetconfEventListenerHandler12(mountPointNodeName, webSocketService,
- databaseService, aotsDcaeForwarder, notificationDelayService, this);
- this.notificationQueue = new NotificationWorker<>(1, 100, this);
-
- }
-
-
- /*-----------------------------------------------------------------------------
- * Functions
- */
-
- /**
- * DeviceMonitor Prepare check by updating NE state and reading all interfaces.
- */
- @Override
- public void prepareCheck() {
- synchronized (dmLock) {
- boolean change = readNetworkElementAndInterfaces();
- if (change) {
- int problems = netconfEventListener.removeAllCurrentProblemsOfNode();
- List<ProblemNotificationXml> resultList = readAllCurrentProblemsOfNode();
- netconfEventListener.initCurrentProblemStatus(resultList);
- LOG.info("Resync mountpoint {} for device {}. Removed {}. Current problems: {}", getMountPointNodeName(),
- getUuId(), problems, resultList.size());
- }
- }
- }
-
- // public boolean checkIfConnectionToMediatorIsOk() -> Shifted to super class
- // public boolean checkIfConnectionToNeIsOk() -> Shifted to super class
-
- /*-----------------------------------------------------------------------------
- * Synchronization
- */
-
- // public void initSynchronizationExtension() -> Shifted to super class
- // private InstanceList readPTPClockInstances() -> Shifted to super class
-
- /*-----------------------------------------------------------------------------
- * Services for NE/Device synchronization
- */
-
- /**
- * Handling of specific Notifications from NE, indicating changes and need for synchronization.
- *
- * <attribute-value-changed-notification xmlns="urn:onf:params:xml:ns:yang:microwave-model">
- * <attribute-name>/equipment-pac/equipment-current-problems</attribute-name>
- * <object-id-ref>CARD-1.1.1.0</object-id-ref> <new-value></new-value>
- * </attribute-value-changed-notification>
- * <attribute-value-changed-notification xmlns="urn:onf:params:xml:ns:yang:microwave-model">
- * <attribute-name>/network-element/extension[value-name="top-level-equipment"]/value</attribute-name>
- * <object-id-ref>Hybrid-Z</object-id-ref>
- * <new-value>SHELF-1.1.0.0,IDU-1.55.0.0,ODU-1.56.0.0,IDU-1.65.0.0</new-value>
- * </attribute-value-changed-notification>
- */
-
-
- @Override
- public void notificationFromNeListener(AttributeValueChangedNotificationXml notificationXml) {
- notificationQueue.put(notificationXml);
- }
-
- @Override
- public void notificationActor(AttributeValueChangedNotificationXml notificationXml) {
-
- LOG.debug("Enter change notification listener");
- if (LOG.isTraceEnabled()) {
- LOG.trace("Notification: {}", notificationXml);
- }
- if (notificationXml.getAttributeName().equals("/equipment-pac/equipment-current-problems")) {
- syncEquipmentPac(notificationXml.getObjectId());
- } else if (notificationXml.getAttributeName()
- .equals("/network-element/extension[value-name=\"top-level-equipment\"]/value")) {
- initialReadFromNetworkElement();
- }
- LOG.debug("Leave change notification listener");
- }
-
- /**
- * Synchronize problems for a specific equipment-pac
- *
- * @param uuidString of the equipment-pac
- */
- private synchronized void syncEquipmentPac(String uuidString) {
-
- int problems = netconfEventListener.removeObjectsCurrentProblemsOfNode(uuidString);
- LOG.debug("Removed {} problems for uuid {}", problems, uuidString);
-
- List<ProblemNotificationXml> resultList = equipment.addProblemsofNodeObject(uuidString);
- netconfEventListener.initCurrentProblemStatus(resultList);
- LOG.debug("Added {} problems for uuid {}", resultList.size(), uuidString);
-
- }
-
-
- /*-----------------------------------------------------------------------------
- * Problem/Fault related functions
- */
-
- /**
- * Read during startup all relevant structure and status parameters from device
- */
- @Override
- public synchronized void initialReadFromNetworkElement() {
- // optionalNe.getLtp().get(0).getLp();
- LOG.debug("Get info about {}", getMountPointNodeName());
-
- int problems = netconfEventListener.removeAllCurrentProblemsOfNode();
- LOG.debug("Removed all {} problems from database at registration", problems);
-
- // Step 2.1: access data broker within this mount point
- LOG.debug("DBRead start");
-
- // Step 2.2: read ne from data store
- readNetworkElementAndInterfaces();
- equipment.readNetworkElementEquipment();
-
- // Step 2.3: read the existing faults and add to DB
- List<ProblemNotificationXml> resultList = readAllCurrentProblemsOfNode();
- equipment.addProblemsofNode(resultList);
-
- netconfEventListener.initCurrentProblemStatus(resultList);
-
- netconfEventListener.writeEquipment(equipment);
-
- LOG.info("Found info at {} for device {} number of problems: {}", getMountPointNodeName(), getUuId(),
- resultList.size());
- }
-
- /**
- * Remove all entries from list
- */
- @Override
- public int removeAllCurrentProblemsOfNode() {
- return netconfEventListener.removeAllCurrentProblemsOfNode();
- }
-
-
- @Override
- public void close() throws Exception {
- }
-
-
- @Override
- public NetworkElementDeviceType getDeviceType() {
- return NetworkElementDeviceType.Optical;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Equipment.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Equipment.java
deleted file mode 100644
index 21309c02c..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Equipment.java
+++ /dev/null
@@ -1,303 +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.base.onfcore;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.NetworkElementCoreData;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.ExtendedEquipment;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.ValueNameList;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.wrapperc.OnfInterfacePac;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.wrapperc.WrapperEquipmentPacRev170402;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.legacy.InventoryInformation;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.Equipment;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.EquipmentKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.NetworkElement;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.equipment.g.ContainedHolder;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.equipment.g.ManufacturedThing;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.manufactured.thing.g.EquipmentType;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.manufactured.thing.g.ManufacturerProperties;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Contains equipment related information of ONFCore Network Element
- */
-public class ONFCoreNetworkElement12Equipment {
-
- private static final Logger LOG = LoggerFactory.getLogger(ONFCoreNetworkElement12Equipment.class);
-
- private static final UniversalId EQUIPMENTROOT = new UniversalId("network-element");
- private static final int EQUIPMENTROOTLEVEL = 0;
-
- private final NetworkElementCoreData coreData;
- private final OnfInterfacePac equipmentPac;
- private final INetconfAcessor acessor;
-
- private final ValueNameList extensionList;
- private final List<UniversalId> topLevelEqUuidList;
- private final List<ProblemNotificationXml> globalProblemList;
- private final List<ExtendedEquipment> globalEquipmentList;
-
- public ONFCoreNetworkElement12Equipment(INetconfAcessor acessor, NetworkElementCoreData coreData, Capabilities capabilities) {
- LOG.debug("Initialize " + ONFCoreNetworkElement12Equipment.class.getName());
- this.acessor = acessor;
- this.coreData = coreData;
- if (capabilities.isSupportingNamespaceAndRevision(WrapperEquipmentPacRev170402.QNAME)) {
- this.equipmentPac = new WrapperEquipmentPacRev170402(acessor, coreData);
- LOG.debug("Equipement pac supported {}", WrapperEquipmentPacRev170402.QNAME);
- } else {
- this.equipmentPac = null;
- LOG.debug("Equipement pac not supported {}", WrapperEquipmentPacRev170402.QNAME);
- }
-
- extensionList = new ValueNameList();
- topLevelEqUuidList = new ArrayList<>();
- globalProblemList = new ArrayList<>();
- globalEquipmentList = new ArrayList<>();
-
- initClassVars();
- }
-
- public void addProblemsofNode(List<ProblemNotificationXml> resultList) {
- resultList.addAll(globalProblemList);
- }
-
- public List<ProblemNotificationXml> addProblemsofNodeObject(String uuidString) {
- List<ProblemNotificationXml> res = new ArrayList<>();
-
- if (this.equipmentPac != null) {
- this.equipmentPac.readTheFaults(new UniversalId(uuidString), res);
- }
- return res;
- }
-
- public @NonNull InventoryInformation getInventoryInformation(List<String> uuids) {
- return getInventoryInformation(this.extensionList, uuids);
- }
-
- protected void readNetworkElementEquipment() {
- doSyncNetworkElementEquipmentToClassVars();
- }
-
- public String getMountpoint() {
- return coreData.getMountpoint();
- }
-
- public OnfInterfacePac getEquipmentPac() {
- return equipmentPac;
- }
-
- public List<UniversalId> getTopLevelEqUuidList() {
- return topLevelEqUuidList;
- }
-
- public List<ExtendedEquipment> getEquipmentList() {
- return globalEquipmentList;
- }
-
- public List<Equipment> getEquipmentAll() {
- List<Equipment> equipmentListAll = new ArrayList<>();
-
- Equipment equipment = readEquipmentAll();
- equipmentListAll.add(equipment);
-
- return equipmentListAll;
- }
-
- TransactionUtils getGenericTransactionUtils() {
- return acessor.getTransactionUtils();
- }
-
- /*
- * --------------------------------------------------------------------------------- private
- * functions
- */
-
- private void initClassVars() {
- this.globalProblemList.clear();
- this.globalEquipmentList.clear();
- this.extensionList.clear();
- this.topLevelEqUuidList.clear();
- }
-
- private void doSyncNetworkElementEquipmentToClassVars() {
-
- NetworkElement optionalNe = coreData.getOptionalNetworkElement();
- initClassVars();
-
- if (optionalNe != null) {
- // extract Inventory
- extensionList.put(optionalNe.getExtension());
-
- if (!extensionList.isEmpty()) {
-
- /*
- * Loop through network element extension to get "top-level-equipment" <extension>
- * <value-name>top-level-equipment</value-name> <value>1.0.BKP,1.0.WCS</value> </extension> "ipv4"
- * address
- */
- extensionList.getAsUniversalIdList("top-level-equipment", topLevelEqUuidList);
-
- // If top-level-equipment exists get further information
- if (topLevelEqUuidList.isEmpty()) {
- LOG.debug("no top level equipment found");
- } else {
- // Read equipment and problems
- for (UniversalId uuid : topLevelEqUuidList) {
- recurseReadEquipmentProblems(uuid, EQUIPMENTROOT, coreData.getMountpoint(), EQUIPMENTROOTLEVEL, globalProblemList,
- globalEquipmentList);
- }
- }
- } else {
- LOG.debug("extension list is null");
- }
- }
- }
-
- private void recurseReadEquipmentProblems(UniversalId uuid, UniversalId parentUuid, String path, int treeLevel,
- List<ProblemNotificationXml> problemList, List<ExtendedEquipment> equipmentList) {
-
- if (uuid != null) {
-
- Equipment equipment = this.readEquipment(uuid);
-
- if (equipment != null) {
- equipmentList.add(new ExtendedEquipment(this.getMountpoint(),parentUuid.getValue(), equipment, path, treeLevel));
-
- if (this.equipmentPac != null) {
- this.equipmentPac.readTheFaults(uuid, problemList);
-
- List<ContainedHolder> containedHolderListe = equipment.getContainedHolder();
- if (containedHolderListe != null) {
- for (ContainedHolder containedHolder : containedHolderListe) {
- recurseReadEquipmentProblems(containedHolder.getOccupyingFru(), uuid, path+"/"+uuid.getValue(), treeLevel + 1,
- problemList, equipmentList);
- }
- }
- }
- }
- }
- }
-
- private @NonNull InventoryInformation getInventoryInformation(ValueNameList extensions, List<String> uuids) {
-
- InventoryInformation inventoryInformation = new InventoryInformation();
-
- // uuids
- inventoryInformation.setInterfaceUuidList(uuids);
-
- if (!extensions.isEmpty()) {
-
- inventoryInformation.setDeviceIpv4(extensions.getOrNull("neIpAddress"));
-
- // If top-level-equipment exists get further information
- if (topLevelEqUuidList.isEmpty()) {
- LOG.debug("no top level equipment found");
- } else {
- if (!globalEquipmentList.isEmpty()) {
- Equipment e = globalEquipmentList.get(0).getEquipment();
- if (e != null) {
- ManufacturedThing manufacturedThing = e.getManufacturedThing();
- if (manufacturedThing != null) {
- EquipmentType et;
- if ((et = manufacturedThing.getEquipmentType()) != null) {
- inventoryInformation.setType(et.getTypeName());
- inventoryInformation.setModel(et.getModelIdentifier());
- }
- ManufacturerProperties em;
- if ((em = manufacturedThing.getManufacturerProperties()) != null) {
- inventoryInformation.setVendor(em.getManufacturerIdentifier());
- }
- }
- }
- }
- }
- } else {
- LOG.debug("extension list is null");
- }
-
- LOG.debug("Inventory: {}", inventoryInformation);
- return inventoryInformation;
-
- }
-
-
- /**
- * Read equipment information
- *
- * @param interfacePacUuid uuid as key for Equipment.
- * @return Equipment or null
- */
- private @Nullable Equipment readEquipment(UniversalId interfacePacUuid) {
-
- final Class<?> clazzPac = Equipment.class;
-
- LOG.info("DBRead Get equipment for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- InstanceIdentifier<Equipment> equipmentIID =
- InstanceIdentifier.builder(Equipment.class, new EquipmentKey(interfacePacUuid)).build();
-
- Equipment res = getGenericTransactionUtils().readData(coreData.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
- equipmentIID);
-
- return res;
- }
-
- /**
- * Read equipment information
- *
- * @param interfacePacUuid uuid as key for Equipment.
- * @return Equipment or null
- */
- private @Nullable Equipment readEquipmentAll() {
-
- final Class<?> clazzPac = Equipment.class;
-
- LOG.info("DBRead Get all equipment for class {} from mountpoint {}", clazzPac.getSimpleName(),
- coreData.getMountpoint());
-
- InstanceIdentifier<Equipment> equipmentIID = InstanceIdentifier.builder(Equipment.class).build();
-
- Equipment res = getGenericTransactionUtils().readData(coreData.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
- equipmentIID);
-
- return res;
- }
-
- /**
- * specific toString()
- */
- @Override
- public String toString() {
- return "ONFCoreNetworkElement12Equipment [coreData=" + coreData + ", equipmentPac=" + equipmentPac
- + ", extensions=" + extensionList + ", topLevelEqUuidList=" + topLevelEqUuidList + ", problemList="
- + globalProblemList + ", equipmentList=" + globalEquipmentList + "]";
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Microwave.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Microwave.java
deleted file mode 100644
index 89f803a17..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElement12Microwave.java
+++ /dev/null
@@ -1,516 +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.base.onfcore;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.ArrayList;
-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.dataprovider.model.DataProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.AllPm;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.ONFLayerProtocolName;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.wrapperc.OnfMicrowaveModel;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl.DcaeForwarderInternal;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.handler.NetconfEventListenerHandler12;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.AttributeValueChangedNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.WebSocketServiceClientInternal;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.performancemanager.impl.database.types.EsHistoricalPerformance15Minutes;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.performancemanager.impl.database.types.EsHistoricalPerformance24Hours;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.toggleAlarmFilter.NotificationDelayService;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.MountPoint;
-import org.opendaylight.mdsal.binding.api.NotificationService;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.extension.g.Extension;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.OtnHistoryDataG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.NetworkElementPac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.network.element.pac.NetworkElementCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementDeviceType;
-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;
-
-/**
- * Get information over NETCONF device according to ONF Coremodel. Read networkelement and
- * conditional packages.
- *
- * Get conditional packages from Networkelement Possible interfaces are: MWPS, LTP(MWPS-TTP),
- * MWAirInterfacePac, MicrowaveModel-ObjectClasses-AirInterface ETH-CTP,LTP(Client),
- * MW_EthernetContainer_Pac MWS, LTP(MWS-CTP-xD), MWAirInterfaceDiversityPac,
- * MicrowaveModel-ObjectClasses-AirInterfaceDiversity MWS, LTP(MWS-TTP),
- * ,MicrowaveModel-ObjectClasses-HybridMwStructure MWS, LTP(MWS-TTP),
- * ,MicrowaveModel-ObjectClasses-PureEthernetStructure
- *
- * @author herbert
- *
- */
-public class ONFCoreNetworkElement12Microwave extends ONFCoreNetworkElement12Base
- implements ONFCoreNetworkElementCallback, NotificationActor<AttributeValueChangedNotificationXml> {
-
- private static final Logger LOG = LoggerFactory.getLogger(ONFCoreNetworkElement12Microwave.class);
-
- /*-----------------------------------------------------------------------------
- * Class members
- */
- private final @NonNull NetconfEventListenerHandler12 microwaveEventListener;
- private final @NonNull OnfMicrowaveModel microwaveModel;
- private final NotificationWorker<AttributeValueChangedNotificationXml> notificationQueue;
-
- private ListenerRegistration<NotificationListener> listenerRegistrationresult = null;
-
- /*-----------------------------------------------------------------------------
- * Construction
- */
-
- /**
- * Constructor
- *
- * @param mountPointNodeName as String
- * @param capabilities of the specific network element
- * @param netconfNodeDataBroker for the network element specific data
- * @param webSocketService to forward event notifications
- * @param databaseService to access the database
- * @param dcaeProvider to forward problem / change notifications
- */
- ONFCoreNetworkElement12Microwave(INetconfAcessor acessor, String mountPointNodeName, Capabilities capabilities,
- DataBroker netconfNodeDataBroker, WebSocketServiceClientInternal webSocketService,
- DataProvider databaseService, DcaeForwarderInternal aotsDcaeForwarder,
- NotificationDelayService<ProblemNotificationXml> notificationDelayService,
- OnfMicrowaveModel onfMicrowaveModel) {
-
- super(acessor, mountPointNodeName, netconfNodeDataBroker, capabilities);
-
- this.microwaveModel = onfMicrowaveModel;
- this.microwaveModel.setCoreData(this);
-
- // Create MicrowaveService here
- this.microwaveEventListener = new NetconfEventListenerHandler12(mountPointNodeName, webSocketService,
- databaseService, aotsDcaeForwarder, notificationDelayService, this);
- this.microwaveModel.setOnfMicrowaveModelListener(microwaveEventListener);
-
- this.notificationQueue = new NotificationWorker<>(1, 100, this);
-
- // ->Below shifted to super class
- // this.isNetworkElementCurrentProblemsSupporting12 =
- // capabilities.isSupportingNamespaceAndRevision(NetworkElementPac.QNAME);
- // LOG.debug("support necurrent-problem-list=" + this.isNetworkElementCurrentProblemsSupporting12);
- // LOG.info("Create NE instance {}", InstanceList.QNAME.getLocalName());
-
- }
-
- /*-----------------------------------------------------------------------------
- * Functions
- */
-
- /**
- * DeviceMonitor Prepare check by updating NE state and reading all interfaces.
- */
- @Override
- public void prepareCheck() {
- synchronized (dmLock) {
- boolean change = readNetworkElementAndInterfaces();
- if (change) {
- int problems = microwaveEventListener.removeAllCurrentProblemsOfNode();
- List<ProblemNotificationXml> resultList = readAllCurrentProblemsOfNode();
- microwaveEventListener.initCurrentProblemStatus(resultList);
- LOG.info("Resync mountpoint {} for device {}. Removed {}. Current problems: {}", getMountPointNodeName(),
- getUuId(), problems, resultList.size());
- }
- }
- }
-
- // public boolean checkIfConnectionToMediatorIsOk() -> Shifted to super class
- // public boolean checkIfConnectionToNeIsOk() -> Shifted to super class
-
- /*-----------------------------------------------------------------------------
- * Synchronization
- */
-
- // public void initSynchronizationExtension() -> Shifted to super class
- // private InstanceList readPTPClockInstances() -> Shifted to super class
-
- /*-----------------------------------------------------------------------------
- * Services for NE/Device synchronization
- */
-
- /**
- * Handling of specific Notifications from NE, indicating changes and need for synchronization.
- *
- * <attribute-value-changed-notification xmlns="urn:onf:params:xml:ns:yang:microwave-model">
- * <attribute-name>/equipment-pac/equipment-current-problems</attribute-name>
- * <object-id-ref>CARD-1.1.1.0</object-id-ref> <new-value></new-value>
- * </attribute-value-changed-notification>
- * <attribute-value-changed-notification xmlns="urn:onf:params:xml:ns:yang:microwave-model">
- * <attribute-name>/network-element/extension[value-name="top-level-equipment"]/value</attribute-name>
- * <object-id-ref>Hybrid-Z</object-id-ref>
- * <new-value>SHELF-1.1.0.0,IDU-1.55.0.0,ODU-1.56.0.0,IDU-1.65.0.0</new-value>
- * </attribute-value-changed-notification>
- */
-
-
- @Override
- public void notificationFromNeListener(AttributeValueChangedNotificationXml notificationXml) {
- notificationQueue.put(notificationXml);
- }
-
- @Override
- public void notificationActor(AttributeValueChangedNotificationXml notificationXml) {
-
- LOG.debug("Enter change notification listener");
- if (LOG.isTraceEnabled()) {
- LOG.trace("Notification: {}", notificationXml);
- }
- if (notificationXml.getAttributeName().equals("/equipment-pac/equipment-current-problems")) {
- syncEquipmentPac(notificationXml.getObjectId());
- } else if (notificationXml.getAttributeName()
- .equals("/network-element/extension[value-name=\"top-level-equipment\"]/value")) {
- initialReadFromNetworkElement();
- }
- LOG.debug("Leave change notification listener");
- }
-
- /**
- * Synchronize problems for a specific equipment-pac
- *
- * @param uuidString of the equipment-pac
- */
- private synchronized void syncEquipmentPac(String uuidString) {
-
- int problems = microwaveEventListener.removeObjectsCurrentProblemsOfNode(uuidString);
- LOG.debug("Removed {} problems for uuid {}", problems, uuidString);
-
- List<ProblemNotificationXml> resultList = equipment.addProblemsofNodeObject(uuidString);
- microwaveEventListener.initCurrentProblemStatus(resultList);
- LOG.debug("Added {} problems for uuid {}", resultList.size(), uuidString);
-
- }
-
-
- /*-----------------------------------------------------------------------------
- * Problem/Fault related functions
- */
-
- /**
- * Read during startup all relevant structure and status parameters from device
- */
- @Override
- public synchronized void initialReadFromNetworkElement() {
- // optionalNe.getLtp().get(0).getLp();
- LOG.debug("Get info about {}", getMountPointNodeName());
-
- int problems = microwaveEventListener.removeAllCurrentProblemsOfNode();
- LOG.debug("Removed all {} problems from database at registration", problems);
-
- // Step 2.1: access data broker within this mount point
- LOG.debug("DBRead start");
-
- // Step 2.2: read ne from data store
- readNetworkElementAndInterfaces();
- equipment.readNetworkElementEquipment();
-
- // Step 2.3: read the existing faults and add to DB
- List<ProblemNotificationXml> resultList = readAllCurrentProblemsOfNode();
- equipment.addProblemsofNode(resultList);
-
- microwaveEventListener.initCurrentProblemStatus(resultList);
-
- microwaveEventListener.writeEquipment(equipment);
-
- LOG.info("Found info at {} for device {} number of problems: {}", getMountPointNodeName(), getUuId(),
- resultList.size());
- }
-
- /**
- * LOG the newly added problems of the interface pac
- *
- * @param idxStart
- * @param uuid
- * @param resultList
- */
- private void debugResultList(String uuid, List<ProblemNotificationXml> resultList, int idxStart) {
- if (LOG.isDebugEnabled()) {
- StringBuffer sb = new StringBuffer();
- 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.toString());
- }
- }
-
- /**
- * Read current problems of AirInterfaces and EthernetContainer according to NE status into DB
- *
- * @return List with all problems
- */
- @Override
- protected List<ProblemNotificationXml> readAllCurrentProblemsOfNode() {
-
- // Step 2.3: read the existing faults and add to DB
- List<ProblemNotificationXml> resultList = new ArrayList<>();
- int idxStart; // Start index for debug messages
- UniversalId uuid;
-
- synchronized (getPmLock()) {
- for (Lp lp : getInterfaceList()) {
-
- idxStart = resultList.size();
- uuid = lp.getUuid();
- Class<?> lpClass = getLpExtension(lp);
-
- ONFLayerProtocolName lpName = ONFLayerProtocolName.valueOf(lp.getLayerProtocolName());
-
- microwaveModel.readTheFaultsOfMicrowaveModel(lpName, lpClass, uuid, resultList);
-
- debugResultList(uuid.getValue(), resultList, idxStart);
-
- }
- }
-
- // Step 2.4: Read other problems from mountpoint
- if (isNetworkElementCurrentProblemsSupporting12) {
- idxStart = resultList.size();
- readNetworkElementCurrentProblems12(resultList);
- debugResultList("CurrentProblems12", resultList, idxStart);
- }
-
- return resultList;
-
- }
-
- /**
- * Get from LayerProtocolExtensions the related generated ONF Interface PAC class which represents it.
- *
- * @param lp logical termination point
- * @return Class of InterfacePac
- */
- @Nullable
- private Class<?> getLpExtension(@Nullable Lp lp) {
-
- String capability = EMPTY;
- String revision = EMPTY;
- String conditionalPackage = EMPTY;
- Class<?> res = null;
-
- if (lp != null) {
- for (Extension e : getExtensionList(lp)) {
- if (e.getValueName().contentEquals("capability")) {
- capability = e.getValue();
- int idx = capability.indexOf("?");
- if (idx != -1) {
- capability = capability.substring(0, idx);
- }
- }
- if (e.getValueName().contentEquals("revision")) {
- revision = e.getValue();
- }
- if (e.getValueName().contentEquals("conditional-package")) {
- conditionalPackage = e.getValue();
- }
- }
- }
- // QName qName =
- // org.opendaylight.yangtools.yang.common.QName.create("urn:onf:params:xml:ns:yang:microwave-model",
- // "2017-03-24", "mw-air-interface-pac").intern();
- LOG.info("LpExtension capability={} revision={} conditionalPackage={}", capability, revision,
- conditionalPackage);
- if (!capability.isEmpty() && !revision.isEmpty() && !conditionalPackage.isEmpty()) {
- try {
- QName qName = QName.create(capability, revision, conditionalPackage);
- res = this.microwaveModel.getClassForLtpExtension(qName);
- } catch (IllegalArgumentException e) {
- LOG.debug("Can not create QName from ({}{}{}): {}", capability, revision, conditionalPackage,
- e.getMessage());
- }
- }
- return res;
- }
-
- /**
- * Read element from class that could be not available
- *
- * @param ltp layer termination point
- * @return List with extension parameters or empty list
- */
- @NonNull
- private static List<Extension> getExtensionList(@Nullable Lp ltp) {
- if (ltp != null && ltp.getExtension() != null) {
- return ltp.getExtension();
- } else {
- return EMPTYLTPEXTENSIONLIST;
- }
- }
-
- @NonNull
- private List<? extends OtnHistoryDataG> readTheHistoricalPerformanceData(Lp lp) {
- ONFLayerProtocolName lpName = ONFLayerProtocolName.valueOf(lp.getLayerProtocolName());
-
- return this.microwaveModel.readTheHistoricalPerformanceData(lpName, lp);
- }
-
- @Override
- public AllPm getHistoricalPM() {
-
- synchronized (getPmLock()) {
- if (pmLp != null) {
- LOG.debug("Enter query PM");
- AllPm allPm = new AllPm();
- Lp lp = pmLp;
-
- List<? extends OtnHistoryDataG> resultList = readTheHistoricalPerformanceData(lp);
- LOG.debug("Got records: {}", resultList.size());
- // org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType
- GranularityPeriodType granularityPeriod;
- for (OtnHistoryDataG perf : resultList) {
-
- granularityPeriod = perf.getGranularityPeriod();
- if (granularityPeriod == null) {
- granularityPeriod = GranularityPeriodType.Unknown;
- }
-
- switch (granularityPeriod) {
- case Period15Min: {
- EsHistoricalPerformance15Minutes pm =
- new EsHistoricalPerformance15Minutes(getMountPointNodeName(), lp)
- .setHistoricalRecord15Minutes(perf);
- allPm.add(pm);
- }
- break;
-
- case Period24Hours: {
- EsHistoricalPerformance24Hours pm =
- new EsHistoricalPerformance24Hours(getMountPointNodeName(), lp)
- .setHistoricalRecord24Hours(perf);
- LOG.debug("Write 24h write to DB");
- allPm.add(pm);
- }
- break;
-
- default:
- LOG.warn("Unknown granularity {}", perf.getGranularityPeriod());
- break;
-
- }
- }
- LOG.debug("Deliver normalized records: {}", allPm.size());
- return allPm;
- } else {
- LOG.debug("Deliver empty, no LTP");
- return AllPm.getEmpty();
- }
- }
- }
-
-
- /**
- * Remove all entries from list
- */
- @Override
- public int removeAllCurrentProblemsOfNode() {
- return microwaveEventListener.removeAllCurrentProblemsOfNode();
- }
-
- /**
- * Register the listener
- */
- @Override
- public void doRegisterEventListener(MountPoint mountPoint) {
- LOG.info("End registration listener for Mountpoint {}", mountPoint.getIdentifier().toString());
- final Optional<NotificationService> optionalNotificationService =
- mountPoint.getService(NotificationService.class);
- final NotificationService notificationService = optionalNotificationService.get();
- // notificationService.registerNotificationListener(microwaveEventListener);
- listenerRegistrationresult =
- notificationService.registerNotificationListener(microwaveModel.getNotificationListener());
- LOG.info("End registration listener for Mountpoint {} Listener: {} Result: {}",
- mountPoint.getIdentifier().toString(), optionalNotificationService, listenerRegistrationresult);
- }
-
- /*------------------------------------------------------------
- * private function to access database
- */
-
- /*-----------------------------------------------------------------------------
- * Reading problems for the networkElement V1.2
- */
-
- private List<ProblemNotificationXml> readNetworkElementCurrentProblems12(List<ProblemNotificationXml> resultList) {
-
- LOG.info("DBRead Get {} NetworkElementCurrentProblems12", getMountPointNodeName());
-
- InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.NetworkElementPac> networkElementCurrentProblemsIID =
- InstanceIdentifier.builder(
- org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.NetworkElementPac.class)
- .build();
-
- // Step 2.3: read to the config data store
- NetworkElementPac problemPac;
- NetworkElementCurrentProblems problems;
- try {
- problemPac = getGenericTransactionUtils().readData(getNetconfNodeDataBroker(), LogicalDatastoreType.OPERATIONAL,
- networkElementCurrentProblemsIID);
- problems = problemPac.getNetworkElementCurrentProblems();
- if (problems == null) {
- LOG.debug("DBRead no NetworkElementCurrentProblems12");
- } else {
- for (org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.network.element.current.problems.g.CurrentProblemList problem : problems.nonnullCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(getMountPointNodeName(), problem.getObjectReference(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(),
- InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- } catch (Exception e) {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- e.printStackTrace(pw);
- LOG.warn("DBRead {} NetworkElementCurrentProblems12 not supported. Message '{}' ", getMountPointNodeName(), pw.toString());
- }
- return resultList;
-
- }
-
- @Override
- public void close() throws Exception {
- if (listenerRegistrationresult != null) {
- listenerRegistrationresult.close();
- }
- }
-
- @Override
- public NetworkElementDeviceType getDeviceType() {
- return NetworkElementDeviceType.Wireless;
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementBase.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementBase.java
deleted file mode 100644
index 7b8e1c0d3..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementBase.java
+++ /dev/null
@@ -1,171 +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.base.onfcore;
-
-import javax.annotation.Nonnull;
-import org.onap.ccsdk.features.sdnr.wt.base.netconf.util.InternalConnectionStatus;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Host;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.NetworkElement;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.Credentials;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.credentials.credentials.LoginPassword;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ConnectionLogStatus;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementConnectionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementConnectionEntity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementDeviceType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.network.element.connection.entity.NodeDetailsBuilder;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @author herbert
- *
- */
-@SuppressWarnings("deprecation")
-public abstract class ONFCoreNetworkElementBase implements AutoCloseable, ONFCoreNetworkElementRepresentation {
-
- private static final Logger LOG = LoggerFactory.getLogger(ONFCoreNetworkElementBase.class);
-
- protected static final String EMPTY = "";
-
- private final String mountPointNodeName;
- private final NodeId nodeId;
- private final DataBroker netconfNodeDataBroker;
- private final Capabilities capabilities;
- private final INetconfAcessor acessor;
-
- protected ONFCoreNetworkElementBase(INetconfAcessor acessor, String mountPointNodeName, DataBroker netconfNodeDataBroker,
- Capabilities capabilities) {
- LOG.info("Create ONFCoreNetworkElementBase");
- this.mountPointNodeName = mountPointNodeName;
- this.nodeId = new NodeId(mountPointNodeName);
- this.netconfNodeDataBroker = netconfNodeDataBroker;
- this.capabilities = capabilities;
- this.acessor = acessor;
-
- }
-
- @Override
- public String getMountPointNodeName() {
- return mountPointNodeName;
- }
-
- /**
- * @return the netconfNodeDataBroker
- */
- public DataBroker getNetconfNodeDataBroker() {
- return netconfNodeDataBroker;
- }
-
- /**
- * @return the capabilities
- */
- public Capabilities getCapabilities() {
- return capabilities;
- }
-
- /**
- * Update devicetype and let all other field empty
- * @param deviceType that should be updated
- * @return NetworkElementConnectionEntity with related parameter
- */
- public static NetworkElementConnectionEntity getNetworkConnectionDeviceTpe(NetworkElementDeviceType deviceType) {
- NetworkElementConnectionBuilder eb = new NetworkElementConnectionBuilder();
- eb.setDeviceType(deviceType);
- return eb.build();
- }
-
- /**
- * Provide device specific data
- * @param nodeId mountpoint id
- * @param nNode data
- * @return NetworkElementConnectionEntity specific information
- */
- public static NetworkElementConnectionEntity getNetworkConnection(String nodeId, @Nonnull NetconfNode nNode) {
-
- NetworkElementConnectionBuilder eb = new NetworkElementConnectionBuilder();
- // -- basics
- eb.setId(nodeId).setNodeId(nodeId).setDeviceType(NetworkElementDeviceType.Unknown).setIsRequired(false);
-
- // -- connection status
- ConnectionLogStatus status = InternalConnectionStatus.statusFromNodeStatus(nNode.getConnectionStatus());
- eb.setStatus(status);
-
- // -- capabilites
- Capabilities availableCapabilities = Capabilities.getAvailableCapabilities(nNode);
- Capabilities unAvailableCapabilities = Capabilities.getUnavailableCapabilities(nNode);
- eb.setCoreModelCapability(availableCapabilities.getRevisionForNamespace(NetworkElement.QNAME));
-
- NodeDetailsBuilder nodeDetails = new NodeDetailsBuilder()
- .setAvailableCapabilities(availableCapabilities.getCapabilities())
- .setUnavailableCapabilities(unAvailableCapabilities.getCapabilities());
- eb.setNodeDetails(nodeDetails.build());
- // -- host information
- Host host = nNode.getHost();
- PortNumber portNumber = nNode.getPort();
- if (host != null && portNumber != null) {
- eb.setHost(host.stringValue()).setPort(portNumber.getValue().longValue());
- }
-
- Credentials credentials = nNode.getCredentials();
- if (credentials instanceof LoginPassword) {
- LoginPassword loginPassword = (LoginPassword) credentials;
- eb.setUsername(loginPassword.getUsername()).setPassword(loginPassword.getPassword());
- }
- return eb.build();
- }
-
-
- @Override
- public void warmstart() {
- int problems = removeAllCurrentProblemsOfNode();
- LOG.debug("Removed all {} problems from database at deregistration for {}", problems, mountPointNodeName);
- }
-
- @Override
- public NodeId getNodeId() {
- return nodeId;
- }
-
- public TransactionUtils getGenericTransactionUtils() {
- return acessor.getTransactionUtils();
- }
-
- /*---------------------------------------------------------------
- * Getter/ Setter
- */
- @Override
- public String getMountpoint() {
- return mountPointNodeName;
- }
-
- @Override
- public DataBroker getDataBroker() {
- return netconfNodeDataBroker;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementCallback.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementCallback.java
deleted file mode 100644
index 12790b30e..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementCallback.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.base.onfcore;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.AttributeValueChangedNotificationXml;
-
-public interface ONFCoreNetworkElementCallback {
-
- public void notificationFromNeListener(AttributeValueChangedNotificationXml notificationXml);
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementEmpty.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementEmpty.java
deleted file mode 100644
index 2c623d8d3..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementEmpty.java
+++ /dev/null
@@ -1,161 +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.base.onfcore;
-
-import java.util.Optional;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElementService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.AllPm;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.legacy.InventoryInformation;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.MountPoint;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.NetworkElement;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementDeviceType;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @author herbert
- *
- */
-public class ONFCoreNetworkElementEmpty implements ONFCoreNetworkElementRepresentation {
-
- private static final Logger LOG = LoggerFactory.getLogger(ONFCoreNetworkElementEmpty.class);
-
- private final String mountPointNodeName;
- private final NodeId nodeId;
-
- ONFCoreNetworkElementEmpty(String mountPointNodeName) {
- LOG.info("Create {}",ONFCoreNetworkElementEmpty.class.getSimpleName());
- this.mountPointNodeName = mountPointNodeName;
- this.nodeId = new NodeId(mountPointNodeName);
- }
-
- @Override
- public void initialReadFromNetworkElement() {
- }
-
- @Override
- public String getMountPointNodeName() {
- return mountPointNodeName;
- }
-
- @Override
- public String getMountpoint() {
- return mountPointNodeName;
- }
-
- @Override
- public void resetPMIterator() {
- }
-
- @Override
- public boolean hasNext() {
- return false;
- }
-
- @Override
- public void next() {
- }
-
- @Override
- public AllPm getHistoricalPM() {
- return AllPm.getEmpty();
- }
-
- @Override
- public String pmStatusToString() {
- return this.getClass().getSimpleName();
- }
-
- @Override
- public int removeAllCurrentProblemsOfNode() {
- return 0;
- }
-
- @Override
- public void doRegisterEventListener(MountPoint mointPoint) {
- //Do nothing
- }
-
- @Override
- public void prepareCheck() {
- //Do nothing here
- }
-
- @Override
- public boolean checkIfConnectionToMediatorIsOk() {
- return true;
- }
-
- @Override
- public boolean checkIfConnectionToNeIsOk() {
- return true;
- }
-
- @Override
- public InventoryInformation getInventoryInformation() {
- return InventoryInformation.getDefault();
- }
-
- @Override
- public InventoryInformation getInventoryInformation(String layerProtocolFilter) {
- return InventoryInformation.getDefault();
- }
-
- @Override
- public DataBroker getDataBroker() {
- return null;
- }
-
- @Override
- public NetworkElement getOptionalNetworkElement() {
- return null;
- }
-
- @Override
- public NetworkElementDeviceType getDeviceType() {
- return NetworkElementDeviceType.Unknown;
- }
-
- @Override
- public void register() {
- }
-
- @Override
- public void deregister() {
- }
-
- @Override
- public NodeId getNodeId() {
- return nodeId;
- }
-
- @Override
- public <L extends NetworkElementService> Optional<L> getService(Class<L> clazz) {
- return Optional.empty();
- }
-
- @Override
- public void warmstart() {
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementFactory.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementFactory.java
deleted file mode 100644
index 58dcfd2d0..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementFactory.java
+++ /dev/null
@@ -1,103 +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.base.onfcore;
-
-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.DeviceManagerServiceProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElementFactory;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.UnkownDevicemanagerServiceException;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.wrapperc.OnfMicrowaveModel;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.wrapperc.WrapperMicrowaveModelRev170324;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.wrapperc.WrapperMicrowaveModelRev180907;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.wrapperc.WrapperMicrowaveModelRev181010;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl.DcaeForwarderInternal;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.DevicemanagerNotificationDelayService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.WebSocketServiceClientInternal;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.NetworkElement;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Create a Network Element representation according to the capability
- * information. The capabilities are more than an ODL-QName. After the ? other
- * terms than "revision" are provided.
- *
- */
-public class ONFCoreNetworkElementFactory implements NetworkElementFactory {
-
- private static final Logger LOG = LoggerFactory.getLogger(ONFCoreNetworkElementFactory.class);
-
- private static final ONFCoreNetworkElementRepresentation ONFCORE_NETWORKELEMENT_LOCK = new ONFCoreNetworkElementEmpty("NE-LOCK");
-
- /**
- * Used as Lock by devicemanager
- * @return ONFCoreNetworkElementRepresentation for lock purpose
- */
- public @NonNull ONFCoreNetworkElementRepresentation getLock() {
- return ONFCORE_NETWORKELEMENT_LOCK;
- }
-
- @Override
- public Optional<org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElement> create(INetconfAcessor acessor,
- DeviceManagerServiceProvider serviceProvider) {
- try {
- DataProvider dataProvider = serviceProvider.getDataProvider();
- WebSocketServiceClientInternal webSocketService = serviceProvider.getService(WebSocketServiceClientInternal.class);
- DcaeForwarderInternal aotsDcaeForwarder = serviceProvider.getService(DcaeForwarderInternal.class);
- DevicemanagerNotificationDelayService notificationDelayService = serviceProvider
- .getService(DevicemanagerNotificationDelayService.class);
-
- Capabilities capabilities = acessor.getCapabilites();
-
- if (capabilities.isSupportingNamespaceAndRevision(NetworkElement.QNAME)) {
- OnfMicrowaveModel onfMicrowaveModel = null;
-
- if (capabilities.isSupportingNamespaceAndRevision(WrapperMicrowaveModelRev170324.QNAME)) {
- onfMicrowaveModel = new WrapperMicrowaveModelRev170324(acessor);
- } else if (capabilities.isSupportingNamespaceAndRevision(WrapperMicrowaveModelRev180907.QNAME)) {
- onfMicrowaveModel = new WrapperMicrowaveModelRev180907(acessor);
- } else if (capabilities.isSupportingNamespaceAndRevision(WrapperMicrowaveModelRev181010.QNAME)) {
- onfMicrowaveModel = new WrapperMicrowaveModelRev181010(acessor);
- }
-
- String mountPointNodeName = acessor.getNodeId().getValue();
- DataBroker netconfNodeDataBroker = acessor.getDataBroker();
-
- if (onfMicrowaveModel != null) {
- return Optional.of(new ONFCoreNetworkElement12Microwave(acessor, mountPointNodeName, capabilities, netconfNodeDataBroker,
- webSocketService, dataProvider, aotsDcaeForwarder,
- notificationDelayService, onfMicrowaveModel));
- } else {
- return Optional.of(new ONFCoreNetworkElement12Basic(acessor, mountPointNodeName, capabilities, netconfNodeDataBroker,
- webSocketService, dataProvider, aotsDcaeForwarder,
- notificationDelayService));
- }
- }
-
- } catch (UnkownDevicemanagerServiceException e) {
- LOG.warn("Service missing", e);
- }
- return Optional.empty();
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementRepresentation.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementRepresentation.java
deleted file mode 100644
index 565a0f591..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/ONFCoreNetworkElementRepresentation.java
+++ /dev/null
@@ -1,42 +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.base.onfcore;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.DeviceMonitoredNe;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.InventoryProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElement;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.NetworkElementCoreData;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.performancemanager.impl.MicrowaveModelPerformanceDataProvider;
-import org.opendaylight.mdsal.binding.api.MountPoint;
-
-public interface ONFCoreNetworkElementRepresentation
- extends DeviceMonitoredNe, MicrowaveModelPerformanceDataProvider, NetworkElementCoreData, InventoryProvider, NetworkElement {
-
- /**
- * Read during startup all relevant structure and status parameters from device.
- * Remove all currentAlarms, read structure from networkElement with all
- * interfacePacs, read current alarm status
- */
- public void initialReadFromNetworkElement();
-
- public String getMountPointNodeName();
-
- public int removeAllCurrentProblemsOfNode();
-
- public void doRegisterEventListener(MountPoint mountPoint);
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/AllPm.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/AllPm.java
deleted file mode 100644
index 36f4b9709..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/AllPm.java
+++ /dev/null
@@ -1,60 +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.base.onfcore.container;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.performancemanager.impl.database.types.EsHistoricalPerformance15Minutes;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.performancemanager.impl.database.types.EsHistoricalPerformance24Hours;
-
-public class AllPm {
-
- private final static AllPm EMPTY = new AllPm();
-
- private final List<EsHistoricalPerformance15Minutes> pm15 = new ArrayList<>();
- private final List<EsHistoricalPerformance24Hours> pm24 = new ArrayList<>();
-
- public void add(EsHistoricalPerformance15Minutes pm) {
- pm15.add(pm);
- }
-
- public void add(EsHistoricalPerformance24Hours pm) {
- pm24.add(pm);
- }
-
- public List<EsHistoricalPerformance15Minutes> getPm15() {
- return pm15;
- }
-
- public List<EsHistoricalPerformance24Hours> getPm24() {
- return pm24;
- }
-
- public Object size() {
- return pm15.size()+pm24.size();
- }
-
- public static AllPm getEmpty() {
- return EMPTY;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedAirInterfaceHistoricalPerformanceType12.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedAirInterfaceHistoricalPerformanceType12.java
deleted file mode 100644
index cbff0c9ef..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedAirInterfaceHistoricalPerformanceType12.java
+++ /dev/null
@@ -1,105 +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.base.onfcore.container;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.LinkIdentifyingObject;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.ObjectIdentifier;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.OtnHistoryDataG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.AirInterfaceConfigurationG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.AirInterfaceHistoricalPerformanceTypeG;
-import org.opendaylight.yangtools.yang.binding.DataContainer;
-
-public class ExtendedAirInterfaceHistoricalPerformanceType12 implements OtnHistoryDataG, LinkIdentifyingObject {
-
- private final AirInterfaceHistoricalPerformanceTypeG airInterfaceHistoricalPerformanceType;
- private final AirInterfaceConfigurationG airInterfaceConfiguration;
-
- public ExtendedAirInterfaceHistoricalPerformanceType12(AirInterfaceHistoricalPerformanceTypeG data, AirInterfaceConfigurationG conf) {
- this.airInterfaceHistoricalPerformanceType = data;
- this.airInterfaceConfiguration = conf;
- }
-
-
- public AirInterfaceHistoricalPerformanceTypeG getAirInterfaceHistoricalPerformanceType() {
- return airInterfaceHistoricalPerformanceType;
- }
-
-
- public AirInterfaceConfigurationG getAirInterfaceConfiguration() {
- return airInterfaceConfiguration;
- }
-
-
- @Override
- public Class<? extends DataContainer> getImplementedInterface() {
- return airInterfaceHistoricalPerformanceType.getImplementedInterface();
- }
-
- @Override
- public String getHistoryDataId() {
- return airInterfaceHistoricalPerformanceType.getHistoryDataId();
- }
-
- @Override
- public DateAndTime getPeriodEndTime() {
- return airInterfaceHistoricalPerformanceType.getPeriodEndTime();
- }
-
-
- @Override
- public GranularityPeriodType getGranularityPeriod() {
- return airInterfaceHistoricalPerformanceType.getGranularityPeriod();
- }
-
-
- @Override
- public ObjectIdentifier getObjectClass() {
- return airInterfaceHistoricalPerformanceType.getObjectClass();
- }
-
-
- @Override
- public ObjectIdentifier getNameBinding() {
- return airInterfaceHistoricalPerformanceType.getNameBinding();
- }
-
- @Override
- public Boolean isSuspectIntervalFlag() {
- return airInterfaceHistoricalPerformanceType.isSuspectIntervalFlag();
- }
-
- @Override
- public String getSignalId() {
- return airInterfaceConfiguration.getRadioSignalId();
- }
-
-
- @Override
- public String toString() {
- return "ExtendedAirInterfaceHistoricalPerformanceType [airInterfaceHistoricalPerformanceType="
- + airInterfaceHistoricalPerformanceType + ", airInterfaceConfiguration=" + airInterfaceConfiguration
- + "]";
- }
-
-
-
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedAirInterfaceHistoricalPerformanceType1211.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedAirInterfaceHistoricalPerformanceType1211.java
deleted file mode 100644
index b21b04fe2..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedAirInterfaceHistoricalPerformanceType1211.java
+++ /dev/null
@@ -1,106 +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.base.onfcore.container;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.LinkIdentifyingObject;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.ObjectIdentifier;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.OtnHistoryDataG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.AirInterfaceConfigurationG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.AirInterfaceHistoricalPerformanceTypeG;
-import org.opendaylight.yangtools.yang.binding.DataContainer;
-
-public class ExtendedAirInterfaceHistoricalPerformanceType1211 implements OtnHistoryDataG, LinkIdentifyingObject {
-
- private final AirInterfaceHistoricalPerformanceTypeG airInterfaceHistoricalPerformanceType;
- private final AirInterfaceConfigurationG airInterfaceConfiguration;
-
- public ExtendedAirInterfaceHistoricalPerformanceType1211(AirInterfaceHistoricalPerformanceTypeG data, AirInterfaceConfigurationG conf) {
- this.airInterfaceHistoricalPerformanceType = data;
- this.airInterfaceConfiguration = conf;
- }
-
-
- public AirInterfaceHistoricalPerformanceTypeG getAirInterfaceHistoricalPerformanceType() {
- return airInterfaceHistoricalPerformanceType;
- }
-
-
- public AirInterfaceConfigurationG getAirInterfaceConfiguration() {
- return airInterfaceConfiguration;
- }
-
-
- @Override
- public Class<? extends DataContainer> getImplementedInterface() {
- return airInterfaceHistoricalPerformanceType.getImplementedInterface();
- }
-
- @Override
- public String getHistoryDataId() {
- return airInterfaceHistoricalPerformanceType.getHistoryDataId();
- }
-
- @Override
- public DateAndTime getPeriodEndTime() {
- return airInterfaceHistoricalPerformanceType.getPeriodEndTime();
- }
-
-
- @Override
- public GranularityPeriodType getGranularityPeriod() {
- return airInterfaceHistoricalPerformanceType.getGranularityPeriod();
- }
-
-
- @Override
- public ObjectIdentifier getObjectClass() {
- return airInterfaceHistoricalPerformanceType.getObjectClass();
- }
-
-
- @Override
- public ObjectIdentifier getNameBinding() {
- return airInterfaceHistoricalPerformanceType.getNameBinding();
- }
-
- @Override
- public Boolean isSuspectIntervalFlag() {
- return airInterfaceHistoricalPerformanceType.isSuspectIntervalFlag();
- }
-
- @SuppressWarnings("deprecation")
- @Override
- public String getSignalId() {
- return airInterfaceConfiguration.getRadioSignalId();
- }
-
-
- @Override
- public String toString() {
- return "ExtendedAirInterfaceHistoricalPerformanceType [airInterfaceHistoricalPerformanceType="
- + airInterfaceHistoricalPerformanceType + ", airInterfaceConfiguration=" + airInterfaceConfiguration
- + "]";
- }
-
-
-
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedAirInterfaceHistoricalPerformanceType1211p.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedAirInterfaceHistoricalPerformanceType1211p.java
deleted file mode 100644
index 1fdadd090..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedAirInterfaceHistoricalPerformanceType1211p.java
+++ /dev/null
@@ -1,106 +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.base.onfcore.container;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.LinkIdentifyingObject;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.ObjectIdentifier;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.OtnHistoryDataG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.AirInterfaceConfigurationG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.AirInterfaceHistoricalPerformanceTypeG;
-import org.opendaylight.yangtools.yang.binding.DataContainer;
-
-public class ExtendedAirInterfaceHistoricalPerformanceType1211p implements OtnHistoryDataG, LinkIdentifyingObject {
-
- private final AirInterfaceHistoricalPerformanceTypeG airInterfaceHistoricalPerformanceType;
- private final AirInterfaceConfigurationG airInterfaceConfiguration;
-
- public ExtendedAirInterfaceHistoricalPerformanceType1211p(AirInterfaceHistoricalPerformanceTypeG data, AirInterfaceConfigurationG conf) {
- this.airInterfaceHistoricalPerformanceType = data;
- this.airInterfaceConfiguration = conf;
- }
-
-
- public AirInterfaceHistoricalPerformanceTypeG getAirInterfaceHistoricalPerformanceType() {
- return airInterfaceHistoricalPerformanceType;
- }
-
-
- public AirInterfaceConfigurationG getAirInterfaceConfiguration() {
- return airInterfaceConfiguration;
- }
-
-
- @Override
- public Class<? extends DataContainer> getImplementedInterface() {
- return airInterfaceHistoricalPerformanceType.getImplementedInterface();
- }
-
- @Override
- public String getHistoryDataId() {
- return airInterfaceHistoricalPerformanceType.getHistoryDataId();
- }
-
- @Override
- public DateAndTime getPeriodEndTime() {
- return airInterfaceHistoricalPerformanceType.getPeriodEndTime();
- }
-
-
- @Override
- public GranularityPeriodType getGranularityPeriod() {
- return airInterfaceHistoricalPerformanceType.getGranularityPeriod();
- }
-
-
- @Override
- public ObjectIdentifier getObjectClass() {
- return airInterfaceHistoricalPerformanceType.getObjectClass();
- }
-
-
- @Override
- public ObjectIdentifier getNameBinding() {
- return airInterfaceHistoricalPerformanceType.getNameBinding();
- }
-
- @Override
- public Boolean isSuspectIntervalFlag() {
- return airInterfaceHistoricalPerformanceType.isSuspectIntervalFlag();
- }
-
- @SuppressWarnings("deprecation")
- @Override
- public String getSignalId() {
- return airInterfaceConfiguration.getRadioSignalId();
- }
-
-
- @Override
- public String toString() {
- return "ExtendedAirInterfaceHistoricalPerformanceType [airInterfaceHistoricalPerformanceType="
- + airInterfaceHistoricalPerformanceType + ", airInterfaceConfiguration=" + airInterfaceConfiguration
- + "]";
- }
-
-
-
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedEquipment.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedEquipment.java
deleted file mode 100644
index 5bffd989a..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ExtendedEquipment.java
+++ /dev/null
@@ -1,136 +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.base.onfcore.container;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.Equipment;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.equipment.g.ContainedHolder;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.equipment.g.ManufacturedThing;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.manufactured.thing.g.EquipmentInstance;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.manufactured.thing.g.EquipmentType;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.manufactured.thing.g.ManufacturerProperties;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Inventory;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.InventoryBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ExtendedEquipment {
-
- private static final Logger LOG = LoggerFactory.getLogger(ExtendedEquipment.class);
-
- public static final String ESDATATYPENAME = "inventoryequipment";
- private final String parentUuid;
- private final int treeLevel;
- private final Equipment equipment;
- private final String nodeId;
- private final String path;
- /**
- * Equipment with additional information beside NETCONF equipment
- *
- * @param parentUuid of parent equipment
- * @param equipment NETCONF Equipment
- * @param treeLevel level of tree starting with root at 0
- */
- public ExtendedEquipment(String nodeId, String parentUuid, Equipment equipment, String path, int treeLevel) {
- super();
- this.nodeId = nodeId;
- this.parentUuid = parentUuid;
- this.equipment = equipment;
- this.path = path;
- this.treeLevel = treeLevel;
- }
-
- public String getParentUuid() {
- return parentUuid;
- }
-
- public Equipment getEquipment() {
- return equipment;
- }
-
- public int getTreeLevel() {
- return treeLevel;
- }
- public String getNodeId() {
- return nodeId;
- }
-
- public Inventory getCreateInventoryInput() {
-
- InventoryBuilder inventoryBuilder = new InventoryBuilder();
-
- // General
- inventoryBuilder.setNodeId(getNodeId());
- inventoryBuilder.setParentUuid(getParentUuid());
- inventoryBuilder.setTreeLevel(new Long(getTreeLevel()));
-
- if (equipment != null) {
- inventoryBuilder.setUuid(equipment.getUuid().getValue());
- // -- String list with ids of holders
- List<String> containerHolderKeyList = new ArrayList<>();
- List<ContainedHolder> containerHolderList = equipment.getContainedHolder();
- if (containerHolderList != null) {
- for (ContainedHolder containerHolder : containerHolderList) {
- containerHolderKeyList.add(containerHolder.getUuid().getValue());
- }
- }
- inventoryBuilder.setContainedHolder(containerHolderKeyList);
-
- // -- Manufacturer related things
- ManufacturedThing mThing = equipment.getManufacturedThing();
- if (mThing != null) {
- ManufacturerProperties mProperties = mThing.getManufacturerProperties();
- if (mProperties != null) {
- inventoryBuilder.setManufacturerName(mProperties.getManufacturerName());
- inventoryBuilder.setManufacturerIdentifier(mProperties.getManufacturerIdentifier());
- }
- EquipmentType mType = mThing.getEquipmentType();
- if (mType != null) {
- inventoryBuilder.setDescription(mType.getDescription());
- inventoryBuilder.setModelIdentifier(mType.getModelIdentifier());
- inventoryBuilder.setPartTypeId(mType.getPartTypeIdentifier());
- inventoryBuilder.setTypeName(mType.getTypeName());
- inventoryBuilder.setVersion(mType.getVersion());
- }
- EquipmentInstance mInstance = mThing.getEquipmentInstance();
- if (mInstance != null) {
- String manufacturedDateString = mInstance.getManufactureDate();
- if (manufacturedDateString != null && !manufacturedDateString.isEmpty()) {
- try {
- inventoryBuilder.setDate(mInstance.getManufactureDate());
- } catch (IllegalArgumentException e) {
- LOG.debug("Format problem", e);
- }
- }
- inventoryBuilder.setSerial(mInstance.getSerialNumber());
- }
- }
- }
-
- return inventoryBuilder.build();
- }
-
- @Override
- public String toString() {
- return "ExtendedEquipment [parentUuid=" + parentUuid + ", treeLevel=" + treeLevel + ", equipment=" + equipment
- + ", nodeId=" + nodeId + ", path=" + path + "]";
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ONFLayerProtocolName.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ONFLayerProtocolName.java
deleted file mode 100644
index 7f0e60d5e..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ONFLayerProtocolName.java
+++ /dev/null
@@ -1,61 +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.base.onfcore.container;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public enum ONFLayerProtocolName {
-
- MWAirInterface("MWPS"), //V1.0 + V1.2
- EthernetContainer10("ETH-CTP"), //V1.0
- EthernetContainer12("ETC"), //V1.2 + V1.2.1.1
- EthernetPhysical("ETY"), //V1.2
- TDMContainer("TDM"), //V1.2
- Structure("MWS"), //V1.0 + V1.2
- Ethernet("ETH"), //V1.2
- Unknown("");
-
- private static final Logger LOG = LoggerFactory.getLogger(ONFLayerProtocolName.class);
-
- private final String myLayerProtocolName;
-
- ONFLayerProtocolName( String myLayerProtocolName ) {
- this.myLayerProtocolName = myLayerProtocolName;
- }
-
- public boolean is( org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.LayerProtocolName onfName ) {
- return myLayerProtocolName.equals(onfName.getValue());
- }
-
- public static ONFLayerProtocolName valueOf( org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.LayerProtocolName onfName ) {
- for (ONFLayerProtocolName protocol : ONFLayerProtocolName.values()) {
- if (protocol.is(onfName)) {
- return protocol;
- }
- }
- LOG.info("Can not map {}. Use Unknown",onfName.getValue() );
- return Unknown;
- }
-
- public String getValue() {
- return myLayerProtocolName;
- }
-
-}
-
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ValueNameList.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ValueNameList.java
deleted file mode 100644
index 1af59a007..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/container/ValueNameList.java
+++ /dev/null
@@ -1,82 +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.base.onfcore.container;
-
-import java.util.HashMap;
-import java.util.List;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.extension.g.Extension;
-
-/**
- * ValueNameList is an access Wrapper to NETCONF Extension lists
- * Class is a specialized HashMap.
- */
-public class ValueNameList extends HashMap<String, String> {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * Create ValueNameList for NETCONF extensions
- * @param extensionList Parameters as received from device. Could be null.
- */
- public void put(@Nullable List<Extension> extensionList) {
-
- if (extensionList != null) {
- String name;
- String value;
-
- for (Extension e : extensionList) {
- name = e.getValueName();
- value = e.getValue();
- if (name != null && value != null) {
- put(name, value);
- }
- }
- }
- }
-
- /**
- * Return value or null
- * @param name key for element
- * @return value if key exists; if not nul
- */
- public String getOrNull(String name) {
- return containsKey(name) ? get(name) : null;
- }
-
- /**
- * Get element as id list
- * @param name key of element
- * @param topLevelEqUuidList as input to add elements
- * @return List<UniversalId>
- */
- public @NonNull List<UniversalId> getAsUniversalIdList(String name, List<UniversalId> topLevelEqUuidList) {
- if (containsKey(name)) {
- String[] result = get(name).split(",\\s*");
- if (result.length > 0) {
- for (String e : result) {
- topLevelEqUuidList.add(new UniversalId(e));
- }
- }
- }
- return topLevelEqUuidList;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/OnfInterfacePac.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/OnfInterfacePac.java
deleted file mode 100644
index 674f06768..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/OnfInterfacePac.java
+++ /dev/null
@@ -1,38 +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.base.onfcore.wrapperc;
-
-import java.util.List;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
-
-public interface OnfInterfacePac {
-
- /**
- * Read problems of specific interfaces. TODO Goal for future implementation
- * without usage of explicit new. Key is generated by newInstance() function
- * here to verify this approach.
- *
- * @param interfacePacUuid Universal index of Interfacepac
- * @param resultList List to add fault. If null new list is created.
- * @return list of alarms
- */
- public List<ProblemNotificationXml> readTheFaults(UniversalId interfacePacUuid, @Nullable List<ProblemNotificationXml> resultList);
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/OnfMicrowaveModel.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/OnfMicrowaveModel.java
deleted file mode 100644
index bd7aa835c..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/OnfMicrowaveModel.java
+++ /dev/null
@@ -1,46 +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.base.onfcore.wrapperc;
-
-import java.util.List;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.NetworkElementCoreData;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.ONFLayerProtocolName;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.OtnHistoryDataG;
-import org.opendaylight.yangtools.yang.binding.NotificationListener;
-import org.opendaylight.yangtools.yang.common.QName;
-
-public interface OnfMicrowaveModel {
-
- public void setCoreData(NetworkElementCoreData coreData);
-
- public void readTheFaultsOfMicrowaveModel(ONFLayerProtocolName lpName, Class<?> lpClass, UniversalId uuid,
- List<ProblemNotificationXml> resultList);
-
- public List<? extends OtnHistoryDataG> readTheHistoricalPerformanceData(ONFLayerProtocolName lpName, Lp lp);
-
- public Class<?> getClassForLtpExtension(QName qName);
-
- public <T extends NotificationListener> T getNotificationListener();
-
- public void setOnfMicrowaveModelListener(OnfMicrowaveModelNotification microwaveModelListener);
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/OnfMicrowaveModelNotification.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/OnfMicrowaveModelNotification.java
deleted file mode 100644
index 3f91f6f6c..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/OnfMicrowaveModelNotification.java
+++ /dev/null
@@ -1,38 +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.base.onfcore.wrapperc;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.AttributeValueChangedNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ObjectCreationNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ObjectDeletionNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-
-/**
- * Abstraction of YANG specified notifications
- * Each method converts from internal specific class to model unspecific class
- * @author herbert
- *
- */
-public interface OnfMicrowaveModelNotification {
-
- void onObjectCreationNotification(ObjectCreationNotificationXml notificationXml);
- void onObjectDeletionNotification(ObjectDeletionNotificationXml notificationXml);
- void onProblemNotification(ProblemNotificationXml notificationXml);
- void onAttributeValueChangedNotification(AttributeValueChangedNotificationXml notificationXml);
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperEquipmentPacRev170402.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperEquipmentPacRev170402.java
deleted file mode 100644
index 15a9cfd45..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperEquipmentPacRev170402.java
+++ /dev/null
@@ -1,111 +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.base.onfcore.wrapperc;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.NetworkElementCoreData;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.CurrentProblemTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.EquipmentPac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.EquipmentPacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.onf.core.model.conditional.packages.rev170402.equipment.pac.EquipmentCurrentProblems;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class WrapperEquipmentPacRev170402 implements OnfInterfacePac {
-
- private static final Logger LOG = LoggerFactory.getLogger(WrapperEquipmentPacRev170402.class);
- public static final QName QNAME = EquipmentPac.QNAME;
-
- private final NetworkElementCoreData coreData;
- private final INetconfAcessor acessor;
-
-
- public WrapperEquipmentPacRev170402(INetconfAcessor acessor, NetworkElementCoreData coreData) {
- this.coreData = coreData;
- this.acessor = acessor;
- }
-
- private TransactionUtils getGenericTransactionUtils() {
- return acessor.getTransactionUtils();
- }
-
- /**
- * Read problems of specific interfaces. TODO Goal for future implementation without usage of
- * explicit new. Key is generated by newInstance() function here to verify this approach.
- *
- * @param interfacePacUuid Universal index of onf interface-pac
- * @param resultList list to add, or null for new list.
- * @return list of alarms
- */
- @Override
- public List<ProblemNotificationXml> readTheFaults(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<EquipmentPac> clazzPac = EquipmentPac.class;
- final Class<EquipmentPacKey> clazzPacKey = EquipmentPacKey.class;
- final Class<EquipmentCurrentProblems> clazzProblems = EquipmentCurrentProblems.class;
- // final Class<ContainerCurrentProblemTypeG> clazzProblem =
- // ContainerCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- try {
- if (resultList == null) {
- resultList = new ArrayList<>();
- }
- // -- Specific part 1
- Constructor<EquipmentPacKey> cons = clazzPacKey.getConstructor(UniversalId.class); // Avoid new()
- InstanceIdentifier<EquipmentCurrentProblems> interfaceIID = InstanceIdentifier
- .builder(clazzPac, cons.newInstance(interfacePacUuid)).child(clazzProblems).build();
-
- // -- Specific part 2
- EquipmentCurrentProblems problems = getGenericTransactionUtils().readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, interfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no {}", interfacePacUuid, clazzProblems, clazzProblems.getName());
- } else {
- // -- Specific part 3
- for (CurrentProblemTypeG problem : problems.nonnullCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(),
- InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- } catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException
- | IllegalArgumentException | InvocationTargetException e) {
- LOG.warn("Could not reade instance of MwTdmContainerPacKey: ", e);
- }
- return resultList;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperMicrowaveModelRev170324.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperMicrowaveModelRev170324.java
deleted file mode 100644
index b0a9558c3..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperMicrowaveModelRev170324.java
+++ /dev/null
@@ -1,593 +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.base.onfcore.wrapperc;
-
-
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-import javax.annotation.Nonnull;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.NetworkElementCoreData;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.ExtendedAirInterfaceHistoricalPerformanceType12;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.ONFLayerProtocolName;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.AttributeValueChangedNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ObjectCreationNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ObjectDeletionNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.OtnHistoryDataG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.AirInterfaceCurrentProblemTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.AirInterfaceDiversityCurrentProblemTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.AirInterfaceHistoricalPerformanceTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.AttributeValueChangedNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ContainerCurrentProblemTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ContainerHistoricalPerformanceTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MicrowaveModelListener;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwAirInterfaceDiversityPac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwAirInterfaceDiversityPacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwAirInterfacePac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwAirInterfacePacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwEthernetContainerPac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwEthernetContainerPacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwHybridMwStructurePac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwHybridMwStructurePacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwPureEthernetStructurePac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwPureEthernetStructurePacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwTdmContainerPac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.MwTdmContainerPacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ObjectCreationNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ObjectDeletionNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ProblemNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.StructureCurrentProblemTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.air._interface.diversity.pac.AirInterfaceDiversityCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.air._interface.pac.AirInterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.air._interface.pac.AirInterfaceCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.air._interface.pac.AirInterfaceHistoricalPerformances;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.ethernet.container.pac.EthernetContainerCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.ethernet.container.pac.EthernetContainerHistoricalPerformances;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.hybrid.mw.structure.pac.HybridMwStructureCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.pure.ethernet.structure.pac.PureEthernetStructureCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.mw.tdm.container.pac.TdmContainerCurrentProblems;
-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;
-
-
-public class WrapperMicrowaveModelRev170324 implements OnfMicrowaveModel, MicrowaveModelListener {
-
- private static final Logger LOG = LoggerFactory.getLogger(WrapperMicrowaveModelRev170324.class);
-
- public static final QName QNAME = MwAirInterfacePac.QNAME;
-
-
- private NetworkElementCoreData coreData;
- private OnfMicrowaveModelNotification microwaveModelListener;
- private final TransactionUtils genericTransactionUtils;
-
- /*-----------------------------------------------------------------------------
- * Setter/Getter
- */
-
- /**
- * @param acessor
- */
- public WrapperMicrowaveModelRev170324(INetconfAcessor acessor) {
- genericTransactionUtils = acessor.getTransactionUtils();
- }
-
- @Override
- public void setCoreData(NetworkElementCoreData coreData) {
- this.coreData = coreData;
- }
-
- public NetworkElementCoreData getCoreData() {
- return coreData;
- }
-
- @Override
- public void setOnfMicrowaveModelListener(OnfMicrowaveModelNotification microwaveModelListener) {
- this.microwaveModelListener = microwaveModelListener;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public <T extends NotificationListener> T getNotificationListener() {
- return (T)this;
- }
-
- /*-----------------------------------------------------------------------------
- * Interfacefunctions
- */
-
- @Override
- public void readTheFaultsOfMicrowaveModel(ONFLayerProtocolName lpName, Class<?> lpClass, UniversalId uuid,
- List<ProblemNotificationXml> resultList) {
-
- switch (lpName) {
- case MWAirInterface:
- readTheFaultsOfMwAirInterfacePac(uuid, resultList);
- break;
-
- case EthernetContainer12:
- readTheFaultsOfMwEthernetContainerPac(uuid, resultList);
- break;
-
- case TDMContainer:
- readTheFaultsOfMwTdmContainerPac(uuid, resultList);
- break;
-
- case Structure:
- if (lpClass == MwHybridMwStructurePac.class) {
- readTheFaultsOfMwHybridMwStructurePac(uuid, resultList);
-
- } else if (lpClass == MwAirInterfaceDiversityPac.class) {
- readTheFaultsOfMwAirInterfaceDiversityPac(uuid, resultList);
-
- } else if (lpClass == MwPureEthernetStructurePac.class) {
- readTheFaultsOfMwPureEthernetStructurePac(uuid, resultList);
-
- } else {
- LOG.warn("Unassigned lp model {} class {}", lpName, lpClass);
- }
- break;
- case Ethernet:
- // No alarms supported
- break;
- case EthernetContainer10:
- default:
- LOG.warn("Unassigned or not expected lp in model {}", lpName);
- }
- }
-
- @Override
- public List<? extends OtnHistoryDataG> readTheHistoricalPerformanceData(@Nonnull ONFLayerProtocolName lpName, Lp lp) {
- switch (lpName) {
- case MWAirInterface:
- return readTheHistoricalPerformanceDataOfMwAirInterfacePac(lp);
-
- case EthernetContainer12:
- return readTheHistoricalPerformanceDataOfEthernetContainer(lp);
-
- case EthernetContainer10:
- case EthernetPhysical:
- case Ethernet:
- case TDMContainer:
- case Structure:
- case Unknown:
- LOG.debug("Do not read HistoricalPM data for {} {}", lpName, getUuid(lp));
- break;
- }
- return new ArrayList<>();
- }
- @Override
- public Class<?> getClassForLtpExtension(QName qName) {
- Class<?> res = null;
- if (qName.equals(MwAirInterfacePac.QNAME)) {
- res = MwAirInterfacePac.class;
- } else if (qName.equals(MwAirInterfaceDiversityPac.QNAME)) {
- res = MwAirInterfaceDiversityPac.class;
- } else if (qName.equals(MwPureEthernetStructurePac.QNAME)) {
- res = MwPureEthernetStructurePac.class;
- } else if (qName.equals(MwHybridMwStructurePac.QNAME)) {
- res = MwHybridMwStructurePac.class;
- } else if (qName.equals(MwEthernetContainerPac.QNAME)) {
- res = MwEthernetContainerPac.class;
- } else if (qName.equals(MwTdmContainerPac.QNAME)) {
- res = MwTdmContainerPac.class;
- }
- LOG.info("Found QName {} mapped to {}", String.valueOf(qName), String.valueOf(res));
- return res;
- }
-
- /*-----------------------------------------------------------------------------
- * Reading problems for specific interface pacs
- */
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal Id String of the interface
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwAirInterfacePac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwAirInterfacePac> clazzPac = MwAirInterfacePac.class;
- // final Class<MwAirInterfacePacKey> clazzPacKey = MwAirInterfacePacKey.class;
- // final Class<AirInterfaceCurrentProblems> clazzProblems =
- // AirInterfaceCurrentProblems.class;
- // final Class<AirInterfaceCurrentProblemTypeG> clazzProblem =
- // AirInterfaceCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- // Step 2.2: construct data and the relative iid
- InstanceIdentifier<AirInterfaceCurrentProblems> mwAirInterfaceIID = InstanceIdentifier
- .builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(interfacePacUuid))
- .child(AirInterfaceCurrentProblems.class).build();
-
- // Step 2.3: read to the config data store
- AirInterfaceCurrentProblems problems = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwAirInterfaceIID);
-
- if (problems == null) {
- LOG.debug("DBRead Id {} no AirInterfaceCurrentProblems", interfacePacUuid);
- } else {
- for (AirInterfaceCurrentProblemTypeG problem : problems.nonnullCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwEthernetContainerPac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwEthernetContainerPac> clazzPac = MwEthernetContainerPac.class;
- // final Class<MwEthernetContainerPacKey> clazzPacKey =
- // MwEthernetContainerPacKey.class;
- // final Class<EthernetContainerCurrentProblems> clazzProblems =
- // EthernetContainerCurrentProblems.class;
- // final Class<ContainerCurrentProblemTypeG> clazzProblem =
- // ContainerCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- InstanceIdentifier<EthernetContainerCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(interfacePacUuid))
- .child(EthernetContainerCurrentProblems.class).build();
-
- EthernetContainerCurrentProblems problems = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no EthernetContainerCurrentProblems", interfacePacUuid);
- } else {
- for (ContainerCurrentProblemTypeG problem : problems.nonnullCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwAirInterfaceDiversityPac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwAirInterfaceDiversityPac> clazzPac = MwAirInterfaceDiversityPac.class;
- // final Class<MwAirInterfaceDiversityPacKey> clazzPacKey =
- // MwAirInterfaceDiversityPacKey.class;
- final Class<AirInterfaceDiversityCurrentProblems> clazzProblems = AirInterfaceDiversityCurrentProblems.class;
- // final Class<AirInterfaceDiversityCurrentProblemTypeG> clazzProblem =
- // AirInterfaceDiversityCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- InstanceIdentifier<AirInterfaceDiversityCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(clazzPac, new MwAirInterfaceDiversityPacKey(interfacePacUuid)).child(clazzProblems).build();
-
- AirInterfaceDiversityCurrentProblems problems = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no AirInterfaceDiversityCurrentProblems", interfacePacUuid);
- } else {
- for (AirInterfaceDiversityCurrentProblemTypeG problem : problems.nonnullCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwPureEthernetStructurePac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwPureEthernetStructurePac> clazzPac = MwPureEthernetStructurePac.class;
- // final Class<MwPureEthernetStructurePacKey> clazzPacKey =
- // MwPureEthernetStructurePacKey.class;
- final Class<PureEthernetStructureCurrentProblems> clazzProblems = PureEthernetStructureCurrentProblems.class;
- // final Class<StructureCurrentProblemTypeG> clazzProblem =
- // StructureCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- InstanceIdentifier<PureEthernetStructureCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(clazzPac, new MwPureEthernetStructurePacKey(interfacePacUuid)).child(clazzProblems).build();
-
- PureEthernetStructureCurrentProblems problems = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no PureEthernetStructureCurrentProblems", interfacePacUuid);
- } else {
- for (StructureCurrentProblemTypeG problem : problems.nonnullCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwHybridMwStructurePac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwHybridMwStructurePac> clazzPac = MwHybridMwStructurePac.class;
- // final Class<MwHybridMwStructurePacKey> clazzPacKey =
- // MwHybridMwStructurePacKey.class;
- final Class<HybridMwStructureCurrentProblems> clazzProblems = HybridMwStructureCurrentProblems.class;
- // final Class<HybridMwStructureCurrentProblemsG> clazzProblem =
- // HybridMwStructureCurrentProblemsG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- InstanceIdentifier<HybridMwStructureCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(clazzPac, new MwHybridMwStructurePacKey(interfacePacUuid)).child(clazzProblems).build();
-
- HybridMwStructureCurrentProblems problems = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no HybridMwStructureCurrentProblems", interfacePacUuid);
- } else {
- for (StructureCurrentProblemTypeG problem : problems.nonnullCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces. TODO Goal for future implementation
- * without usage of explicit new. Key is generated by newInstance() function
- * here to verify this approach.
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- * @throws SecurityException
- * @throws NoSuchMethodException
- * @throws InvocationTargetException
- * @throws IllegalArgumentException
- * @throws IllegalAccessException
- * @throws InstantiationException
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwTdmContainerPac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwTdmContainerPac> clazzPac = MwTdmContainerPac.class;
- final Class<MwTdmContainerPacKey> clazzPacKey = MwTdmContainerPacKey.class;
- final Class<TdmContainerCurrentProblems> clazzProblems = TdmContainerCurrentProblems.class;
- // final Class<ContainerCurrentProblemTypeG> clazzProblem =
- // ContainerCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- try {
- // -- Specific part 1
- Constructor<MwTdmContainerPacKey> cons = clazzPacKey.getConstructor(UniversalId.class); // Avoid new()
- InstanceIdentifier<TdmContainerCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(clazzPac, cons.newInstance(interfacePacUuid)).child(clazzProblems).build();
-
- // -- Specific part 2
- TdmContainerCurrentProblems problems = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no TdmContainerCurrentProblems", interfacePacUuid);
- } else {
- // -- Specific part 3
- for (ContainerCurrentProblemTypeG problem : problems.nonnullCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(),
- InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- } catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException
- | IllegalArgumentException | InvocationTargetException e) {
- LOG.warn("Could not reade instance of MwTdmContainerPacKey: ", e);
- }
- return resultList;
- }
-
- /*-----------------------------------------------------------------------------
- * Performance related data
- */
-
- /**
- * PM MwAirInterfacePac
- *
- * @param lp
- * @return
- */
- private List<ExtendedAirInterfaceHistoricalPerformanceType12> readTheHistoricalPerformanceDataOfMwAirInterfacePac(
- Lp lp) {
-
- List<ExtendedAirInterfaceHistoricalPerformanceType12> resultList = new ArrayList<>();
- LOG.debug("DBRead Get {} MWAirInterfacePac: {}", coreData.getMountpoint(), lp.getUuid());
- // ----
- UniversalId mwAirInterfacePacuuId = lp.getUuid();
- // Step 2.1: construct data and the relative iid
- InstanceIdentifier<AirInterfaceConfiguration> mwAirInterfaceConfigurationIID = InstanceIdentifier
- .builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(mwAirInterfacePacuuId))
- .child(AirInterfaceConfiguration.class).build();
- AirInterfaceConfiguration airConfiguration = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwAirInterfaceConfigurationIID);
-
- if (airConfiguration == null) {
- LOG.debug("DBRead MWAirInterfacePac Id {} no AirInterfaceConfiguration", mwAirInterfacePacuuId);
-
- } else {
- // Step 2.2: construct data and the relative iid
- InstanceIdentifier<AirInterfaceHistoricalPerformances> mwAirInterfaceHistoricalPerformanceIID = InstanceIdentifier
- .builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(mwAirInterfacePacuuId))
- .child(AirInterfaceHistoricalPerformances.class).build();
-
- // Step 2.3: read to the config data store
- AirInterfaceHistoricalPerformances airHistoricalPerformanceData = genericTransactionUtils.readData(
- coreData.getDataBroker(), LogicalDatastoreType.OPERATIONAL, mwAirInterfaceHistoricalPerformanceIID);
-
- if (airHistoricalPerformanceData == null) {
- LOG.debug("DBRead MWAirInterfacePac Id {} no AirInterfaceHistoricalPerformances",
- mwAirInterfacePacuuId);
- } else {
- // org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170320.air._interface.historical.performances.g.HistoricalPerformanceDataList
- List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.air._interface.historical.performances.g.HistoricalPerformanceDataList> airHistPMList = airHistoricalPerformanceData
- .nonnullHistoricalPerformanceDataList();
- LOG.debug("DBRead MWAirInterfacePac Id {} Records intermediate: {}", mwAirInterfacePacuuId,
- airHistPMList.size());
- for (AirInterfaceHistoricalPerformanceTypeG pmRecord : airHistoricalPerformanceData
- .nonnullHistoricalPerformanceDataList()) {
- resultList.add(new ExtendedAirInterfaceHistoricalPerformanceType12(pmRecord, airConfiguration));
- }
- }
- }
- LOG.debug("DBRead MWAirInterfacePac Id {} Records result: {}", mwAirInterfacePacuuId, resultList.size());
- return resultList;
- }
-
- private List<ContainerHistoricalPerformanceTypeG> readTheHistoricalPerformanceDataOfEthernetContainer(Lp lp) {
-
- final String myName = "MWEthernetContainerPac";
-
- List<ContainerHistoricalPerformanceTypeG> resultList = new ArrayList<>();
- LOG.debug("DBRead Get {} : {}", coreData.getMountpoint(), myName, lp.getUuid());
- // ----
- UniversalId ethContainerPacuuId = lp.getUuid();
- // Step 2.2: construct data and the relative iid
- InstanceIdentifier<EthernetContainerHistoricalPerformances> ethContainerIID = InstanceIdentifier
- .builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(ethContainerPacuuId))
- .child(EthernetContainerHistoricalPerformances.class).build();
-
- // Step 2.3: read to the config data store
- EthernetContainerHistoricalPerformances ethContainerHistoricalPerformanceData = genericTransactionUtils
- .readData(coreData.getDataBroker(), LogicalDatastoreType.OPERATIONAL, ethContainerIID);
-
- if (ethContainerHistoricalPerformanceData == null) {
- LOG.debug("DBRead {} Id {} no HistoricalPerformances", myName, ethContainerPacuuId);
- } else {
- // import
- // org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170320.ethernet.container.historical.performances.g.HistoricalPerformanceDataList
- // org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ethernet.container.historical.performances.g.HistoricalPerformanceDataList
- List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ethernet.container.historical.performances.g.HistoricalPerformanceDataList> airHistPMList = ethContainerHistoricalPerformanceData
- .nonnullHistoricalPerformanceDataList();
- LOG.debug("DBRead {} Id {} Records intermediate: {}", myName, ethContainerPacuuId, airHistPMList.size());
- for (ContainerHistoricalPerformanceTypeG pmRecord : airHistPMList) {
- resultList.add(pmRecord);
- }
- }
- LOG.debug("DBRead {} Id {} Records result: {}", myName, ethContainerPacuuId, resultList.size());
- return resultList;
- }
-
- @Override
- public void onObjectCreationNotification(ObjectCreationNotification notification) {
- LOG.debug("Got event of type :: {}", ObjectCreationNotification.class.getSimpleName());
- if (notification != null) {
- ObjectCreationNotificationXml notificationXml = new ObjectCreationNotificationXml(coreData.getMountpoint(),
- notification.getCounter(), InternalDateAndTime.valueOf(notification.getTimeStamp()),
- notification.getObjectIdRef().getValue());
- microwaveModelListener.onObjectCreationNotification(notificationXml);
- }
- }
-
-
-
- @Override
- public void onObjectDeletionNotification(ObjectDeletionNotification notification) {
- LOG.debug("Got event of type :: {}", ObjectDeletionNotification.class.getSimpleName());
-
- ObjectDeletionNotificationXml notificationXml = new ObjectDeletionNotificationXml(coreData.getMountpoint(),
- notification.getCounter(),
- InternalDateAndTime.valueOf(notification.getTimeStamp()),
- notification.getObjectIdRef().getValue()
- );
- microwaveModelListener.onObjectDeletionNotification(notificationXml);
- }
-
- @Override
- public void onProblemNotification(ProblemNotification notification) {
-
- LOG.debug("Got event of type :: {}", ProblemNotification.class.getSimpleName());
-
- ProblemNotificationXml notificationXml = new ProblemNotificationXml(coreData.getMountpoint(), notification.getObjectIdRef().getValue(),
- notification.getProblem(), InternalSeverity.valueOf(notification.getSeverity()),
- notification.getCounter(), InternalDateAndTime.valueOf(notification.getTimeStamp()));
-
- microwaveModelListener.onProblemNotification(notificationXml);
- }
-
- @Override
- public void onAttributeValueChangedNotification(AttributeValueChangedNotification notification) {
- LOG.debug("Got event of type :: {}", AttributeValueChangedNotification.class.getSimpleName());
-
- AttributeValueChangedNotificationXml notificationXml = new AttributeValueChangedNotificationXml(coreData.getMountpoint(),
- notification.getCounter(), InternalDateAndTime.valueOf(notification.getTimeStamp()),
- notification.getObjectIdRef().getValue(), notification.getAttributeName(), notification.getNewValue());
-
- microwaveModelListener.onAttributeValueChangedNotification(notificationXml);
- }
-
- private static String getUuid(Lp lp) {
- UniversalId uuid = lp.getUuid();
- return uuid != null ? uuid.getValue() : null;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperMicrowaveModelRev180907.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperMicrowaveModelRev180907.java
deleted file mode 100644
index f01f9c83d..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperMicrowaveModelRev180907.java
+++ /dev/null
@@ -1,608 +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.base.onfcore.wrapperc;
-
-
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.NetworkElementCoreData;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.ExtendedAirInterfaceHistoricalPerformanceType1211;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.ONFLayerProtocolName;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.AttributeValueChangedNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ObjectCreationNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ObjectDeletionNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.OtnHistoryDataG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.AirInterfaceCurrentProblemTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.AirInterfaceDiversityCurrentProblemTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.AirInterfaceHistoricalPerformanceTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.AttributeValueChangedNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ContainerCurrentProblemTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ContainerHistoricalPerformanceTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MicrowaveModelListener;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwAirInterfaceDiversityPac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwAirInterfaceDiversityPacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwAirInterfacePac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwAirInterfacePacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwEthernetContainerPac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwEthernetContainerPacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwHybridMwStructurePac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwHybridMwStructurePacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwPureEthernetStructurePac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwPureEthernetStructurePacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwTdmContainerPac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.MwTdmContainerPacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ObjectCreationNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ObjectDeletionNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ProblemNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.StructureCurrentProblemTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.diversity.pac.AirInterfaceDiversityCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.air._interface.pac.AirInterfaceHistoricalPerformances;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.ethernet.container.pac.EthernetContainerCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.ethernet.container.pac.EthernetContainerHistoricalPerformances;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.hybrid.mw.structure.pac.HybridMwStructureCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.pure.ethernet.structure.pac.PureEthernetStructureCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.mw.tdm.container.pac.TdmContainerCurrentProblems;
-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;
-
-
-public class WrapperMicrowaveModelRev180907 implements OnfMicrowaveModel, MicrowaveModelListener {
-
- private static final Logger LOG = LoggerFactory.getLogger(WrapperMicrowaveModelRev180907.class);
-
- public static final QName QNAME = MwAirInterfacePac.QNAME;
-
-
- private NetworkElementCoreData coreData;
-
- private OnfMicrowaveModelNotification microwaveModelListener;
-
- private final TransactionUtils genericTransactionUtil;
-
-
- /*-----------------------------------------------------------------------------
- * Setter/Getter
- */
-
- /**
- * @param acessor
- */
- public WrapperMicrowaveModelRev180907(INetconfAcessor acessor) {
- genericTransactionUtil = acessor.getTransactionUtils();
- }
-
- @Override
- public void setCoreData(NetworkElementCoreData coreData) {
- this.coreData = coreData;
- }
-
- public NetworkElementCoreData getCoreData() {
- return coreData;
- }
-
- @Override
- public void setOnfMicrowaveModelListener(OnfMicrowaveModelNotification microwaveModelListener) {
- this.microwaveModelListener = microwaveModelListener;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public <T extends NotificationListener> T getNotificationListener() {
- return (T) this;
- }
-
- /*-----------------------------------------------------------------------------
- * Interfacefunctions
- */
-
- @Override
- public void readTheFaultsOfMicrowaveModel(ONFLayerProtocolName lpName, Class<?> lpClass, UniversalId uuid,
- List<ProblemNotificationXml> resultList) {
-
- switch (lpName) {
- case MWAirInterface:
- readTheFaultsOfMwAirInterfacePac(uuid, resultList);
- break;
-
- case EthernetContainer12:
- readTheFaultsOfMwEthernetContainerPac(uuid, resultList);
- break;
-
- case TDMContainer:
- readTheFaultsOfMwTdmContainerPac(uuid, resultList);
- break;
-
- case Structure:
- if (lpClass == MwHybridMwStructurePac.class) {
- readTheFaultsOfMwHybridMwStructurePac(uuid, resultList);
-
- } else if (lpClass == MwAirInterfaceDiversityPac.class) {
- readTheFaultsOfMwAirInterfaceDiversityPac(uuid, resultList);
-
- } else if (lpClass == MwPureEthernetStructurePac.class) {
- readTheFaultsOfMwPureEthernetStructurePac(uuid, resultList);
-
- } else {
- LOG.warn("Unassigned lp model {} class {}", lpName, lpClass);
- }
- break;
- case Ethernet:
- // No alarms supported
- break;
- case EthernetContainer10:
- default:
- LOG.warn("Unassigned or not expected lp in model {}", lpName);
- }
- }
-
- @Override
- public List<? extends OtnHistoryDataG> readTheHistoricalPerformanceData(ONFLayerProtocolName lpName, Lp lp) {
- switch (lpName) {
- case MWAirInterface:
- return readTheHistoricalPerformanceDataOfMwAirInterfacePac(lp);
-
- case EthernetContainer12:
- return readTheHistoricalPerformanceDataOfEthernetContainer(lp);
-
- case EthernetContainer10:
- case EthernetPhysical:
- case Ethernet:
- case TDMContainer:
- case Structure:
- case Unknown:
- LOG.debug("Do not read HistoricalPM data for {} {}", lpName, lp.getUuid().getValue());
- break;
- }
- return new ArrayList<>();
- }
-
- @Override
- public Class<?> getClassForLtpExtension(QName qName) {
- Class<?> res = null;
- if (qName.equals(MwAirInterfacePac.QNAME)) {
- res = MwAirInterfacePac.class;
- } else if (qName.equals(MwAirInterfaceDiversityPac.QNAME)) {
- res = MwAirInterfaceDiversityPac.class;
- } else if (qName.equals(MwPureEthernetStructurePac.QNAME)) {
- res = MwPureEthernetStructurePac.class;
- } else if (qName.equals(MwHybridMwStructurePac.QNAME)) {
- res = MwHybridMwStructurePac.class;
- } else if (qName.equals(MwEthernetContainerPac.QNAME)) {
- res = MwEthernetContainerPac.class;
- } else if (qName.equals(MwTdmContainerPac.QNAME)) {
- res = MwTdmContainerPac.class;
- }
- LOG.info("Found QName {} mapped to {}", String.valueOf(qName), String.valueOf(res));
- return res;
- }
-
- /*-----------------------------------------------------------------------------
- * Reading problems for specific interface pacs
- */
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal Id String of the interface
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwAirInterfacePac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwAirInterfacePac> clazzPac = MwAirInterfacePac.class;
- // final Class<MwAirInterfacePacKey> clazzPacKey = MwAirInterfacePacKey.class;
- // final Class<AirInterfaceCurrentProblems> clazzProblems =
- // AirInterfaceCurrentProblems.class;
- // final Class<AirInterfaceCurrentProblemTypeG> clazzProblem =
- // AirInterfaceCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- // Step 2.2: construct data and the relative iid
- InstanceIdentifier<AirInterfaceCurrentProblems> mwAirInterfaceIID = InstanceIdentifier
- .builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(interfacePacUuid))
- .child(AirInterfaceCurrentProblems.class).build();
-
- // Step 2.3: read to the config data store
- AirInterfaceCurrentProblems problems = genericTransactionUtil.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwAirInterfaceIID);
-
- if (problems == null) {
- LOG.debug("DBRead Id {} no AirInterfaceCurrentProblems", interfacePacUuid);
- } else if (problems.getCurrentProblemList() == null) {
- LOG.debug("DBRead Id {} empty CurrentProblemList", interfacePacUuid);
- } else {
- for (AirInterfaceCurrentProblemTypeG problem : problems.getCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwEthernetContainerPac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwEthernetContainerPac> clazzPac = MwEthernetContainerPac.class;
- // final Class<MwEthernetContainerPacKey> clazzPacKey =
- // MwEthernetContainerPacKey.class;
- // final Class<EthernetContainerCurrentProblems> clazzProblems =
- // EthernetContainerCurrentProblems.class;
- // final Class<ContainerCurrentProblemTypeG> clazzProblem =
- // ContainerCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- InstanceIdentifier<EthernetContainerCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(interfacePacUuid))
- .child(EthernetContainerCurrentProblems.class).build();
-
- EthernetContainerCurrentProblems problems = genericTransactionUtil.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no EthernetContainerCurrentProblems", interfacePacUuid);
- } else if (problems.getCurrentProblemList() == null) {
- LOG.debug("DBRead Id {} empty CurrentProblemsList", interfacePacUuid);
- } else {
- for (ContainerCurrentProblemTypeG problem : problems.getCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwAirInterfaceDiversityPac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwAirInterfaceDiversityPac> clazzPac = MwAirInterfaceDiversityPac.class;
- // final Class<MwAirInterfaceDiversityPacKey> clazzPacKey =
- // MwAirInterfaceDiversityPacKey.class;
- final Class<AirInterfaceDiversityCurrentProblems> clazzProblems = AirInterfaceDiversityCurrentProblems.class;
- // final Class<AirInterfaceDiversityCurrentProblemTypeG> clazzProblem =
- // AirInterfaceDiversityCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- InstanceIdentifier<AirInterfaceDiversityCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(clazzPac, new MwAirInterfaceDiversityPacKey(interfacePacUuid)).child(clazzProblems).build();
-
- AirInterfaceDiversityCurrentProblems problems = genericTransactionUtil.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no AirInterfaceDiversityCurrentProblems", interfacePacUuid);
- } else if (problems.getCurrentProblemList() == null) {
- LOG.debug("DBRead Id {} empty CurrentProblemList", interfacePacUuid);
- } else {
- for (AirInterfaceDiversityCurrentProblemTypeG problem : problems.getCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwPureEthernetStructurePac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwPureEthernetStructurePac> clazzPac = MwPureEthernetStructurePac.class;
- // final Class<MwPureEthernetStructurePacKey> clazzPacKey =
- // MwPureEthernetStructurePacKey.class;
- final Class<PureEthernetStructureCurrentProblems> clazzProblems = PureEthernetStructureCurrentProblems.class;
- // final Class<StructureCurrentProblemTypeG> clazzProblem =
- // StructureCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- InstanceIdentifier<PureEthernetStructureCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(clazzPac, new MwPureEthernetStructurePacKey(interfacePacUuid)).child(clazzProblems).build();
-
- PureEthernetStructureCurrentProblems problems = genericTransactionUtil.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no PureEthernetStructureCurrentProblems", interfacePacUuid);
- } else if (problems.getCurrentProblemList() == null) {
- LOG.debug("DBRead Id {} empty CurrentProblemsList", interfacePacUuid);
- } else {
- for (StructureCurrentProblemTypeG problem : problems.getCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwHybridMwStructurePac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwHybridMwStructurePac> clazzPac = MwHybridMwStructurePac.class;
- // final Class<MwHybridMwStructurePacKey> clazzPacKey =
- // MwHybridMwStructurePacKey.class;
- final Class<HybridMwStructureCurrentProblems> clazzProblems = HybridMwStructureCurrentProblems.class;
- // final Class<HybridMwStructureCurrentProblemsG> clazzProblem =
- // HybridMwStructureCurrentProblemsG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- InstanceIdentifier<HybridMwStructureCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(clazzPac, new MwHybridMwStructurePacKey(interfacePacUuid)).child(clazzProblems).build();
-
- HybridMwStructureCurrentProblems problems = genericTransactionUtil.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no HybridMwStructureCurrentProblems", interfacePacUuid);
- } else if (problems.getCurrentProblemList() == null) {
- LOG.debug("DBRead Id {} empty CurrentProblemsList", interfacePacUuid);
- } else {
- for (StructureCurrentProblemTypeG problem : problems.getCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces. TODO Goal for future implementation
- * without usage of explicit new. Key is generated by newInstance() function
- * here to verify this approach.
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- * @throws SecurityException
- * @throws NoSuchMethodException
- * @throws InvocationTargetException
- * @throws IllegalArgumentException
- * @throws IllegalAccessException
- * @throws InstantiationException
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwTdmContainerPac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwTdmContainerPac> clazzPac = MwTdmContainerPac.class;
- final Class<MwTdmContainerPacKey> clazzPacKey = MwTdmContainerPacKey.class;
- final Class<TdmContainerCurrentProblems> clazzProblems = TdmContainerCurrentProblems.class;
- // final Class<ContainerCurrentProblemTypeG> clazzProblem =
- // ContainerCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- try {
- // -- Specific part 1
- Constructor<MwTdmContainerPacKey> cons = clazzPacKey.getConstructor(UniversalId.class); // Avoid new()
- InstanceIdentifier<TdmContainerCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(clazzPac, cons.newInstance(interfacePacUuid)).child(clazzProblems).build();
-
- // -- Specific part 2
- TdmContainerCurrentProblems problems = genericTransactionUtil.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no TdmContainerCurrentProblems", interfacePacUuid);
- } else if (problems.getCurrentProblemList() == null) {
- LOG.debug("DBRead Id {} empty CurrentProblemsList", interfacePacUuid);
- } else {
- // -- Specific part 3
- for (ContainerCurrentProblemTypeG problem : problems.getCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(),
- InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- } catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException
- | IllegalArgumentException | InvocationTargetException e) {
- LOG.warn("Could not reade instance of MwTdmContainerPacKey: ", e);
- }
- return resultList;
- }
-
- /*-----------------------------------------------------------------------------
- * Performance related data
- */
-
- /**
- * PM MwAirInterfacePac
- *
- * @param lp
- * @return
- */
- private List<ExtendedAirInterfaceHistoricalPerformanceType1211> readTheHistoricalPerformanceDataOfMwAirInterfacePac(
- Lp lp) {
-
- String uuId = lp.getUuid().getValue();
-
- List<ExtendedAirInterfaceHistoricalPerformanceType1211> resultList = new ArrayList<>();
- LOG.debug("DBRead Get {} MWAirInterfacePac: {}", coreData.getMountpoint(), uuId);
- // ----
- UniversalId mwAirInterfacePacuuId = new UniversalId(uuId);
- // Step 2.1: construct data and the relative iid
- InstanceIdentifier<AirInterfaceConfiguration> mwAirInterfaceConfigurationIID = InstanceIdentifier
- .builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(mwAirInterfacePacuuId))
- .child(AirInterfaceConfiguration.class).build();
- AirInterfaceConfiguration airConfiguration = genericTransactionUtil.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwAirInterfaceConfigurationIID);
-
- if (airConfiguration == null) {
- LOG.debug("DBRead MWAirInterfacePac Id {} no AirInterfaceConfiguration", mwAirInterfacePacuuId);
-
- } else {
- // Step 2.2: construct data and the relative iid
- InstanceIdentifier<AirInterfaceHistoricalPerformances> mwAirInterfaceHistoricalPerformanceIID = InstanceIdentifier
- .builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(mwAirInterfacePacuuId))
- .child(AirInterfaceHistoricalPerformances.class).build();
-
- // Step 2.3: read to the config data store
- AirInterfaceHistoricalPerformances airHistoricalPerformanceData = genericTransactionUtil.readData(
- coreData.getDataBroker(), LogicalDatastoreType.OPERATIONAL, mwAirInterfaceHistoricalPerformanceIID);
-
- if (airHistoricalPerformanceData == null) {
- LOG.debug("DBRead MWAirInterfacePac Id {} no AirInterfaceHistoricalPerformances",
- mwAirInterfacePacuuId);
- } else {
- // org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170320.air._interface.historical.performances.g.HistoricalPerformanceDataList
- List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.air._interface.historical.performances.g.HistoricalPerformanceDataList> airHistPMList = airHistoricalPerformanceData
- .getHistoricalPerformanceDataList();
- LOG.debug("DBRead MWAirInterfacePac Id {} Records intermediate: {}", mwAirInterfacePacuuId,
- airHistPMList.size());
- if (airHistPMList != null) {
- for (AirInterfaceHistoricalPerformanceTypeG pmRecord : airHistoricalPerformanceData
- .getHistoricalPerformanceDataList()) {
- resultList.add(new ExtendedAirInterfaceHistoricalPerformanceType1211(pmRecord, airConfiguration));
- }
- }
- }
- }
- LOG.debug("DBRead MWAirInterfacePac Id {} Records result: {}", mwAirInterfacePacuuId, resultList.size());
- return resultList;
- }
-
- private List<ContainerHistoricalPerformanceTypeG> readTheHistoricalPerformanceDataOfEthernetContainer(Lp lp) {
-
- final String myName = "MWEthernetContainerPac";
- String uuId = lp.getUuid().getValue();
-
- List<ContainerHistoricalPerformanceTypeG> resultList = new ArrayList<>();
- LOG.debug("DBRead Get {} : {}", coreData.getMountpoint(), myName, uuId);
- // ----
- UniversalId ethContainerPacuuId = new UniversalId(uuId);
- // Step 2.2: construct data and the relative iid
- InstanceIdentifier<EthernetContainerHistoricalPerformances> ethContainerIID = InstanceIdentifier
- .builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(ethContainerPacuuId))
- .child(EthernetContainerHistoricalPerformances.class).build();
-
- // Step 2.3: read to the config data store
- EthernetContainerHistoricalPerformances ethContainerHistoricalPerformanceData = genericTransactionUtil
- .readData(coreData.getDataBroker(), LogicalDatastoreType.OPERATIONAL, ethContainerIID);
-
- if (ethContainerHistoricalPerformanceData == null) {
- LOG.debug("DBRead {} Id {} no HistoricalPerformances", myName, ethContainerPacuuId);
- } else {
- // import
- // org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170320.ethernet.container.historical.performances.g.HistoricalPerformanceDataList
- List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ethernet.container.historical.performances.g.HistoricalPerformanceDataList> airHistPMList = ethContainerHistoricalPerformanceData
- .getHistoricalPerformanceDataList();
- LOG.debug("DBRead {} Id {} Records intermediate: {}", myName, ethContainerPacuuId, airHistPMList.size());
- if (airHistPMList != null) {
- for (ContainerHistoricalPerformanceTypeG pmRecord : airHistPMList) {
- resultList.add(pmRecord);
- }
- }
- }
- LOG.debug("DBRead {} Id {} Records result: {}", myName, ethContainerPacuuId, resultList.size());
- return resultList;
- }
-
- @Override
- public void onObjectCreationNotification(ObjectCreationNotification notification) {
- LOG.debug("Got event of type :: {}", ObjectCreationNotification.class.getSimpleName());
-
- ObjectCreationNotificationXml notificationXml = new ObjectCreationNotificationXml(coreData.getMountpoint(),
- notification.getCounter(),
- InternalDateAndTime.valueOf(notification.getTimeStamp()),
- notification.getObjectIdRef().getValue());
- microwaveModelListener.onObjectCreationNotification(notificationXml);
- }
-
- @Override
- public void onObjectDeletionNotification(ObjectDeletionNotification notification) {
- LOG.debug("Got event of type :: {}", ObjectDeletionNotification.class.getSimpleName());
-
- ObjectDeletionNotificationXml notificationXml = new ObjectDeletionNotificationXml(coreData.getMountpoint(),
- notification.getCounter(),
- InternalDateAndTime.valueOf(notification.getTimeStamp()),
- notification.getObjectIdRef().getValue()
- );
- microwaveModelListener.onObjectDeletionNotification(notificationXml);
- }
-
- @Override
- public void onProblemNotification(ProblemNotification notification) {
-
- LOG.debug("Got event of type :: {}", ProblemNotification.class.getSimpleName());
-
- ProblemNotificationXml notificationXml = new ProblemNotificationXml(coreData.getMountpoint(), notification.getObjectIdRef().getValue(),
- notification.getProblem(), InternalSeverity.valueOf(notification.getSeverity()),
- notification.getCounter(), InternalDateAndTime.valueOf(notification.getTimeStamp()));
-
- microwaveModelListener.onProblemNotification(notificationXml);
- }
-
- @Override
- public void onAttributeValueChangedNotification(AttributeValueChangedNotification notification) {
- LOG.debug("Got event of type :: {}", AttributeValueChangedNotification.class.getSimpleName());
-
- AttributeValueChangedNotificationXml notificationXml = new AttributeValueChangedNotificationXml(coreData.getMountpoint(),
- notification.getCounter(), InternalDateAndTime.valueOf(notification.getTimeStamp()),
- notification.getObjectIdRef().getValue(), notification.getAttributeName(), notification.getNewValue());
-
- microwaveModelListener.onAttributeValueChangedNotification(notificationXml);
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperMicrowaveModelRev181010.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperMicrowaveModelRev181010.java
deleted file mode 100644
index 627b64e6d..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperMicrowaveModelRev181010.java
+++ /dev/null
@@ -1,606 +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.base.onfcore.wrapperc;
-
-
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.NetworkElementCoreData;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.ExtendedAirInterfaceHistoricalPerformanceType1211p;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.ONFLayerProtocolName;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.AttributeValueChangedNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ObjectCreationNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ObjectDeletionNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.UniversalId;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.OtnHistoryDataG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.AirInterfaceCurrentProblemTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.AirInterfaceDiversityCurrentProblemTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.AirInterfaceHistoricalPerformanceTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.AttributeValueChangedNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ContainerCurrentProblemTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ContainerHistoricalPerformanceTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MicrowaveModelListener;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwAirInterfaceDiversityPac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwAirInterfaceDiversityPacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwAirInterfacePac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwAirInterfacePacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwEthernetContainerPac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwEthernetContainerPacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwHybridMwStructurePac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwHybridMwStructurePacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwPureEthernetStructurePac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwPureEthernetStructurePacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwTdmContainerPac;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.MwTdmContainerPacKey;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ObjectCreationNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ObjectDeletionNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ProblemNotification;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.StructureCurrentProblemTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.diversity.pac.AirInterfaceDiversityCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceConfiguration;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.air._interface.pac.AirInterfaceHistoricalPerformances;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.ethernet.container.pac.EthernetContainerCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.ethernet.container.pac.EthernetContainerHistoricalPerformances;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.hybrid.mw.structure.pac.HybridMwStructureCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.pure.ethernet.structure.pac.PureEthernetStructureCurrentProblems;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.mw.tdm.container.pac.TdmContainerCurrentProblems;
-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;
-
-
-public class WrapperMicrowaveModelRev181010 implements OnfMicrowaveModel, MicrowaveModelListener {
-
- private static final Logger LOG = LoggerFactory.getLogger(WrapperMicrowaveModelRev181010.class);
-
- public static final QName QNAME = MwAirInterfacePac.QNAME;
-
-
- private NetworkElementCoreData coreData;
-
- private OnfMicrowaveModelNotification microwaveModelListener;
- private final TransactionUtils genericTransactionUtils;
-
- /*-----------------------------------------------------------------------------
- * Setter/Getter
- */
-
- /**
- * @param acessor
- */
- public WrapperMicrowaveModelRev181010(INetconfAcessor acessor) {
- genericTransactionUtils = acessor.getTransactionUtils();
- }
-
- @Override
- public void setCoreData(NetworkElementCoreData coreData) {
- this.coreData = coreData;
- }
-
- public NetworkElementCoreData getCoreData() {
- return coreData;
- }
-
- @Override
- public void setOnfMicrowaveModelListener(OnfMicrowaveModelNotification microwaveModelListener) {
- this.microwaveModelListener = microwaveModelListener;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public <T extends NotificationListener> T getNotificationListener() {
- return (T) this;
- }
-
- /*-----------------------------------------------------------------------------
- * Interfacefunctions
- */
-
- @Override
- public void readTheFaultsOfMicrowaveModel(ONFLayerProtocolName lpName, Class<?> lpClass, UniversalId uuid,
- List<ProblemNotificationXml> resultList) {
-
- switch (lpName) {
- case MWAirInterface:
- readTheFaultsOfMwAirInterfacePac(uuid, resultList);
- break;
-
- case EthernetContainer12:
- readTheFaultsOfMwEthernetContainerPac(uuid, resultList);
- break;
-
- case TDMContainer:
- readTheFaultsOfMwTdmContainerPac(uuid, resultList);
- break;
-
- case Structure:
- if (lpClass == MwHybridMwStructurePac.class) {
- readTheFaultsOfMwHybridMwStructurePac(uuid, resultList);
-
- } else if (lpClass == MwAirInterfaceDiversityPac.class) {
- readTheFaultsOfMwAirInterfaceDiversityPac(uuid, resultList);
-
- } else if (lpClass == MwPureEthernetStructurePac.class) {
- readTheFaultsOfMwPureEthernetStructurePac(uuid, resultList);
-
- } else {
- LOG.warn("Unassigned lp model {} class {}", lpName, lpClass);
- }
- break;
- case Ethernet:
- // No alarms supported
- break;
- case EthernetContainer10:
- default:
- LOG.warn("Unassigned or not expected lp in model {}", lpName);
- }
- }
-
- @Override
- public List<? extends OtnHistoryDataG> readTheHistoricalPerformanceData(ONFLayerProtocolName lpName, Lp lp) {
- switch (lpName) {
- case MWAirInterface:
- return readTheHistoricalPerformanceDataOfMwAirInterfacePac(lp);
-
- case EthernetContainer12:
- return readTheHistoricalPerformanceDataOfEthernetContainer(lp);
-
- case EthernetContainer10:
- case EthernetPhysical:
- case Ethernet:
- case TDMContainer:
- case Structure:
- case Unknown:
- LOG.debug("Do not read HistoricalPM data for {} {}", lpName, lp.getUuid().getValue());
- break;
- }
- return new ArrayList<>();
- }
-
- @Override
- public Class<?> getClassForLtpExtension(QName qName) {
- Class<?> res = null;
- if (qName.equals(MwAirInterfacePac.QNAME)) {
- res = MwAirInterfacePac.class;
- } else if (qName.equals(MwAirInterfaceDiversityPac.QNAME)) {
- res = MwAirInterfaceDiversityPac.class;
- } else if (qName.equals(MwPureEthernetStructurePac.QNAME)) {
- res = MwPureEthernetStructurePac.class;
- } else if (qName.equals(MwHybridMwStructurePac.QNAME)) {
- res = MwHybridMwStructurePac.class;
- } else if (qName.equals(MwEthernetContainerPac.QNAME)) {
- res = MwEthernetContainerPac.class;
- } else if (qName.equals(MwTdmContainerPac.QNAME)) {
- res = MwTdmContainerPac.class;
- }
- LOG.info("Found QName {} mapped to {}", String.valueOf(qName), String.valueOf(res));
- return res;
- }
-
- /*-----------------------------------------------------------------------------
- * Reading problems for specific interface pacs
- */
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal Id String of the interface
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwAirInterfacePac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwAirInterfacePac> clazzPac = MwAirInterfacePac.class;
- // final Class<MwAirInterfacePacKey> clazzPacKey = MwAirInterfacePacKey.class;
- // final Class<AirInterfaceCurrentProblems> clazzProblems =
- // AirInterfaceCurrentProblems.class;
- // final Class<AirInterfaceCurrentProblemTypeG> clazzProblem =
- // AirInterfaceCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- // Step 2.2: construct data and the relative iid
- InstanceIdentifier<AirInterfaceCurrentProblems> mwAirInterfaceIID = InstanceIdentifier
- .builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(interfacePacUuid))
- .child(AirInterfaceCurrentProblems.class).build();
-
- // Step 2.3: read to the config data store
- AirInterfaceCurrentProblems problems = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwAirInterfaceIID);
-
- if (problems == null) {
- LOG.debug("DBRead Id {} no AirInterfaceCurrentProblems", interfacePacUuid);
- } else if (problems.getCurrentProblemList() == null) {
- LOG.debug("DBRead Id {} empty CurrentProblemList", interfacePacUuid);
- } else {
- for (AirInterfaceCurrentProblemTypeG problem : problems.getCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwEthernetContainerPac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwEthernetContainerPac> clazzPac = MwEthernetContainerPac.class;
- // final Class<MwEthernetContainerPacKey> clazzPacKey =
- // MwEthernetContainerPacKey.class;
- // final Class<EthernetContainerCurrentProblems> clazzProblems =
- // EthernetContainerCurrentProblems.class;
- // final Class<ContainerCurrentProblemTypeG> clazzProblem =
- // ContainerCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- InstanceIdentifier<EthernetContainerCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(interfacePacUuid))
- .child(EthernetContainerCurrentProblems.class).build();
-
- EthernetContainerCurrentProblems problems = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no EthernetContainerCurrentProblems", interfacePacUuid);
- } else if (problems.getCurrentProblemList() == null) {
- LOG.debug("DBRead Id {} empty CurrentProblemsList", interfacePacUuid);
- } else {
- for (ContainerCurrentProblemTypeG problem : problems.getCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwAirInterfaceDiversityPac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwAirInterfaceDiversityPac> clazzPac = MwAirInterfaceDiversityPac.class;
- // final Class<MwAirInterfaceDiversityPacKey> clazzPacKey =
- // MwAirInterfaceDiversityPacKey.class;
- final Class<AirInterfaceDiversityCurrentProblems> clazzProblems = AirInterfaceDiversityCurrentProblems.class;
- // final Class<AirInterfaceDiversityCurrentProblemTypeG> clazzProblem =
- // AirInterfaceDiversityCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- InstanceIdentifier<AirInterfaceDiversityCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(clazzPac, new MwAirInterfaceDiversityPacKey(interfacePacUuid)).child(clazzProblems).build();
-
- AirInterfaceDiversityCurrentProblems problems = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no AirInterfaceDiversityCurrentProblems", interfacePacUuid);
- } else if (problems.getCurrentProblemList() == null) {
- LOG.debug("DBRead Id {} empty CurrentProblemList", interfacePacUuid);
- } else {
- for (AirInterfaceDiversityCurrentProblemTypeG problem : problems.getCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwPureEthernetStructurePac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwPureEthernetStructurePac> clazzPac = MwPureEthernetStructurePac.class;
- // final Class<MwPureEthernetStructurePacKey> clazzPacKey =
- // MwPureEthernetStructurePacKey.class;
- final Class<PureEthernetStructureCurrentProblems> clazzProblems = PureEthernetStructureCurrentProblems.class;
- // final Class<StructureCurrentProblemTypeG> clazzProblem =
- // StructureCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- InstanceIdentifier<PureEthernetStructureCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(clazzPac, new MwPureEthernetStructurePacKey(interfacePacUuid)).child(clazzProblems).build();
-
- PureEthernetStructureCurrentProblems problems = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no PureEthernetStructureCurrentProblems", interfacePacUuid);
- } else if (problems.getCurrentProblemList() == null) {
- LOG.debug("DBRead Id {} empty CurrentProblemsList", interfacePacUuid);
- } else {
- for (StructureCurrentProblemTypeG problem : problems.getCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwHybridMwStructurePac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwHybridMwStructurePac> clazzPac = MwHybridMwStructurePac.class;
- // final Class<MwHybridMwStructurePacKey> clazzPacKey =
- // MwHybridMwStructurePacKey.class;
- final Class<HybridMwStructureCurrentProblems> clazzProblems = HybridMwStructureCurrentProblems.class;
- // final Class<HybridMwStructureCurrentProblemsG> clazzProblem =
- // HybridMwStructureCurrentProblemsG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- InstanceIdentifier<HybridMwStructureCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(clazzPac, new MwHybridMwStructurePacKey(interfacePacUuid)).child(clazzProblems).build();
-
- HybridMwStructureCurrentProblems problems = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no HybridMwStructureCurrentProblems", interfacePacUuid);
- } else if (problems.getCurrentProblemList() == null) {
- LOG.debug("DBRead Id {} empty CurrentProblemsList", interfacePacUuid);
- } else {
- for (StructureCurrentProblemTypeG problem : problems.getCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(), InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- return resultList;
- }
-
- /**
- * Read problems of specific interfaces. TODO Goal for future implementation
- * without usage of explicit new. Key is generated by newInstance() function
- * here to verify this approach.
- *
- * @param uuId Universal index of Interfacepac
- * @return number of alarms
- * @throws SecurityException
- * @throws NoSuchMethodException
- * @throws InvocationTargetException
- * @throws IllegalArgumentException
- * @throws IllegalAccessException
- * @throws InstantiationException
- */
- private List<ProblemNotificationXml> readTheFaultsOfMwTdmContainerPac(UniversalId interfacePacUuid,
- List<ProblemNotificationXml> resultList) {
-
- final Class<MwTdmContainerPac> clazzPac = MwTdmContainerPac.class;
- final Class<MwTdmContainerPacKey> clazzPacKey = MwTdmContainerPacKey.class;
- final Class<TdmContainerCurrentProblems> clazzProblems = TdmContainerCurrentProblems.class;
- // final Class<ContainerCurrentProblemTypeG> clazzProblem =
- // ContainerCurrentProblemTypeG.class;
-
- LOG.info("DBRead Get problems for class {} from mountpoint {} for uuid {}", clazzPac.getSimpleName(),
- coreData.getMountpoint(), interfacePacUuid.getValue());
-
- try {
- // -- Specific part 1
- Constructor<MwTdmContainerPacKey> cons = clazzPacKey.getConstructor(UniversalId.class); // Avoid new()
- InstanceIdentifier<TdmContainerCurrentProblems> mwEthInterfaceIID = InstanceIdentifier
- .builder(clazzPac, cons.newInstance(interfacePacUuid)).child(clazzProblems).build();
-
- // -- Specific part 2
- TdmContainerCurrentProblems problems = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwEthInterfaceIID);
- if (problems == null) {
- LOG.debug("DBRead Id {} no TdmContainerCurrentProblems", interfacePacUuid);
- } else if (problems.getCurrentProblemList() == null) {
- LOG.debug("DBRead Id {} empty CurrentProblemsList", interfacePacUuid);
- } else {
- // -- Specific part 3
- for (ContainerCurrentProblemTypeG problem : problems.getCurrentProblemList()) {
- resultList.add(new ProblemNotificationXml(coreData.getMountpoint(), interfacePacUuid.getValue(),
- problem.getProblemName(), InternalSeverity.valueOf(problem.getProblemSeverity()),
- problem.getSequenceNumber(),
- InternalDateAndTime.valueOf(problem.getTimeStamp())));
- }
- }
- } catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException
- | IllegalArgumentException | InvocationTargetException e) {
- LOG.warn("Could not reade instance of MwTdmContainerPacKey: ", e);
- }
- return resultList;
- }
-
- /*-----------------------------------------------------------------------------
- * Performance related data
- */
-
- /**
- * PM MwAirInterfacePac
- *
- * @param lp
- * @return
- */
- private List<ExtendedAirInterfaceHistoricalPerformanceType1211p> readTheHistoricalPerformanceDataOfMwAirInterfacePac(
- Lp lp) {
-
- String uuId = lp.getUuid().getValue();
-
- List<ExtendedAirInterfaceHistoricalPerformanceType1211p> resultList = new ArrayList<>();
- LOG.debug("DBRead Get {} MWAirInterfacePac: {}", coreData.getMountpoint(), uuId);
- // ----
- UniversalId mwAirInterfacePacuuId = new UniversalId(uuId);
- // Step 2.1: construct data and the relative iid
- InstanceIdentifier<AirInterfaceConfiguration> mwAirInterfaceConfigurationIID = InstanceIdentifier
- .builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(mwAirInterfacePacuuId))
- .child(AirInterfaceConfiguration.class).build();
- AirInterfaceConfiguration airConfiguration = genericTransactionUtils.readData(coreData.getDataBroker(),
- LogicalDatastoreType.OPERATIONAL, mwAirInterfaceConfigurationIID);
-
- if (airConfiguration == null) {
- LOG.debug("DBRead MWAirInterfacePac Id {} no AirInterfaceConfiguration", mwAirInterfacePacuuId);
-
- } else {
- // Step 2.2: construct data and the relative iid
- InstanceIdentifier<AirInterfaceHistoricalPerformances> mwAirInterfaceHistoricalPerformanceIID = InstanceIdentifier
- .builder(MwAirInterfacePac.class, new MwAirInterfacePacKey(mwAirInterfacePacuuId))
- .child(AirInterfaceHistoricalPerformances.class).build();
-
- // Step 2.3: read to the config data store
- AirInterfaceHistoricalPerformances airHistoricalPerformanceData = genericTransactionUtils.readData(
- coreData.getDataBroker(), LogicalDatastoreType.OPERATIONAL, mwAirInterfaceHistoricalPerformanceIID);
-
- if (airHistoricalPerformanceData == null) {
- LOG.debug("DBRead MWAirInterfacePac Id {} no AirInterfaceHistoricalPerformances",
- mwAirInterfacePacuuId);
- } else {
- // org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170320.air._interface.historical.performances.g.HistoricalPerformanceDataList
- List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.air._interface.historical.performances.g.HistoricalPerformanceDataList> airHistPMList = airHistoricalPerformanceData
- .getHistoricalPerformanceDataList();
- LOG.debug("DBRead MWAirInterfacePac Id {} Records intermediate: {}", mwAirInterfacePacuuId,
- airHistPMList.size());
- if (airHistPMList != null) {
- for (AirInterfaceHistoricalPerformanceTypeG pmRecord : airHistoricalPerformanceData
- .getHistoricalPerformanceDataList()) {
- resultList.add(new ExtendedAirInterfaceHistoricalPerformanceType1211p(pmRecord, airConfiguration));
- }
- }
- }
- }
- LOG.debug("DBRead MWAirInterfacePac Id {} Records result: {}", mwAirInterfacePacuuId, resultList.size());
- return resultList;
- }
-
- private List<ContainerHistoricalPerformanceTypeG> readTheHistoricalPerformanceDataOfEthernetContainer(Lp lp) {
-
- final String myName = "MWEthernetContainerPac";
- String uuId = lp.getUuid().getValue();
-
- List<ContainerHistoricalPerformanceTypeG> resultList = new ArrayList<>();
- LOG.debug("DBRead Get {} : {}", coreData.getMountpoint(), myName, uuId);
- // ----
- UniversalId ethContainerPacuuId = new UniversalId(uuId);
- // Step 2.2: construct data and the relative iid
- InstanceIdentifier<EthernetContainerHistoricalPerformances> ethContainerIID = InstanceIdentifier
- .builder(MwEthernetContainerPac.class, new MwEthernetContainerPacKey(ethContainerPacuuId))
- .child(EthernetContainerHistoricalPerformances.class).build();
-
- // Step 2.3: read to the config data store
- EthernetContainerHistoricalPerformances ethContainerHistoricalPerformanceData = genericTransactionUtils
- .readData(coreData.getDataBroker(), LogicalDatastoreType.OPERATIONAL, ethContainerIID);
-
- if (ethContainerHistoricalPerformanceData == null) {
- LOG.debug("DBRead {} Id {} no HistoricalPerformances", myName, ethContainerPacuuId);
- } else {
- // import
- // org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170320.ethernet.container.historical.performances.g.HistoricalPerformanceDataList
- List<org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ethernet.container.historical.performances.g.HistoricalPerformanceDataList> airHistPMList = ethContainerHistoricalPerformanceData
- .getHistoricalPerformanceDataList();
- LOG.debug("DBRead {} Id {} Records intermediate: {}", myName, ethContainerPacuuId, airHistPMList.size());
- if (airHistPMList != null) {
- for (ContainerHistoricalPerformanceTypeG pmRecord : airHistPMList) {
- resultList.add(pmRecord);
- }
- }
- }
- LOG.debug("DBRead {} Id {} Records result: {}", myName, ethContainerPacuuId, resultList.size());
- return resultList;
- }
-
- @Override
- public void onObjectCreationNotification(ObjectCreationNotification notification) {
- LOG.debug("Got event of type :: {}", ObjectCreationNotification.class.getSimpleName());
-
- ObjectCreationNotificationXml notificationXml = new ObjectCreationNotificationXml(coreData.getMountpoint(),
- notification.getCounter(),
- InternalDateAndTime.valueOf(notification.getTimeStamp()),
- notification.getObjectIdRef().getValue());
- microwaveModelListener.onObjectCreationNotification(notificationXml);
- }
-
- @Override
- public void onObjectDeletionNotification(ObjectDeletionNotification notification) {
- LOG.debug("Got event of type :: {}", ObjectDeletionNotification.class.getSimpleName());
-
- ObjectDeletionNotificationXml notificationXml = new ObjectDeletionNotificationXml(coreData.getMountpoint(),
- notification.getCounter(),
- InternalDateAndTime.valueOf(notification.getTimeStamp()),
- notification.getObjectIdRef().getValue()
- );
- microwaveModelListener.onObjectDeletionNotification(notificationXml);
- }
-
- @Override
- public void onProblemNotification(ProblemNotification notification) {
-
- LOG.debug("Got event of type :: {}", ProblemNotification.class.getSimpleName());
-
- ProblemNotificationXml notificationXml = new ProblemNotificationXml(coreData.getMountpoint(), notification.getObjectIdRef().getValue(),
- notification.getProblem(), InternalSeverity.valueOf(notification.getSeverity()),
- notification.getCounter(), InternalDateAndTime.valueOf(notification.getTimeStamp()));
-
- microwaveModelListener.onProblemNotification(notificationXml);
- }
-
- @Override
- public void onAttributeValueChangedNotification(AttributeValueChangedNotification notification) {
- LOG.debug("Got event of type :: {}", AttributeValueChangedNotification.class.getSimpleName());
-
- AttributeValueChangedNotificationXml notificationXml = new AttributeValueChangedNotificationXml(coreData.getMountpoint(),
- notification.getCounter(), InternalDateAndTime.valueOf(notification.getTimeStamp()),
- notification.getObjectIdRef().getValue(), notification.getAttributeName(), notification.getNewValue());
-
- microwaveModelListener.onAttributeValueChangedNotification(notificationXml);
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperPTPModelRev170208.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperPTPModelRev170208.java
deleted file mode 100644
index 172db1198..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/base/onfcore/wrapperc/WrapperPTPModelRev170208.java
+++ /dev/null
@@ -1,117 +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.base.onfcore.wrapperc;
-/*******************************************************************************
- * ============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==========================================================================
- ******************************************************************************/
-
-import java.util.List;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.InstanceList;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.InstanceListKey;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.instance.list.PortDsList;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ptp.dataset.rev170208.port.ds.entry.PortIdentity;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Reading PTP specific information from networkelement and creating log-trace output.
- *
- * @author herbert
- */
-public class WrapperPTPModelRev170208 {
-
- private static final Logger LOG = LoggerFactory.getLogger(WrapperPTPModelRev170208.class);
-
- protected static final InstanceIdentifier<InstanceList> PTPINSTANCES_IID = InstanceIdentifier
- .builder(InstanceList.class, new InstanceListKey(1)).build();
-
- /**
- * Query synchronization information out of NE
- */
-
- public static void initSynchronizationExtension(INetconfAcessor acessor) {
-
- String mountPointNodeName = acessor.getNodeId().getValue();
- Capabilities capabilities = acessor.getCapabilites();
- try {
- if (!capabilities.isSupportingNamespaceAndRevision(InstanceList.QNAME)) {
- LOG.debug("Mountpoint {} does not support PTP", mountPointNodeName);
- } else {
- StringBuffer sb = new StringBuffer();
- sb.append("NE ");
- sb.append(mountPointNodeName);
- sb.append(" does support synchronisation.\n");
- InstanceList ptpInstance = readPTPClockInstances(acessor);
- if (ptpInstance != null) {
- List<PortDsList> dsList = ptpInstance.getPortDsList();
- if (dsList != null) {
- int t = 0;
- for (PortDsList portDs : dsList) {
- PortIdentity portId = portDs.getPortIdentity();
- if (portId != null) {
- sb.append("Port[");
- sb.append(portId.getPortNumber());
- sb.append("]{ ClockId: ");
- sb.append(portId.getClockIdentity());
- sb.append(", Portstate: ");
- sb.append(portDs.getPortState());
- sb.append("}, ");
- } else {
- sb.append("Incomplete port #" + t + ", ");
- }
- t++;
- }
- } else {
- sb.append("dsList contains null");
- }
- } else {
- sb.append("ptpInstance equals null");
- }
- LOG.trace(sb.toString());
- }
- } catch (Exception e) {
- LOG.info("Inconsistent synchronisation structure: " + e.getMessage());
- }
- }
-
- @Nullable
- private static InstanceList readPTPClockInstances(INetconfAcessor acessor) {
- return acessor.getTransactionUtils().readData(acessor.getDataBroker(), LogicalDatastoreType.OPERATIONAL,
- PTPINSTANCES_IID);
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeForwarderImpl.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeForwarderImpl.java
deleted file mode 100644
index 88854dbd1..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeForwarderImpl.java
+++ /dev/null
@@ -1,81 +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.dcaeconnector.impl;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.common.HtAssert;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.ProviderClient;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.handler.NetconfEventListenerHandler12;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.maintenance.MaintenanceService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DcaeForwarderImpl implements DcaeForwarderInternal, AutoCloseable {
-
- private static final Logger LOG = LoggerFactory.getLogger(NetconfEventListenerHandler12.class);
-
- private final @Nullable ProviderClient aotsmClient;
- private final ProviderClient dcaeProvider;
- private final MaintenanceService maintenanceService;
-
- public DcaeForwarderImpl(@Nullable ProviderClient aotsmClient, @Nullable ProviderClient dcaeProvider,
- @NonNull MaintenanceService maintenanceService) {
- super();
-
- HtAssert.nonnull(maintenanceService);
- this.aotsmClient = aotsmClient;
- this.dcaeProvider = dcaeProvider;
- this.maintenanceService = maintenanceService;
- }
-
- @Override
- @SuppressWarnings("null")
- public void sendProblemNotificationUsingMaintenanceFilter(String nodeId, ProblemNotificationXml notificationXml) {
- if (!this.maintenanceService.isONFObjectInMaintenance(nodeId, notificationXml.getObjectId(),
- notificationXml.getProblem())) {
- if (dcaeProvider != null) {
- this.dcaeProvider.sendProblemNotification(nodeId, notificationXml);
- }
- if (this.aotsmClient != null) {
- this.aotsmClient.sendProblemNotification(nodeId, notificationXml);
- }
- } else {
- LOG.debug("Notification will not be sent to external services. Device " + nodeId
- + " is in maintenance mode");
- }
- }
-
- @Override
- public void sendProblemNotification(String nodeId, ProblemNotificationXml notificationXml) {
- //to prevent push alarms on reconnect
- //=> only pushed alarms are forwared to dcae
- //dcaeProvider.sendProblemNotification(nodeName, notificationXml);
- if(aotsmClient!=null) {
- aotsmClient.sendProblemNotification(nodeId, notificationXml);
- }
-
- }
-
- @Override
- public void close() throws Exception {
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeForwarderInternal.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeForwarderInternal.java
deleted file mode 100644
index 68f1ac369..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeForwarderInternal.java
+++ /dev/null
@@ -1,41 +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.dcaeconnector.impl;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.DcaeForwarder;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-
-/**
- * @author herbert
- *
- */
-public interface DcaeForwarderInternal extends DcaeForwarder {
-
- /**
- * @param oWNKEYNAME
- * @param notificationXml
- */
- void sendProblemNotificationUsingMaintenanceFilter(String oWNKEYNAME, ProblemNotificationXml notificationXml);
-
- /**
- * @param nodeName
- * @param notificationXml
- */
- void sendProblemNotification(String nodeName, ProblemNotificationXml notificationXml);
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeMessages.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeMessages.java
deleted file mode 100644
index e82e8e965..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeMessages.java
+++ /dev/null
@@ -1,348 +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==========================================================================
- ******************************************************************************/
-/**
- ecompProvider.sendProblemNotification(ownKeyName, notificationXml);
- * ECOMP Messages are generated an send to destination
- *
- * @author herbert
- */
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl;
-
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.Optional;
-import javax.net.ssl.HostnameVerifier;
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.SSLContext;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.base.netconf.util.NetconfTimeStamp;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.InventoryProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElement;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.DeviceManagerImpl;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.legacy.InventoryInformation;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DcaeMessages {
-
- private static final Logger LOG = LoggerFactory.getLogger(DcaeSenderImpl.class);
-
- private static final String DCAE_NORMAL = "NORMAL";
- private static final String DCAE_MINOR = "MINOR";
- private static final String DCAE_WARNING = "WARNING";
- private static final String DCAE_CRITICAL = "CRITICAL";
- private static final String DCAE_MAJOR = "MAJOR";
-
- private static final String eventNamePrefix = "fault_Microwave_Radio_Alarms";
- private static final String eventType = "Microwave_Radio_Alarms";
- private static final String eventSourceType = "Microwave_Radio";
-
- private static final String charset = "UTF-8";
-
- private static final HostnameVerifier allHostsValid = (hostname, session) -> true;
-
- private static final String CONTENT_TYPE_APPJSON = "application/json";
-
- private static final NetconfTimeStamp NETCONFTIME_CONVERTER = NetconfTimeStamp.getConverter();
-
- //Configurable parameters
- private final DcaeSender dcaeSender;
- private final int heartbeatIntervallSeconds;
- private final String entityName;
- private final DeviceManagerImpl deviceManager;
-
- //Variables
- private int heartbeatsequence = 0;
-
- public DcaeMessages(DcaeSender ecompSender, String entityName, Integer heartbeatIntervallSeconds, DeviceManagerImpl deviceManager) {
- this.dcaeSender = ecompSender;
- this.entityName = entityName;
- this.deviceManager = deviceManager;
- this.heartbeatIntervallSeconds = heartbeatIntervallSeconds;
- }
-
- /**
- * Create a heartbeat message.
- * @return Result string with answer from server
- */
- public String postHeartBeat() {
- String epochTimeMicrosecondsString = getEpochTimeMicroseconds();
- String body = assembleHeartbeatFromTemplate(null,
- epochTimeMicrosecondsString,
- heartbeatsequence++,
- NETCONFTIME_CONVERTER.getTimeStampAsNetconfString()).toString();
- return dcaeSender.sendDcaePost( body);
- }
-
- /**
- * ONF 1.2 Problem Notification
- * @param mountPointName self-explaining
- * @param notification Notification input
- * @return String with answer
- */
-
- public String postNotification(String mountPointName, ProblemNotificationXml notification) {
-
- String problemName = notification.getProblem();
- String sequence = notification.getCounter();
- String objId = notification.getObjectId();
- String severity = convert( notification.getSeverity());
- String timeStamp = convert( notification.getTimeStamp() );
-
- String body = assembleEventNotificationFromTemplate(null,
- timeStamp, sequence,
- mountPointName, objId, problemName, severity, notification.getTimeStamp() ).toString();
-
- return dcaeSender.sendDcaePost( body);
- }
-
- /**
- * Setup a connection to URL with authorisation header
- * @param url e.g. "https://plan.fritz.box:9092/ux/#" or "
- * @param basicAuth authorisation header like "Basic SGVyYmVydDpIZXJiZXJ0"
- * @param insertContentHeader
- * @return Null in case of error or the URLConnection
- * @throws IOException
- * @throws MalformedURLException
- */
- static @Nullable HttpURLConnection openConnection( URL url, String basicAuth, boolean insertContentHeader, @Nullable SSLContext sc) throws MalformedURLException, IOException {
-
- //Prepare the connection
- HttpURLConnection newHttpConnection = null;
- {
- URLConnection newConnection = url.openConnection();
- if (newConnection instanceof HttpURLConnection) {
- LOG.debug("Setup connection to {} ", url.toString());
-
- newHttpConnection = (HttpURLConnection)newConnection;
-
- newHttpConnection.setDoOutput(true); // Triggers POST.
- newHttpConnection.setRequestProperty("Accept-Charset", charset);
- if (basicAuth != null) {
- newHttpConnection.setRequestProperty("Authorization", basicAuth);
- }
- if (insertContentHeader) {
- newHttpConnection.setRequestProperty("Content-Type", CONTENT_TYPE_APPJSON);
- }
-
- if (newHttpConnection instanceof HttpsURLConnection) {
- LOG.debug("SSL connection setup with trust all.");
- HttpsURLConnection newHttpsConnection = (HttpsURLConnection)newHttpConnection;
- if (sc != null) {
- newHttpsConnection.setSSLSocketFactory(sc.getSocketFactory());
- } else {
- LOG.warn("No SSL Contect available");
- }
- newHttpsConnection.setHostnameVerifier(allHostsValid);
- }
- } else {
- LOG.warn("URL not a HTTP protocol: {}", url);
- }
- }
- return newHttpConnection;
- }
-
- /* -----------------
- * Private function for message creation and with templates
- */
-
- /**
- * Get actual microseconds
- * @return String
- */
- private String getEpochTimeMicroseconds() {
- long microseconds = System.nanoTime() / 1000;
- return String.valueOf(microseconds);
- }
-
- /**
- * Assemble heartbeat message
- * @param sb StringBuffer to be used or null to allocate
- * @param epochTimeMicrosecondsString Text with time stamp
- * @param sequence integer sequence number
- * @param eventTimeValueNetconfFormatString like this: 2018-05-14T05:32:17.292Z
- * @return StringBuffer with result
- */
- private StringBuffer assembleHeartbeatFromTemplate(
- StringBuffer sb,
- String epochTimeMicrosecondsString,
- int sequence,
- String eventTimeValueNetconfFormatString) {
-
- if (sb == null) {
- sb = new StringBuffer();
- }
- sb.append("{\n" +
- " \"event\": {\n" +
- " \"commonEventHeader\": {\n" +
- " \"domain\": \"heartbeat\",\n" +
- " \"eventId\": \"testpattern-ab305d54-85b4-a31b-7db2-fb6b9e546015\",\n" +
- " \"eventName\": \"heartbeat_Controller\",\n" +
- " \"eventType\": \"Controller\",\n" +
- " \"priority\": \"Low\",\n" +
- " \"reportingEntityId\": \"\",\n" +
- " \"reportingEntityName\": \""+entityName+"\",\n" +
- " \"sequence\": "+String.valueOf(sequence)+",\n" +
- " \"sourceId\": \"\",\n" +
- " \"sourceName\": \""+entityName+"\",\n" +
- " \"startEpochMicrosec\": "+epochTimeMicrosecondsString+",\n" +
- " \"lastEpochMicrosec\": "+epochTimeMicrosecondsString+",\n" +
- " \"version\": 3.0\n" +
- " },\n" +
- " \"heartbeatFields\": {\n" +
- " \"additionalFields\": [\n" +
- " {\n" +
- " \"name\": \"eventTime\",\n" +
- " \"value\": \""+eventTimeValueNetconfFormatString+"\"\n" +
- " }\n" +
- " ],\n" +
- " \"heartbeatFieldsVersion\": 1.0,\n" +
- " \"heartbeatInterval\": "+heartbeatIntervallSeconds+"\n" +
- " }\n" +
- " }\n" +
- "}\n"
- );
-
- return sb;
- }
-
- /**
- * Assemble notification message
- * @param sb StringBuffer to be used or null to allocate
- * @param epochTimeMicrosecondsString Text with time stamp
- * @param sequence integer sequence number
- * @param mountpointName
- * @param objId
- * @param problemName
- * @param severity
- * @return StringBuffer with result
- */
-
- private StringBuffer assembleEventNotificationFromTemplate(StringBuffer sb,
- String epochTimeMicrosecondsString, String sequence,
- String mountpointName, String objId, String problemName, String severity, String eventTimeValueNetconfFormatString
- ) {
-
- if (sb == null) {
- sb = new StringBuffer();
- }
-
- NetworkElement optionalNe = deviceManager != null ? deviceManager.getNeByMountpoint(mountpointName) : null;
- InventoryInformation neInventory = InventoryInformation.getDefault();
- if (optionalNe != null) {
- Optional<InventoryProvider> inventoryProvider = optionalNe.getService(InventoryProvider.class);
- if (inventoryProvider.isPresent()) {
- neInventory = inventoryProvider.get().getInventoryInformation();
- }
- }
-
- sb.append("{\n" +
- " \"event\": {\n" +
- " \"commonEventHeader\": {\n" +
- " \"domain\": \"fault\",\n" +
- " \"eventId\": \""+mountpointName+"_"+objId+"_"+problemName+"\",\n" +
- " \"eventName\": \""+eventNamePrefix+"_"+problemName+"\",\n" +
- " \"eventType\": \""+eventType+"\",\n" +
- " \"sequence\": "+sequence+",\n" +
- " \"priority\": \"High\",\n" +
- " \"reportingEntityId\": \"\",\n" +
- " \"reportingEntityName\": \""+entityName+"\",\n" +
- " \"sourceId\": \"\",\n" +
- " \"sourceName\": \""+mountpointName+"\",\n" +
- " \"startEpochMicrosec\": "+epochTimeMicrosecondsString+",\n" +
- " \"lastEpochMicrosec\": "+epochTimeMicrosecondsString+",\n" +
- " \"version\": 3.0\n" +
- " },\n" +
- " \"faultFields\": {\n" +
- " \"alarmAdditionalInformation\": [\n" +
- " {\n" +
- " \"name\": \"eventTime\",\n" +
- " \"value\": \""+eventTimeValueNetconfFormatString+"\"\n" +
- " },\n" +
- " {\n" +
- " \"name\": \"equipType\",\n" +
- " \"value\": \""+neInventory.getType()+"\"\n" +
- " },\n" +
- " {\n" +
- " \"name\": \"vendor\",\n" +
- " \"value\": \""+neInventory.getVendor()+"\"\n" +
- " },\n" +
- " {\n" +
- " \"name\": \"model\",\n" +
- " \"value\": \""+neInventory.getModel()+"\"\n" +
- " }\n" +
- " ],\n" +
- " \"faultFieldsVersion\":2.0,\n" +
- " \"eventSourceType\": \""+eventSourceType+"\",\n" +
- " \"alarmCondition\": \""+problemName+"\",\n" +
- " \"alarmInterfaceA\": \""+objId+"\",\n" +
- " \"specificProblem\": \""+problemName+"\",\n" +
- " \"eventSeverity\": \""+severity+"\",\n" +
- " \"vfStatus\": \"Active\"\n" +
- " }\n" +
- " }\n" +
- "}\n"
- );
-
- return sb;
- }
-
- /* -----------------
- * Convert internal type formats into the Ecomp format
- */
-
- private String convert(InternalSeverity severity ) {
- switch( severity ) {
- case NonAlarmed:
- break;
- case Warning:
- return DCAE_WARNING;
- case Minor:
- return DCAE_MINOR;
- case Major:
- return DCAE_MAJOR;
- case Critical:
- return DCAE_CRITICAL;
- }
- return DCAE_NORMAL;
- }
-
-
- /**
- * Time has to be converted into milliseconds
- * @param timeAsString time as string
- * @return as string
- */
- private String convert(String timeAsString) {
-
- long microseconds = -1;
- try {
- microseconds = NETCONFTIME_CONVERTER.getTimeStampFromNetconfAsMilliseconds(timeAsString) * 1000;
- } catch (IllegalArgumentException e) {
- LOG.info("Can not convert timeAsString", e);
- }
- return String.valueOf(microseconds);
- }
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeProviderClient.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeProviderClient.java
deleted file mode 100644
index 6993a14e9..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeProviderClient.java
+++ /dev/null
@@ -1,84 +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.dcaeconnector.impl;
-
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.filechange.IConfigChangedListener;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl.config.DcaeConfig;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.DeviceManagerImpl;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.ProviderClient;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-public class DcaeProviderClient implements AutoCloseable, ProviderClient {
-
- private static final Logger LOG = LoggerFactory.getLogger(DcaeProviderClient.class);
-
- private final ConfigurationFileRepresentation htConfig;
- private final IConfigChangedListener configChangedListener;
-
- private final Object lock = new Object();
- private DcaeProviderWorker worker;
- private DcaeConfig config;
-
- public DcaeProviderClient(ConfigurationFileRepresentation cfg, String entityName, DeviceManagerImpl deviceManager) {
- LOG.info("Create");
- this.htConfig=cfg;
- this.config = new DcaeConfig(cfg);
- worker = new DcaeProviderWorker(config, entityName, deviceManager);
- this.configChangedListener = () -> {
- LOG.info("Configuration change. Worker exchanged");
- synchronized(lock) {
- worker.close();
- worker = new DcaeProviderWorker(this.config, entityName, deviceManager);
- }
- };
- this.htConfig.registerConfigChangedListener(configChangedListener );
-
- }
-
- @Override
- public void sendProblemNotification(String mountPointName, ProblemNotificationXml notification) {
- synchronized(lock) {
- worker.sendProblemNotification(mountPointName, notification);
- }
- }
-
- @Override
- public void sendProblemNotification(String mountPointName, ProblemNotificationXml notification, boolean neDeviceAlarm) {
- sendProblemNotification(mountPointName, notification);
- }
-
- @Override
- public void close() {
- this.htConfig.unregisterConfigChangedListener(configChangedListener);
- synchronized(lock) {
- worker.close();
- }
- }
-
- /* ---------------------------------------------------------
- * Private
- */
-
-}
-
-
-
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeProviderTask.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeProviderTask.java
deleted file mode 100644
index 2a169db01..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeProviderTask.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START========================================================================
- * ONAP : ccsdk feature sdnr wt
- * =================================================================================================
- * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
- * =================================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- * ============LICENSE_END==========================================================================
- ******************************************************************************/
-/**
- * Event provider to ECOMP for heartbeat message
- *
- * @author herbert
- *
- */
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-class DcaeProviderTask implements Runnable {
-
- private static final Logger LOG = LoggerFactory.getLogger(DcaeProviderTask.class);
-
- private int t = 0;
- private final DcaeMessages dcaeMessages;
-
- DcaeProviderTask(DcaeMessages dcaeMessages) {
- LOG.info("Create eventprovider task");
- this.dcaeMessages = dcaeMessages;
- }
-
- private void sendHeartbeat() {
- dcaeMessages.postHeartBeat();
- }
-
- @Override
- public void run() {
- LOG.debug("DCAE provider heartbeat tick start {}", t++);
- sendHeartbeat();
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeProviderWorker.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeProviderWorker.java
deleted file mode 100644
index 6293843e8..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeProviderWorker.java
+++ /dev/null
@@ -1,84 +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.dcaeconnector.impl;
-
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledFuture;
-import java.util.concurrent.TimeUnit;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl.config.DcaeConfig;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.DeviceManagerImpl;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-class DcaeProviderWorker implements AutoCloseable {
-
- private static final Logger LOG = LoggerFactory.getLogger(DcaeProviderWorker.class);
-
- private static final int MIN_HEARTBEAT_TIME_SECONDS = 30;
-
- private final ScheduledExecutorService scheduler;
- private final DcaeSenderImpl dcaepClient;
- private final DcaeMessages dcaeMessages;
- private final ScheduledFuture<?> taskReference;
-
- public DcaeProviderWorker(DcaeConfig configuration, String entityName, DeviceManagerImpl deviceManager) {
-
- //Start services
- LOG.info("Configuration: "+configuration);
- int heartbeatSeconds = configuration.getTimerPeriodSeconds();
- if ( heartbeatSeconds < MIN_HEARTBEAT_TIME_SECONDS ) {
- heartbeatSeconds = MIN_HEARTBEAT_TIME_SECONDS;
- LOG.info("Adjust heartbeat intervall to minimum of { } seconds.",heartbeatSeconds);
- }
-
- dcaepClient = new DcaeSenderImpl(configuration.getEventReveicerUrl(), configuration.getUserCredentials());
- dcaeMessages = new DcaeMessages(dcaepClient, entityName, heartbeatSeconds, deviceManager);
-
- //Activate task
- LOG.info("Create Fault manager client Task");
- this.scheduler = Executors.newSingleThreadScheduledExecutor();
- Runnable task = new DcaeProviderTask(dcaeMessages);
-
- LOG.info("Fault task created with "+heartbeatSeconds+" Seconds");
- this.taskReference = this.scheduler.scheduleAtFixedRate(task, 0, heartbeatSeconds, TimeUnit.SECONDS);
- LOG.info("Fault task scheduled");
- }
-
- public void sendProblemNotification(String mountPointName, ProblemNotificationXml notification) {
- LOG.debug("Notification answer: {}", dcaeMessages.postNotification(mountPointName, notification));
- }
-
- @Override
- public void close() {
- this.taskReference.cancel(false);
- try {
- this.scheduler.shutdown();
- this.scheduler.awaitTermination(5, TimeUnit.SECONDS);
- } catch (InterruptedException | SecurityException e) {
- LOG.debug("Schedler shutdown interrupted with exception: ",e);
- if (e instanceof InterruptedException) {
- Thread.currentThread().interrupt();
- }
- }
- }
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeSender.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeSender.java
deleted file mode 100644
index 5ebc37d51..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeSender.java
+++ /dev/null
@@ -1,31 +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.dcaeconnector.impl;
-
-/**
- * @author herbert
- *
- */
-public interface DcaeSender {
-
- public String sendDcaePost(String body);
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeSenderImpl.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeSenderImpl.java
deleted file mode 100644
index 22277a0db..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/DcaeSenderImpl.java
+++ /dev/null
@@ -1,236 +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==========================================================================
- ******************************************************************************/
-/**
- * Client for ECOMP notification server
- *
- * Reference: @link
- * http://stackoverflow.com/questions/13022717/java-and-https-url-connection-without-downloading-certificate
- *
- * @author herbert
- */
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.Reader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-import java.security.KeyManagementException;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.UnrecoverableKeyException;
-import java.security.cert.CertificateException;
-import java.security.spec.InvalidKeySpecException;
-import java.util.Base64;
-import javax.net.ssl.SSLContext;
-import org.onap.ccsdk.features.sdnr.wt.common.http.BaseHTTPClientFromDevicemanager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DcaeSenderImpl implements DcaeSender {
-
- private static final Logger LOG = LoggerFactory.getLogger(DcaeSenderImpl.class);
- private static final String EMPTY = "";
- private static final String charset = "UTF-8";
-
- private final String urlString;
- private final String basicAuth;
-
- private SSLContext sc = null;
- private URL url = null;
- private HttpURLConnection connection = null;
-
- public DcaeSenderImpl(String url, String userCredentials) {
-
- LOG.info("DcaeSenderImpl setup start with {} {}", url, userCredentials);
-
- this.urlString = url;
- this.basicAuth = "Basic " + new String(Base64.getEncoder().encode(userCredentials.getBytes()));
-
- if (urlString != null && !urlString.equals("off")) {
- try {
- this.url = new URL(url);
- sc = BaseHTTPClientFromDevicemanager.setupSsl(true);
- } catch (KeyManagementException | NoSuchAlgorithmException | UnrecoverableKeyException
- | CertificateException | KeyStoreException | InvalidKeySpecException | IOException e) {
- LOG.warn("SSL setup failed: {}", e.getMessage());
- }
- }
- LOG.info("DcaeSenderImpl setup ends");
- }
-
- /**
- * Send message to ECOMP Server
- *
- * @param body for POST message
- */
- @Override
- public String sendDcaePost(String body) {
-
- if (url != null) {
- try {
- connection = DcaeMessages.openConnection(url, basicAuth, true, sc);
- if (connection != null) {
- return processPost(connection, body);
- } else {
- LOG.warn("No SSL context available");
- }
- } catch (IOException e) {
- LOG.warn("Dcae post failed {}", e.getMessage());
- }
- }
- return EMPTY;
- }
-
- /**
- * Connect to Server and expect answer.
- *
- * @return with answer body
- */
- public String testConnectServer() {
-
- if (url != null) {
- try {
- connection = DcaeMessages.openConnection(url, null, false, sc);
- if (connection != null) {
- return receiveInitialAnswer(connection);
- }
- } catch (IOException e) {
- LOG.warn("Dcae post failed {}", e.getMessage());
- }
- }
- return EMPTY;
- }
-
- /**
- * Show status in readable form for testing
- *
- * @return String with result
- */
- public String getStatusAsString() {
- StringBuffer sb = new StringBuffer();
-
- sb.append("URL: " + url.getPath() + " " + url.getPort() + " Host: " + url.getHost());
- sb.append("\n");
- if (connection != null) {
- sb.append("Connection setup: ");
- sb.append(connection.getClass().getName());
- sb.append(" ");
- } else {
- sb.append("Connection setup: No connection (server problem or switched off)");
- }
- return sb.toString();
-
- }
-
-
- /*------------------------------------------------------------------------------
- * Private functions
- */
-
-
- /**
- * Send Post and wait for answer
- *
- * @param connection
- * @param body
- * @return
- * @throws IOException
- */
- private static String processPost(HttpURLConnection connection, String body) throws IOException {
-
- LOG.debug("Post message: {}", connection.getURL().toString());
- if (LOG.isTraceEnabled()) {
- LOG.trace("Body: {} ", body);
- }
-
- // Send the message to destination
- try (OutputStream output = connection.getOutputStream()) {
- output.write(body.getBytes(charset));
- }
-
- // Receive answer
- InputStream response = null;
- BufferedReader rd = null;
- StringBuilder result = new StringBuilder();
-
- try {
- int responseCode = connection.getResponseCode();
- LOG.debug("Response code: {}", String.valueOf(responseCode));
-
- if (responseCode >= 200 && responseCode < 300) {
- response = connection.getInputStream();
- } else {
- response = connection.getErrorStream();
- if (response == null) {
- response = connection.getInputStream();
- }
- }
- if (response != null) {
- rd = new BufferedReader(new InputStreamReader(response));
- String line;
- while ((line = rd.readLine()) != null) {
- result.append(line);
- }
- }
- } catch (IOException e) {
- LOG.debug("No response received: {}", e.getMessage());
- } finally {
- if (response != null) {
- response.close();
- }
- if (rd != null) {
- rd.close();
- }
- }
-
- LOG.trace("Result: {} ", result);
- return result.toString();
- }
-
- /**
- * Read initial answer from Server after connect
- *
- * @param connection that was opened
- * @return String with answer message
- * @throws IOException
- */
- private static String receiveInitialAnswer(URLConnection iConnection) throws IOException {
-
-
- final StringBuffer response = new StringBuffer();
-
- if (iConnection != null) {
-
- final Reader reader = new InputStreamReader(iConnection.getInputStream());
- final BufferedReader br = new BufferedReader(reader);
- String line = "";
- while ((line = br.readLine()) != null) {
- response.append(line);
- response.append("\n");
- }
- br.close();
- }
-
- return response.toString();
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/config/DcaeConfig.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/config/DcaeConfig.java
deleted file mode 100644
index 2e4d73acb..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/dcaeconnector/impl/config/DcaeConfig.java
+++ /dev/null
@@ -1,79 +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.dcaeconnector.impl.config;
-
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.Configuration;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-
-public class DcaeConfig implements Configuration {
-
- private static final String SECTION_MARKER_DCAE = "dcae";
-
- private static final String PROPERTY_KEY_EVENTRECEIVERURL = "dcaeUrl";
- private static final String PROPERTY_KEY_USERCREDENTIALS = "dcaeUserCredentials";
- private static final String PROPERTY_KEY_TIMERPERIOD = "dcaeHeartbeatPeriodSeconds";
-
- private static final String DEFAULT_VALUE_EVENTRECEIVERURL = "off";
- private static final String DEFAULT_VALUE_USERCREDENTIALS = "admin:admin";
- private static final long DEFAULT_VALUE_TIMERPERIOD = 120;
-
- private final ConfigurationFileRepresentation configuration;
-
- public DcaeConfig(ConfigurationFileRepresentation configuration) {
- this.configuration = configuration;
- this.configuration.addSection(SECTION_MARKER_DCAE);
- defaults();
- }
-
- /* ***********************
- * Getter
- */
-
- public String getEventReveicerUrl() {
- return configuration.getProperty(SECTION_MARKER_DCAE, PROPERTY_KEY_EVENTRECEIVERURL);
- }
-
- public String getUserCredentials() {
- return configuration.getProperty(SECTION_MARKER_DCAE, PROPERTY_KEY_USERCREDENTIALS);
- }
-
- public Integer getTimerPeriodSeconds() {
- long res = configuration.getPropertyLong(SECTION_MARKER_DCAE, PROPERTY_KEY_TIMERPERIOD).orElse(DEFAULT_VALUE_TIMERPERIOD);
- return (int)res;
- }
-
-
- @Override
- public String getSectionName() {
- return SECTION_MARKER_DCAE;
- }
-
- @Override
- public void defaults() {
- this.configuration.setPropertyIfNotAvailable(SECTION_MARKER_DCAE, PROPERTY_KEY_EVENTRECEIVERURL, DEFAULT_VALUE_EVENTRECEIVERURL);
- this.configuration.setPropertyIfNotAvailable(SECTION_MARKER_DCAE, PROPERTY_KEY_USERCREDENTIALS, DEFAULT_VALUE_USERCREDENTIALS);
- this.configuration.setPropertyIfNotAvailable(SECTION_MARKER_DCAE, PROPERTY_KEY_TIMERPERIOD, DEFAULT_VALUE_TIMERPERIOD);
- }
-
- @Override
- public String toString() {
- return "DcaeConfig [getEventReveicerUrl()=" + getEventReveicerUrl() + ", getUserCredentials()="
- + getUserCredentials() + ", getTimerPeriodSeconds()=" + getTimerPeriodSeconds() + ", getSectionName()="
- + getSectionName() + "]";
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/Checker.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/Checker.java
deleted file mode 100644
index 1091c41eb..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/Checker.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START========================================================================
- * ONAP : ccsdk feature sdnr wt
- * =================================================================================================
- * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
- * =================================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- * ============LICENSE_END==========================================================================
- ******************************************************************************/
-/**
- * (c) highstreet technologies GmbH
- */
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.devicemonitor.impl;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Steps to Monitor the connection to a network element during state connected
- */
-abstract class Checker {
-
- @SuppressWarnings("unused")
- private static final Logger LOG = LoggerFactory.getLogger(Checker.class);
-
- /**
- * Check action.
- * @return true if reachable, false if not
- */
- abstract boolean isReachableOnce();
-
- /**
- * Procedure to check the connection of one mountpoint
- * @return true if reachable, false if not
- */
- boolean isConnected() {
- return isReachableOnce();
- }
-}
-
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitor.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitor.java
deleted file mode 100644
index f0a477b84..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitor.java
+++ /dev/null
@@ -1,63 +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.devicemonitor.impl;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.DeviceMonitoredNe;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElement;
-
-public interface DeviceMonitor extends AutoCloseable {
-
- /**
- * Referesh database by raising all alarms again.
- */
- void refreshAlarmsInDb();
-
- /**
- * removeMountpointIndication deregisters a mountpoint for registration services
- * @param mountPointNodeName to deregister
- */
- void removeMountpointIndication(String mountPointNodeName);
-
- /**
- * Notify of device state change to "disconnected"
- * Mount point supervision
- * @param mountPointNodeName to deregister
- */
- void deviceDisconnectIndication(String mountPointNodeName);
-
- /**
- * Notify of device state changes to "connected"
- * @param mountPointNodeName name of mount point
- * @param ne to monitor
- */
- void deviceConnectMasterIndication(String mountPointNodeName, DeviceMonitoredNe ne);
-
- /**
- * Notify of device state changes to "connected"
- * @param mountPointNodeName name of mount point
- * @param ne to monitor
- */
- void deviceConnectMasterIndication(String mountPointNodeName, NetworkElement ne);
-
- /**
- * Notify of device state changes to "connected" for slave nodes
- * @param mountPointNodeName name of mount point
- */
- void deviceConnectSlaveIndication(String mountPointNodeName);
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorEmptyImpl.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorEmptyImpl.java
deleted file mode 100644
index 4a8eba09e..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorEmptyImpl.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.devicemonitor.impl;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.DeviceMonitoredNe;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElement;
-
-public class DeviceMonitorEmptyImpl implements DeviceMonitor {
-
- @Override
- public void refreshAlarmsInDb() {
- }
-
- @Override
- public void removeMountpointIndication(String mountPointNodeName) {
- }
-
- @Override
- public void deviceConnectMasterIndication(String mountPointNodeName, DeviceMonitoredNe ne) {
- }
-
- @Override
- public void deviceDisconnectIndication(String mountPointNodeName) {
- }
-
- @Override
- public void deviceConnectSlaveIndication(String mountPointNodeName) {
- }
-
- @Override
- public void close() throws Exception {
- }
-
- @Override
- public void deviceConnectMasterIndication(String mountPointNodeName, NetworkElement ne) {
- }
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorImpl.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorImpl.java
deleted file mode 100644
index fd2b141df..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorImpl.java
+++ /dev/null
@@ -1,264 +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==========================================================================
- ******************************************************************************/
-/**
- * (c) 2017 highstreet technologies GmbH
- */
-
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.devicemonitor.impl;
-
-import java.util.Enumeration;
-import java.util.Optional;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.filechange.IConfigChangedListener;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.DeviceMonitoredNe;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElement;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.devicemonitor.impl.config.DmConfig;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.handler.ODLEventListenerHandler;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Implementation of concept "Active monitoring" of a device.<br>
- * <br>
- * For each existing mountpoint a task runs with 120s cycle time. Every 120 seconds the check actions are performed.
- * The request is handled by the NETCONF layer with a (default)configured time-out of 60 seconds.<br>
- * Generated alarms, by the object/node "SDN-Controller" are (enum DeviceMonitorProblems):<br>
- * - notConnected(InternalSeverity.Warning)<br>
- * - noConnectionMediator(InternalSeverity.Minor)<br>
- * - noConnectionNe(InternalSeverity.Critical)<br>
- * <br>
- * 1. Mountpoint does not exist<br>
- * If the mountpoint does not exists there are no related current alarms in the database.<br>
- * <br>
- * 2. Created mountpoint with state "Connecting" or "UnableToConnect"<br>
- * If the Mountpoint is created and connection status is "Connecting" or "UnableToConnect".<br>
- * - After about 2..4 Minutes ... raise alarm "notConnected" with severity warning<br>
- * <br>
- * 3. Created mountpoint with state "Connection"<br>
- * There are two monitor activities.<br>
- * 3a. Check of Mediator connection by requesting (typical) cached data.<br>
- * - After about 60 seconds raise alarm: connection-loss-mediator with severity minor<br>
- * - Request from Mediator: network-element<br>
- * <br>
- * 3b. Check connection to NEby requesting (typical) non-cached data.<br>
- * - Only if AirInterface available. The first one is used.<br>
- * - Requested are the currentAlarms<br>
- * - After about 60 seconds raise alarm: connection-loss-network-element with severity critical<br>
- * <br>
- * @author herbert
- */
-
-public class DeviceMonitorImpl implements DeviceMonitor, IConfigChangedListener {
-
- private static final Logger LOG = LoggerFactory.getLogger(DeviceMonitorImpl.class);
-
- private final ConcurrentHashMap<String, DeviceMonitorTask> queue;
- private final ScheduledExecutorService scheduler;
- private final ODLEventListenerHandler odlEventListener;
- @SuppressWarnings("unused")
- private final DataBroker dataBroker; //Future usage
- private final DmConfig dmConfig;
- private final DeviceMonitoredNe dummyNe;
-
- /*-------------------------------------------------------------
- * Construction/ destruction of service
- */
-
- /**
- * Basic implementation of devicemonitoring
- * @param odlEventListener as destination for problems
- */
- public DeviceMonitorImpl(DataBroker dataBroker, ODLEventListenerHandler odlEventListener, ConfigurationFileRepresentation htconfig) {
- LOG.info("Construct {}", this.getClass().getSimpleName());
-
- this.odlEventListener = odlEventListener;
- this.dataBroker = dataBroker;
- this.dummyNe = getDummyNe();
-
- htconfig.registerConfigChangedListener(this);
- this.dmConfig = new DmConfig(htconfig);
- setDmConfig(dmConfig);
-
- this.queue = new ConcurrentHashMap<>();
- this.scheduler = Executors.newScheduledThreadPool(10);
- }
-
- /**
- * Stop the service. Stop all running monitoring tasks.
- */
- @Override
- synchronized public void close() {
- LOG.info("Close {}", this.getClass().getSimpleName());
-
- Enumeration<String> e = queue.keys();
- while (e.hasMoreElements()) {
- deviceDisconnectIndication(e.nextElement());
- }
-
- scheduler.shutdown();
- }
-
- @Override
- public void onConfigChanged() {
- setDmConfig(dmConfig);
- }
-
- private void setDmConfig(DmConfig dmConfig) {
- for (DeviceMonitorProblems problem : DeviceMonitorProblems.values()) {
- problem.setSeverity(dmConfig.getSeverity(problem));
- }
- }
-
- /*-------------------------------------------------------------
- * Start/ stop/ update service for Mountpoint
- */
-
- /**
- * Notify of device state changes to "connected" for slave nodes
- * @param mountPointNodeName name of mount point
- */
- @Override
- synchronized public void deviceConnectSlaveIndication(String mountPointNodeName) {
- deviceConnectMasterIndication(mountPointNodeName, (DeviceMonitoredNe)null);
- }
-
- @Override
- public void deviceConnectMasterIndication(String mountPointNodeName, NetworkElement networkElement) {
- Optional<DeviceMonitoredNe> monitoredNe = networkElement.getService(DeviceMonitoredNe.class);
- deviceConnectMasterIndication(mountPointNodeName, monitoredNe.isPresent() ? monitoredNe.get() : dummyNe);
- }
-
- /**
- * Notify of device state changes to "connected"
- * @param mountPointNodeName name of mount point
- * @param ne to monitor
- */
- @Override
- synchronized public void deviceConnectMasterIndication(String mountPointNodeName, DeviceMonitoredNe ne) {
-
- LOG.debug("ne changes to connected state {}",mountPointNodeName);
- createMonitoringTask(mountPointNodeName);
- if (queue.containsKey(mountPointNodeName)) {
- DeviceMonitorTask task = queue.get(mountPointNodeName);
- task.deviceConnectIndication(ne);
- } else {
- LOG.warn("Monitoring task not in queue: {} {} {}", mountPointNodeName, mountPointNodeName.hashCode(), queue.size());
- }
- }
-
- /**
- * Notify of device state change to "disconnected"
- * Mount point supervision
- * @param mountPointNodeName to deregister
- */
- @Override
- synchronized public void deviceDisconnectIndication(String mountPointNodeName) {
-
- LOG.debug("State changes to not connected state {}",mountPointNodeName);
- createMonitoringTask(mountPointNodeName);
- if (queue.containsKey(mountPointNodeName)) {
- DeviceMonitorTask task = queue.get(mountPointNodeName);
- task.deviceDisconnectIndication();
- } else {
- LOG.warn("Monitoring task not in queue: {} {} {}", mountPointNodeName, mountPointNodeName.hashCode(), queue.size());
- }
- }
-
- /**
- * removeMountpointIndication deregisters a mountpoint for registration services
- * @param mountPointNodeName to deregister
- */
- @Override
- synchronized public void removeMountpointIndication(String mountPointNodeName) {
-
- if (queue.containsKey(mountPointNodeName)) {
- DeviceMonitorTask task = queue.get(mountPointNodeName);
- //Remove from here
- queue.remove(mountPointNodeName);
- //Clear all problems
- task.removeMountpointIndication();
- LOG.debug("Task stopped: {}", mountPointNodeName);
- } else {
- LOG.warn("Task not in queue: {}", mountPointNodeName);
- }
- }
-
- /**
- * Referesh database by raising all alarms again.
- */
- @Override
- public void refreshAlarmsInDb() {
- synchronized(queue) {
- for (DeviceMonitorTask task : queue.values()) {
- task.refreshAlarms();
- }
- }
- }
-
- /*-------------------------------------------------------------
- * Private functions
- */
-
- /**
- * createMountpoint registers a new mountpoint monitoring service
- * @param mountPointNodeName name of mountpoint
- */
- synchronized private DeviceMonitorTask createMonitoringTask(String mountPointNodeName) {
-
- DeviceMonitorTask task;
- LOG.debug("Register for monitoring {} {}",mountPointNodeName, mountPointNodeName.hashCode());
-
- if (queue.containsKey(mountPointNodeName)) {
- LOG.info("Monitoring task exists");
- task = queue.get(mountPointNodeName);
- } else {
- LOG.info("Do start of DeviceMonitor task");
- //Runnable task = new PerformanceManagerTask(queue, databaseService);
- task = new DeviceMonitorTask(mountPointNodeName, this.odlEventListener);
- queue.put(mountPointNodeName, task);
- task.start(scheduler);
- }
- return task;
- }
-
-
- private static DeviceMonitoredNe getDummyNe() {
- return new DeviceMonitoredNe() {
-
- @Override
- public void prepareCheck() {
- // Do nothing
- }
-
- @Override
- public boolean checkIfConnectionToMediatorIsOk() {
- return true;
- }
-
- @Override
- public boolean checkIfConnectionToNeIsOk() {
- return true;
- }
- };
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorProblems.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorProblems.java
deleted file mode 100644
index 1282a41f8..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorProblems.java
+++ /dev/null
@@ -1,68 +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==========================================================================
- ******************************************************************************/
-/**
- * Problems generated by DeviceMonitor
- *
- * @author herbert
- *
- */
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.devicemonitor.impl;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public enum DeviceMonitorProblems {
-
- /**
- * Mountpoint is not connected via NETCONF with NE/Mediator = ssh connection
- */
- connectionLossOAM(InternalSeverity.Major),
-
- /**
- * Mountpoint is connected via Netconf to Mediator, but mediator is not responding.
- * Connection state to NE is unknown.
- */
- connectionLossMediator(InternalSeverity.Major),
-
- /** Mountpoint is connected via Netconf to Mediator.
- * This connection is OK, but mediator <-> NE Connection is not OK
- */
- connectionLossNeOAM(InternalSeverity.Major);
-
- private static final Logger LOG = LoggerFactory.getLogger(DeviceMonitorProblems.class);
- private InternalSeverity severity;
-
- DeviceMonitorProblems(@Nullable InternalSeverity severity) {
- if (severity != null) {
- this.severity = severity;
- }
- }
-
- public InternalSeverity getSeverity() {
- return severity;
- }
-
- public void setSeverity(InternalSeverity severity) {
- LOG.info("Change severity for {} from {} to {}", name(), this.severity, severity);
- this.severity=severity;
- }
-
-}
-
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorTask.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorTask.java
deleted file mode 100644
index d26f4ac7f..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/DeviceMonitorTask.java
+++ /dev/null
@@ -1,320 +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==========================================================================
- ******************************************************************************/
-/**
- * @author herbert
- *
- */
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.devicemonitor.impl;
-
-import java.util.Collections;
-import java.util.EnumSet;
-import java.util.Set;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledFuture;
-import java.util.concurrent.TimeUnit;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.base.netconf.util.NetconfTimeStamp;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.DeviceMonitoredNe;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.handler.ODLEventListenerHandler;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DeviceMonitorTask implements Runnable {
-
- private static final Logger LOG = LoggerFactory.getLogger(DeviceMonitorTask.class);
- private static final String LOGMARKER = "DMTick";
- private static final NetconfTimeStamp NETCONFTIME_CONVERTER = NetconfTimeStamp.getConverter();
-
- private final String mountPointName;
- private final ODLEventListenerHandler odlEventListener;
- private final Checker checkConnectionToMediator;
- private final Checker checkConnectionToNe;
-
- private int tickCounter; //Added for each tick. Not relevant for internal status
-
- private ScheduledFuture<?> taskHandle;
- private final Object lockNe = new Object(); //USe top lock access to member ne
- private @Nullable DeviceMonitoredNe ne; //Indication if in status connect or disconnect
- private @NonNull Boolean mountpointConnectingStateSupervision; //Indication of mountpoint supervision
-
- private final Object lockDisconnectSupervisionTickout = new Object();
- private Integer disconnectSupervisionTickout; //Tickcounter of task ticks for "not connected indication"
- private Set<DeviceMonitorProblems> currentProblems; //List with actual problems. Synchronized by itself
-
- /*------------------------------------------------------------
- * Construction
- */
-
- /**
- * Setup monitoring task
- * @param mountPointName to monitor
- * @param odlEventListener to forward problems to
- */
- public DeviceMonitorTask(String mountPointName, ODLEventListenerHandler odlEventListener) {
- LOG.debug("Init task {}", DeviceMonitorTask.class.getSimpleName());
-
- //Setup finals
- this.mountPointName = mountPointName;
- this.odlEventListener = odlEventListener;
- this.checkConnectionToMediator = new Checker() {
- @Override
- boolean isReachableOnce() {
- synchronized(lockNe) {
- //mountpoint state "Connected"
- //If for any reason the mountpoint is Connected, but Notconf messages are not received
- return ne == null ? true : ne.checkIfConnectionToMediatorIsOk();
- }
- }
- };
- this.checkConnectionToNe = new Checker() {
- @Override
- boolean isReachableOnce() {
- synchronized(lockNe) {
- //mountpoint state "Connected"
- //If netconf mediator (netconf application software for NE) has connection loss to managed device.
- //The networkelement object is available, but there is no interfacepack available.
- return ne == null ? true : ne.checkIfConnectionToNeIsOk();
- }
- }
- };
-
- //Setup parameters
- this.taskHandle = null;
- this.tickCounter = 0;
- this.ne = null;
- this.mountpointConnectingStateSupervision = false;
- this.currentProblems = Collections.synchronizedSet(EnumSet.noneOf(DeviceMonitorProblems.class));
- this.disconnectSupervisionTickout = 0;
-
- int removed = odlEventListener.removeAllCurrentProblemsOfNode(mountPointName);
- LOG.debug("{} Init task removed fault entries {}", LOGMARKER, removed);
-
- }
-
- /**
- * Start for each object an own instance of the thread.
- * @param scheduler for all the threads.
- */
- public void start(ScheduledExecutorService scheduler) {
- LOG.info("{} {} DeviceMonitor task to create", LOGMARKER, tickCounter);
- if (taskHandle == null) {
- startDisconnectSupervision();
- taskHandle = scheduler.scheduleAtFixedRate(this, 0, 120, TimeUnit.SECONDS);
- LOG.info("DeviceMonitor task scheduled");
- } else {
- LOG.error("{} {} Task already running.", LOGMARKER, tickCounter);
- }
- }
-
- /**
- * Call after NE change state to connected.
- * Mountpoint exists. Status is Connecting.
- * @param neParam that connected
- */
-
- public void deviceConnectIndication(DeviceMonitoredNe neParam) {
- LOG.info("{} {} Connect {} and stop.", LOGMARKER, tickCounter, mountPointName);
- clear(DeviceMonitorProblems.connectionLossOAM);
- synchronized(lockNe) {
- this.ne = neParam;
- this.mountpointConnectingStateSupervision = false;
- }
- stopDisconnectSupervision();
- }
-
- /**
- * If ne is disconnected do the related actions.
- * - Mountpoint exists. Status is Connecting or UnableToConnect
- */
-
- public void deviceDisconnectIndication() {
- LOG.info("{} {} Disconnect {} and start.", LOGMARKER, tickCounter, mountPointName);
- clear(DeviceMonitorProblems.connectionLossOAM);
- synchronized(lockNe) {
- this.ne = null;
- this.mountpointConnectingStateSupervision = true;
- }
- startDisconnectSupervision();
- }
-
- /**
- * Do all actions to clean up the log if mountpoint has been deleted.
- * - Mountpoint removed
- * Prepare cancellation of the task and cancel task
- */
-
- public void removeMountpointIndication() {
- for (DeviceMonitorProblems problem : DeviceMonitorProblems.values()) {
- clear(problem);
- }
- //Cancel the task
- if (this.taskHandle != null) {
- this.taskHandle.cancel(false);
- LOG.info("{} {} DeviceMonitor task canceled for {}", LOGMARKER, tickCounter, mountPointName);
- } else {
- LOG.error("{} {} Task already stopped", LOGMARKER, tickCounter);
- }
- }
-
- /**
- * Referesh Alarms
- */
- public void refreshAlarms() {
- LOG.debug("{} Start refresh of all problems",LOGMARKER);
- synchronized(currentProblems) {
- for (DeviceMonitorProblems problem : currentProblems) {
- LOG.debug("{} Refresh problem {} Raised-status {}",LOGMARKER, problem.name(), currentProblems.contains(problem));
- odlEventListener.onProblemNotification(mountPointName, problem.name(), problem.getSeverity());
- }
- }
- LOG.debug("{} Finish refresh of all problems",LOGMARKER);
- }
-
- /*------------------------------------------------------------
- * Functions to clear/raise alarm
- */
-
- /**
- * Raise a problem, but only once
- * @param problem
- */
- private void raise(DeviceMonitorProblems problem) {
- LOG.debug("{} Raise problem {} Raised-status {}",LOGMARKER, problem.name(), currentProblems.contains(problem));
- synchronized(currentProblems) {
- if (! currentProblems.contains(problem)) {
- currentProblems.add(problem);
- odlEventListener.onProblemNotification(mountPointName, problem.name(), problem.getSeverity());
- }
- }
- }
-
- /**
- * Raise a problem, but only once
- * @param problem
- */
- private void clear(DeviceMonitorProblems problem) {
- LOG.debug("{} Clear problem {} Raised-status {}",LOGMARKER, problem.name(), currentProblems.contains(problem));
- synchronized(currentProblems) {
- if (currentProblems.contains(problem)) {
- currentProblems.remove(problem);
- odlEventListener.onProblemNotification(mountPointName, problem.name(), InternalSeverity.NonAlarmed);
- }
- }
- }
-
- /**
- * Process problem notification cascade
- * @param isReachable
- * @param problem
- */
- private void clearRaiseIfConnected(Checker checker, DeviceMonitorProblems problem) {
- LOG.debug("{} check start {} problem {} Raised-status {}",LOGMARKER, tickCounter, problem.name(), currentProblems.contains(problem));
- if (checker.isConnected()) {
- clear(problem);
- } else {
- raise(problem);
- }
- LOG.debug("{} check end {} problem {} Raised-status {}",LOGMARKER, tickCounter, problem.name(), currentProblems.contains(problem));
- }
-
- /*------------------------------------------------------------
- * Functions to start/stop
- */
-
- private void startDisconnectSupervision() {
- synchronized(lockDisconnectSupervisionTickout) {
- this.disconnectSupervisionTickout = 2;
- }
- }
-
- private void stopDisconnectSupervision() {
- synchronized(lockDisconnectSupervisionTickout) {
- this.disconnectSupervisionTickout = 0;
- }
- }
-
- private boolean processDisconnectSupervisionAndCheckExceeded() {
- synchronized(lockDisconnectSupervisionTickout) {
- if (disconnectSupervisionTickout == 0) {
- return true;
- } else if (disconnectSupervisionTickout > 0) {
- disconnectSupervisionTickout--;
- }
- return false;
- }
- }
-
- /*------------------------------------------------------------
- * TASK
- */
-
- /**
- * Task to monitor connectivity to Network Elements.
- * Connectivity problems lead to alarm indication.
- */
- @Override
- public void run() {
-
- try {
- LOG.debug("{} UTCTime {} START mountpoint {} tick {} connecting supervision {} tickout {}",
- LOGMARKER,
- NETCONFTIME_CONVERTER.getTimeStamp(),
- mountPointName,
- tickCounter,
- mountpointConnectingStateSupervision,
- disconnectSupervisionTickout);
-
- if (mountpointConnectingStateSupervision) {
- LOG.debug("{} {} Mountpoint supervision {}", LOGMARKER, tickCounter, mountPointName);
- if (processDisconnectSupervisionAndCheckExceeded()) {
- raise(DeviceMonitorProblems.connectionLossOAM);
- }
-
- } else {
- synchronized (lockNe) {
- if (ne != null) {
- //checks during "Connected"
- clear(DeviceMonitorProblems.connectionLossOAM); //Always cleared never raised
- LOG.debug("{} {} Prepare check", LOGMARKER, tickCounter);
- ne.prepareCheck(); // Prepare ne check
- // Mediator check
- LOG.debug("{} {} Mediator check", LOGMARKER, tickCounter);
- clearRaiseIfConnected(checkConnectionToMediator, DeviceMonitorProblems.connectionLossMediator);
-
- // NE check
- LOG.debug("{} {} Ne check", LOGMARKER, tickCounter);
- clearRaiseIfConnected(checkConnectionToNe, DeviceMonitorProblems.connectionLossNeOAM);
- } else {
- //Monitor switch off.
- LOG.debug("{} {} Monitor switch off state", LOGMARKER, tickCounter);
- clear(DeviceMonitorProblems.connectionLossOAM); //Always cleared never raised
- clear(DeviceMonitorProblems.connectionLossMediator); //Always cleared never raised
- clear(DeviceMonitorProblems.connectionLossNeOAM); //Always cleared never raised
- }
- }
- }
- } catch (Exception e) {
- //Prevent stopping the task
- LOG.warn("{} {} During DeviceMontoring task",LOGMARKER, tickCounter, e);
- }
- LOG.debug("{} {} END", LOGMARKER, tickCounter++);
-
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/config/DmConfig.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/config/DmConfig.java
deleted file mode 100644
index 215d8272d..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/devicemonitor/impl/config/DmConfig.java
+++ /dev/null
@@ -1,67 +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.devicemonitor.impl.config;
-
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.Configuration;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.devicemonitor.impl.DeviceMonitorProblems;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-
-/**
- * Configuration of devicemonitor, section [devicemonitor]
- * SeverityConnectionlossNeOAM=minor
- * SeverityConnectionlossOAM=major
- * SeverityConnectionlossMediator=critical
- */
-public class DmConfig implements Configuration {
-
- private static final String SECTION_MARKER_TA = "devicemonitor";
-
- private static final String PROPERTY_KEY_PREFIX_Severity = "Severity";
-
- private final ConfigurationFileRepresentation configuration;
-
- public DmConfig(ConfigurationFileRepresentation configuration) {
- this.configuration = configuration;
- this.configuration.addSection(SECTION_MARKER_TA);
- defaults();
- }
-
- public InternalSeverity getSeverity(DeviceMonitorProblems problem) {
- String severityString = configuration.getProperty(SECTION_MARKER_TA, getPropertyName(problem));
- InternalSeverity result = InternalSeverity.valueOfString(severityString);
- return result != null ? result : InternalSeverity.Major;
- }
-
- @Override
- public String getSectionName() {
- return SECTION_MARKER_TA;
- }
-
- @Override
- public void defaults() {
- for (DeviceMonitorProblems problem : DeviceMonitorProblems.values()) {
- configuration.setPropertyIfNotAvailable(SECTION_MARKER_TA, getPropertyName(problem), problem.getSeverity().name());
- }
- }
-
- private String getPropertyName(DeviceMonitorProblems problem) {
- return PROPERTY_KEY_PREFIX_Severity+problem.name();
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/housekeeping/ConnectionStatusHousekeepingService.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/housekeeping/ConnectionStatusHousekeepingService.java
deleted file mode 100644
index d42537650..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/housekeeping/ConnectionStatusHousekeepingService.java
+++ /dev/null
@@ -1,192 +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.housekeeping;
-
-import com.google.common.util.concurrent.FluentFuture;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-import java.util.List;
-import java.util.NoSuchElementException;
-import java.util.Optional;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import org.eclipse.jdt.annotation.NonNull;
-import org.onap.ccsdk.features.sdnr.wt.base.netconf.util.InternalConnectionStatus;
-import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService;
-import org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.network.topology.topology.topology.types.TopologyNetconf;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ConnectionLogStatus;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementConnectionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementConnectionEntity;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ConnectionStatusHousekeepingService implements ClusterSingletonService,AutoCloseable {
-
- private static final Logger LOG = LoggerFactory.getLogger(ConnectionStatusHousekeepingService.class);
-
- private static final long INTERVAL_SECONDS = 30;
- private static final InstanceIdentifier<Topology> NETCONF_TOPO_IID = InstanceIdentifier
- .create(NetworkTopology.class)
- .child(Topology.class, new TopologyKey(new TopologyId(TopologyNetconf.QNAME.getLocalName())));
- private static final ServiceGroupIdentifier IDENT = ServiceGroupIdentifier.create("ConnectionStatusHousekeepingService");
-
- private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(3);
- private final DataBroker dataBroker;
- private final DataProvider dataProvider;
- private boolean isMaster;
- private Future<?> taskReference;
-
- private final Runnable runner = () -> doClean();
-
- public ConnectionStatusHousekeepingService(DataBroker dataBroker, DataProvider dataProvider) {
- this.dataBroker = dataBroker;
- this.dataProvider = dataProvider;
- this.start();
- }
-
- public void start() {
- if (taskReference != null) {
- taskReference.cancel(false);
- }
- if(!isMaster) {
- LOG.info("do not start. not the master node");
- return;
- }
- LOG.info("starting scheduler with interval {}", INTERVAL_SECONDS);
- this.taskReference = this.scheduler.scheduleAtFixedRate(runner, INTERVAL_SECONDS, INTERVAL_SECONDS,
- TimeUnit.SECONDS);
- }
-
- private void doClean() {
- LOG.debug("start housekeeping");
- // get all devices from networkelement-connection index
- try {
- List<NetworkElementConnectionEntity> list = this.dataProvider.getNetworkElementConnections();
-
- ConnectionLogStatus dbStatus;
- ConnectionLogStatus mdsalStatus;
- String nodeId;
- if (list == null || list.size() <= 0) {
- LOG.trace("no items in list.");
- return;
- }
- for (NetworkElementConnectionEntity item : list) {
-
- // compare with MD-SAL
- nodeId = item.getNodeId();
- LOG.trace("check status of {}", nodeId);
- dbStatus = item.getStatus();
- mdsalStatus = this.getMDSalConnectionStatus(nodeId);
- if (mdsalStatus == null) {
- LOG.trace("unable to get connection status. jump over");
- continue;
- }
- // if different then update db
- if (dbStatus != mdsalStatus) {
- LOG.trace("status is inconsistent db={}, mdsal={}. updating db", dbStatus, mdsalStatus);
- if(!item.isIsRequired() && mdsalStatus==ConnectionLogStatus.Disconnected) {
- this.dataProvider.removeNetworkConnection(nodeId);
- }
- else {
- this.dataProvider.updateNetworkConnectionDeviceType(
- new NetworkElementConnectionBuilder().setStatus(mdsalStatus).build(), nodeId);
- }
- } else {
- LOG.trace("no difference");
- }
-
- }
- } catch (Exception e) {
- LOG.warn("problem executing housekeeping task: {}", e);
- }
- LOG.debug("finish housekeeping");
- }
-
- private ConnectionLogStatus getMDSalConnectionStatus(String nodeId) {
-
- @SuppressWarnings("null")
- @NonNull InstanceIdentifier<Node> instanceIdentifier = NETCONF_TOPO_IID.child(Node.class,
- new NodeKey(new NodeId(nodeId)));
- FluentFuture<Optional<Node>> optionalNode = this.dataBroker.newReadOnlyTransaction()
- .read(LogicalDatastoreType.OPERATIONAL, instanceIdentifier);
- try {
- Node node = optionalNode.get(5, TimeUnit.SECONDS).get();
- LOG.debug("node is {}", node);
- NetconfNode nNode = node.augmentation(NetconfNode.class);
- LOG.debug("nnode is {}", nNode);
- if (nNode != null) {
- return InternalConnectionStatus.statusFromNodeStatus(nNode.getConnectionStatus());
- }
- } catch (NoSuchElementException e) {
- return ConnectionLogStatus.Disconnected;
- } catch (ExecutionException | InterruptedException | TimeoutException e) {
- LOG.warn("unable to get node info: {}", e);
- }
-
- return null;
- }
-
- @Override
- public void close() throws Exception {
- if (taskReference != null) {
- taskReference.cancel(false);
- }
- this.scheduler.shutdown();
- }
-
- @SuppressWarnings("null")
- @Override
- public @NonNull ServiceGroupIdentifier getIdentifier() {
- return IDENT;
- }
-
- @Override
- public void instantiateServiceInstance() {
- LOG.info("We take Leadership");
- this.isMaster=true;
- this.start();
- }
-
- @Override
- public ListenableFuture<? extends Object> closeServiceInstance() {
- LOG.info("We lost Leadership");
- this.isMaster=false;
- this.start();
- return Futures.immediateFuture(null);
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/housekeeping/ResyncNetworkElementHouskeepingService.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/housekeeping/ResyncNetworkElementHouskeepingService.java
deleted file mode 100644
index b9d09afac..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/housekeeping/ResyncNetworkElementHouskeepingService.java
+++ /dev/null
@@ -1,168 +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.housekeeping;
-
-import java.util.ArrayList;
-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.dataprovider.model.DataProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElement;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.devicemonitor.impl.DeviceMonitor;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.DeviceManagerImpl;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.handler.ODLEventListenerHandler;
-import org.opendaylight.mdsal.binding.api.MountPoint;
-import org.opendaylight.mdsal.binding.api.MountPointService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.network.topology.topology.topology.types.TopologyNetconf;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ResyncNetworkElementHouskeepingService implements ResyncNetworkElementsListener {
-
- private static final Logger LOG = LoggerFactory.getLogger(ResyncNetworkElementHouskeepingService.class);
-
- private static final InstanceIdentifier<Topology> NETCONF_TOPO_IID =
- InstanceIdentifier.create(NetworkTopology.class).child(Topology.class,
- new TopologyKey(new TopologyId(TopologyNetconf.QNAME.getLocalName())));
-
- // Services to use
- private final MountPointService mountPointService;
- private final ODLEventListenerHandler odlEventListenerHandler;
- private final DataProvider databaseClientEvents;
- private @Nullable final DeviceMonitor deviceMonitor;
- private final DeviceManagerImpl deviceManager;
-
- /** Thread is started to du the clean up action **/
- private Thread threadDoClearCurrentFaultByNodename;
- /** Indicate number of refresh activities for log **/
- private int refreshCounter = 0;
-
- /**
- * @param deviceManager to provide devices information
- * @param mountPointService service
- * @param odlEventListenerHandler handler for events
- * @param databaseClientEvents database to clean
- * @param deviceMonitor devicemonitor
- */
- public ResyncNetworkElementHouskeepingService(
- DeviceManagerImpl deviceManager,
- MountPointService mountPointService, ODLEventListenerHandler odlEventListenerHandler,
- DataProvider databaseClientEvents, DeviceMonitor deviceMonitor) {
- super();
- this.deviceManager = deviceManager;
- this.mountPointService = mountPointService;
- this.odlEventListenerHandler = odlEventListenerHandler;
- this.databaseClientEvents = databaseClientEvents;
- this.deviceMonitor = deviceMonitor;
- }
-
- /**
- * Async RPC Interface implementation
- */
- @Override
- public @NonNull List<String> doClearCurrentFaultByNodename(@Nullable List<String> nodeNamesInput)
- throws IllegalStateException {
-
- if (this.databaseClientEvents == null) {
- throw new IllegalStateException("dbEvents service not instantiated");
- }
-
- if (threadDoClearCurrentFaultByNodename != null && threadDoClearCurrentFaultByNodename.isAlive()) {
- throw new IllegalStateException("A clear task is already active");
- } else {
-
- // Create list of mountpoints if input is empty, using the content in ES
- if (nodeNamesInput == null || nodeNamesInput.size() <= 0) {
- nodeNamesInput = this.databaseClientEvents.getAllNodesWithCurrentAlarms();
- }
-
- // Filter all mountpoints from input that were found and are known to this Cluster-node instance of
- // DeviceManager
- final List<String> nodeNamesHandled = new ArrayList<>();
- for (String mountpointName : nodeNamesInput) {
- LOG.info("Work with mountpoint {}", mountpointName);
-
- if (odlEventListenerHandler != null && mountpointName.equals(odlEventListenerHandler.getOwnKeyName())) {
-
- // SDN Controller related alarms
- // -- can not be recreated on all nodes in connected state
- // -- would result in a DCAE/AAI Notification
- // Conclusion for 1810 Delivery ... not covered by RPC function (See issue #43)
- LOG.info("Ignore SDN Controller related alarms for {}", mountpointName);
- // this.databaseClientEvents.clearFaultsCurrentOfNode(mountpointName);
- // nodeNamesHandled.add(mountpointName);
-
- } else {
-
- if (mountPointService != null) {
- InstanceIdentifier<Node> instanceIdentifier =
- NETCONF_TOPO_IID.child(Node.class, new NodeKey(new NodeId(mountpointName)));
- Optional<MountPoint> optionalMountPoint = mountPointService.getMountPoint(instanceIdentifier);
-
- if (!optionalMountPoint.isPresent()) {
- LOG.info("Remove Alarms for unknown mountpoint {}", mountpointName);
- this.databaseClientEvents.clearFaultsCurrentOfNode(mountpointName);
- nodeNamesHandled.add(mountpointName);
- } else {
- if (deviceManager.getNeByMountpoint(mountpointName) != null) {
- LOG.info("At node known mountpoint {}", mountpointName);
- nodeNamesHandled.add(mountpointName);
- } else {
- LOG.info("At node unknown mountpoint {}", mountpointName);
- }
- }
- }
- }
- }
-
- // Force a sync
- deviceMonitor.refreshAlarmsInDb();
-
- threadDoClearCurrentFaultByNodename = new Thread(() -> {
- refreshCounter++;
- LOG.info("Start refresh mountpoint task {}", refreshCounter);
- // for(String nodeName:nodeNamesOutput) {
- for (String nodeName : nodeNamesHandled) {
- NetworkElement ne = deviceManager.getNeByMountpoint(nodeName);
- if (ne != null) {
- LOG.info("Refresh mountpoint {}", nodeName);
- ne.warmstart();
- } else {
- LOG.info("Unhandled mountpoint {}", nodeName);
- }
- }
- LOG.info("End refresh mountpoint task {}", refreshCounter);
- });
- threadDoClearCurrentFaultByNodename.start();
- return nodeNamesHandled;
- }
- };
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/housekeeping/ResyncNetworkElementsListener.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/housekeeping/ResyncNetworkElementsListener.java
deleted file mode 100644
index 751d48cda..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/housekeeping/ResyncNetworkElementsListener.java
+++ /dev/null
@@ -1,35 +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.housekeeping;
-
-import java.util.List;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-
-
-public interface ResyncNetworkElementsListener
-{
- /**
- * Handle API Request and clean up current alarms according to the list of mountpoint id's/devices
- * Implement RPC function "clear-current-fault-by-nodename"
- * @return List with
- * @throws IllegalStateException Illegal state exception
- */
- public @NonNull List<String> doClearCurrentFaultByNodename(@Nullable List<String> nodeNamesInput) throws IllegalStateException;
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DeviceManagerApiServiceImpl.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DeviceManagerApiServiceImpl.java
deleted file mode 100644
index 9a2b81cbb..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DeviceManagerApiServiceImpl.java
+++ /dev/null
@@ -1,239 +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.impl;
-
-import java.util.List;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.housekeeping.ResyncNetworkElementsListener;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.maintenance.MaintenanceRPCServiceAPI;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.maintenance.impl.MaintenanceServiceImpl;
-import org.opendaylight.mdsal.binding.api.RpcProviderService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.ClearCurrentFaultByNodenameInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.ClearCurrentFaultByNodenameOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.ClearCurrentFaultByNodenameOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.DevicemanagerService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.GetMaintenanceModeInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.GetMaintenanceModeOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.GetMaintenanceModeOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.GetRequiredNetworkElementKeysInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.GetRequiredNetworkElementKeysOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.GetRequiredNetworkElementKeysOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.PushAttributeChangeNotificationInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.PushAttributeChangeNotificationOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.PushFaultNotificationInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.PushFaultNotificationOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.SetMaintenanceModeInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.SetMaintenanceModeOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.SetMaintenanceModeOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.ShowRequiredNetworkElementInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.ShowRequiredNetworkElementOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.ShowRequiredNetworkElementOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.TestMaintenanceModeInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.TestMaintenanceModeOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.TestMaintenanceModeOutputBuilder;
-import org.opendaylight.yangtools.concepts.ObjectRegistration;
-import org.opendaylight.yangtools.yang.common.RpcError.ErrorType;
-import org.opendaylight.yangtools.yang.common.RpcResult;
-import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-public class DeviceManagerApiServiceImpl implements DevicemanagerService, AutoCloseable {
-
- private static final Logger LOG = LoggerFactory.getLogger(DevicemanagerService.class);
-
- private final ObjectRegistration<DevicemanagerService> rpcReg;
- private @Nullable
- final MaintenanceRPCServiceAPI maintenanceService;
- private @Nullable
- final PushNotifications pushNotificationsListener;
- private @Nullable
- final ResyncNetworkElementsListener resyncCallbackListener;
-
- DeviceManagerApiServiceImpl(final RpcProviderService rpcProviderRegistry,
- MaintenanceServiceImpl maintenanceService, ResyncNetworkElementsListener listener,
- PushNotifications pushNotificationsListener) {
- this.maintenanceService = maintenanceService;
- this.pushNotificationsListener = pushNotificationsListener;
- this.resyncCallbackListener = listener;
-
- // Register ourselves as the REST API RPC implementation
- LOG.info("Register RPC Service "+DevicemanagerService.class.getSimpleName());
- this.rpcReg = rpcProviderRegistry.registerRpcImplementation(DevicemanagerService.class, this);
- }
-
- @Override
- public void close() throws Exception {
- LOG.info("Close RPC Service");
- if (rpcReg != null) {
- rpcReg.close();
- }
- }
-
- /*-------------------------------
- * Interfaces for MaintenanceService
- */
-
- @Override
- public ListenableFuture<RpcResult<GetRequiredNetworkElementKeysOutput>> getRequiredNetworkElementKeys(
- GetRequiredNetworkElementKeysInput input) {
- return getRequiredNetworkElementKeys();
- }
-
- // For casablanca version no input was generated.
- public ListenableFuture<RpcResult<GetRequiredNetworkElementKeysOutput>> getRequiredNetworkElementKeys() {
-
- LOG.info("RPC Request: getRequiredNetworkElementKeys");
- RpcResultBuilder<GetRequiredNetworkElementKeysOutput> result;
- try {
- GetRequiredNetworkElementKeysOutputBuilder outputBuilder = maintenanceService.getRequiredNetworkElementKeys();
- result = RpcResultBuilder.success(outputBuilder);
- } catch (Exception e) {
- result = RpcResultBuilder.failed();
- result.withError(ErrorType.APPLICATION, "Exception", e);
- }
- return result.buildFuture();
- }
-
- @Override
- public ListenableFuture<RpcResult<ShowRequiredNetworkElementOutput>> showRequiredNetworkElement(
- ShowRequiredNetworkElementInput input) {
-
- LOG.info("RPC Request: showRequiredNetworkElement input: {}", input.getMountpointName());
- RpcResultBuilder<ShowRequiredNetworkElementOutput> result;
-
- try {
- ShowRequiredNetworkElementOutputBuilder outputBuilder = maintenanceService.showRequiredNetworkElement(input);
- result = RpcResultBuilder.success(outputBuilder);
- } catch (Exception e) {
- result = RpcResultBuilder.failed();
- result.withError(ErrorType.APPLICATION, "Exception", e);
- }
- return result.buildFuture();
- }
-
- @Override
- public ListenableFuture<RpcResult<SetMaintenanceModeOutput>> setMaintenanceMode(SetMaintenanceModeInput input) {
-
- LOG.info("RPC Request: setMaintenanceMode input: {}", input.getNodeId());
- RpcResultBuilder<SetMaintenanceModeOutput> result;
-
- try {
- SetMaintenanceModeOutputBuilder outputBuilder = maintenanceService.setMaintenanceMode(input);
- result = RpcResultBuilder.success(outputBuilder);
- } catch (Exception e) {
- result = RpcResultBuilder.failed();
- result.withError(ErrorType.APPLICATION, "Exception", e);
- }
- return result.buildFuture();
-
- }
-
-
-
- @Override
- public ListenableFuture<RpcResult<GetMaintenanceModeOutput>> getMaintenanceMode(GetMaintenanceModeInput input) {
-
- LOG.info("RPC Request: getMaintenanceMode input: {}", input.getMountpointName());
- RpcResultBuilder<GetMaintenanceModeOutput> result;
-
- try {
- GetMaintenanceModeOutputBuilder outputBuilder = maintenanceService.getMaintenanceMode(input);
- result = RpcResultBuilder.success(outputBuilder);
- } catch (Exception e) {
- result = RpcResultBuilder.failed();
- result.withError(ErrorType.APPLICATION, "Exception", e);
- }
- return result.buildFuture();
-
- }
-
- @Override
- public ListenableFuture<RpcResult<TestMaintenanceModeOutput>> testMaintenanceMode(TestMaintenanceModeInput input) {
- LOG.info("RPC Request: getMaintenanceMode input: {}", input.getMountpointName());
- RpcResultBuilder<TestMaintenanceModeOutput> result;
-
- try {
- TestMaintenanceModeOutputBuilder outputBuilder = maintenanceService.testMaintenanceMode(input);
- result = RpcResultBuilder.success(outputBuilder);
- } catch (Exception e) {
- result = RpcResultBuilder.failed();
- result.withError(ErrorType.APPLICATION, "Exception", e);
- }
- return result.buildFuture();
-
- }
-
-
- @Override
- public ListenableFuture<RpcResult<ClearCurrentFaultByNodenameOutput>> clearCurrentFaultByNodename(
- ClearCurrentFaultByNodenameInput input) {
- LOG.info("RPC Request: clearNetworkElementAlarms input: {}", input.getNodenames());
- RpcResultBuilder<ClearCurrentFaultByNodenameOutput> result;
- try {
- if(this.resyncCallbackListener!=null) {
- List<String> nodeNames= this.resyncCallbackListener.doClearCurrentFaultByNodename(input.getNodenames());
- ClearCurrentFaultByNodenameOutputBuilder outputBuilder = new ClearCurrentFaultByNodenameOutputBuilder();
- outputBuilder.setNodenames(nodeNames);
- result = RpcResultBuilder.success(outputBuilder);
- } else {
- result = RpcResultBuilder.failed();
- result.withError(ErrorType.APPLICATION, "Startup running" );
- }
- } catch(Exception e) {
- result = RpcResultBuilder.failed();
- result.withError(ErrorType.APPLICATION, "Exception", e);
- }
- return result.buildFuture();
- }
-
- @Override
- public ListenableFuture<RpcResult<PushFaultNotificationOutput>> pushFaultNotification(
- PushFaultNotificationInput input) {
- LOG.info("RPC Received fault notification {}", input);
- RpcResultBuilder<PushFaultNotificationOutput> result;
- try {
- pushNotificationsListener.pushFaultNotification(input);
- result = RpcResultBuilder.success();
- } catch (Exception e) {
- result = RpcResultBuilder.failed();
- result.withError(ErrorType.APPLICATION, "Exception", e);
- }
- return result.buildFuture();
- }
-
- @Override
- public ListenableFuture<RpcResult<PushAttributeChangeNotificationOutput>> pushAttributeChangeNotification(
- PushAttributeChangeNotificationInput input) {
- LOG.info("RPC Received change notification {}", input);
- RpcResultBuilder<PushAttributeChangeNotificationOutput> result;
- try {
- pushNotificationsListener.pushAttributeChangeNotification(input);
- result = RpcResultBuilder.success();
- } catch (Exception e) {
- result = RpcResultBuilder.failed();
- result.withError(ErrorType.APPLICATION, "Exception", e);
- }
- return result.buildFuture();
- }
-
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DeviceManagerImpl.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DeviceManagerImpl.java
deleted file mode 100644
index d2f489646..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DeviceManagerImpl.java
+++ /dev/null
@@ -1,829 +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.impl;
-
-import java.util.List;
-import java.util.Optional;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CopyOnWriteArrayList;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
-import org.onap.ccsdk.features.sdnr.wt.database.config.EsConfig;
-import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
-import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.IEntityDataProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.DeviceManagerService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.DeviceManagerServiceProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.DeviceMonitoredNe;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.FactoryRegistration;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetconfNetworkElementService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElement;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.NetworkElementFactory;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.UnkownDevicemanagerServiceException;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.aaiconnector.impl.AaiProviderClient;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.archiveservice.ArchiveCleanService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.ONFCoreNetworkElementFactory;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.ONFCoreNetworkElementRepresentation;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl.DcaeForwarderInternal;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl.DcaeForwarderImpl;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl.DcaeProviderClient;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.devicemonitor.impl.DeviceMonitor;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.devicemonitor.impl.DeviceMonitorImpl;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.housekeeping.ConnectionStatusHousekeepingService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.housekeeping.ResyncNetworkElementHouskeepingService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.conf.odlAkka.AkkaConfig;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.conf.odlGeo.GeoConfig;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.handler.ODLEventListenerHandler;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.handler.RpcPushNotificationsHandler;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.listener.NetconfChangeListener;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.GenericTransactionUtils;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.WebSocketServiceClientInternal;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.WebSocketServiceClientDummyImpl;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.WebSocketServiceClientImpl2;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.maintenance.impl.MaintenanceServiceImpl;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.performancemanager.impl.PerformanceManagerImpl;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.performancemanager.impl.database.service.MicrowaveHistoricalPerformanceWriterService;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.INetconfAcessor;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfNodeStateService;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.MountPoint;
-import org.opendaylight.mdsal.binding.api.MountPointService;
-import org.opendaylight.mdsal.binding.api.NotificationPublishService;
-import org.opendaylight.mdsal.binding.api.RpcProviderService;
-import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
-import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceRegistration;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus.ConnectionStatus;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.ClusteredConnectionStatus;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.network.topology.topology.topology.types.TopologyNetconf;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.websocketmanager.rev150105.WebsocketmanagerService;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeKey;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Devicemanager
- * - Handles startup and closedown of network element handlers for netconf session
- * - Provide common services for network element specific components
- */
-public class DeviceManagerImpl implements NetconfNetworkElementService, DeviceManagerServiceProvider, NetconfNodeService, AutoCloseable {
-
- private static final Logger LOG = LoggerFactory.getLogger(DeviceManagerImpl.class);
- private static final String APPLICATION_NAME = "DeviceManager";
- private static final String MYDBKEYNAMEBASE = "SDN-Controller";
- private static final String CONFIGURATIONFILE = "etc/devicemanager.properties";
- public static final long DATABASE_TIMEOUT_MS = 120*1000L;
-
-
- // http://sendateodl:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf
- private static final InstanceIdentifier<Topology> NETCONF_TOPO_IID =
- InstanceIdentifier.create(NetworkTopology.class).child(Topology.class,
- new TopologyKey(new TopologyId(TopologyNetconf.QNAME.getLocalName())));
- @SuppressWarnings("unused")
- private static final String STARTUPLOG_FILENAME = "etc/devicemanager.startup.log";
- // private static final String STARTUPLOG_FILENAME2 = "data/cache/devicemanager.startup.log";
-
- // MDSAL Services
- private DataBroker dataBroker;
- private MountPointService mountPointService;
- private RpcProviderService rpcProviderRegistry;
- @SuppressWarnings("unused")
- private NotificationPublishService notificationPublishService;
- private ClusterSingletonServiceProvider clusterSingletonServiceProvider;
- private WebsocketmanagerService websocketmanagerService;
- private IEntityDataProvider iEntityDataProvider;
-
- // Devicemanager common services for network element handler
- private @Nullable WebSocketServiceClientInternal webSocketService;
- private ODLEventListenerHandler odlEventListenerHandler;
- private NetconfChangeListener netconfChangeListener;
- private DeviceManagerApiServiceImpl rpcApiService;
- private PerformanceManagerImpl performanceManager;
- private DcaeProviderClient dcaeProviderClient;
- private AaiProviderClient aaiProviderClient;
- private DcaeForwarderInternal aotsDcaeForwarder;
- private DeviceMonitor deviceMonitor;
- private MaintenanceServiceImpl maintenanceService;
- private DevicemanagerNotificationDelayService notificationDelayService;
- private ResyncNetworkElementHouskeepingService resyncNetworkElementHouskeepingService;
- private ArchiveCleanService archiveCleanService;
- private ConnectionStatusHousekeepingService housekeepingService;
- private NetconfNodeStateService netconfNodeStateService;
- private DataProvider dataProvider;
- private HtDatabaseClient htDatabaseClient;
- // Handler
- private RpcPushNotificationsHandler rpcPushNotificationsHandler;
- private DeviceManagerNetconfConnectHandler forTest;
- private final TransactionUtils transactionUtils;
- // Attributes
- private final Object networkelementLock;
- private final ConcurrentHashMap<String, NetworkElement> networkElementRepresentations;
- private final List<MyNetworkElementFactory<? extends NetworkElementFactory>> factoryList;
- private AkkaConfig akkaConfig;
- private ClusterSingletonServiceRegistration cssRegistration;
- private ClusterSingletonServiceRegistration cssRegistration2;
- private Boolean devicemanagerInitializationOk;
-
- // Blueprint 1
- public DeviceManagerImpl() {
- LOG.info("Creating provider for {}", APPLICATION_NAME);
- this.devicemanagerInitializationOk = false;
- this.factoryList = new CopyOnWriteArrayList<>();
- this.networkelementLock = new Object();
- this.networkElementRepresentations = new ConcurrentHashMap<>();
- this.transactionUtils = new GenericTransactionUtils();
-
- this.dataBroker = null;
- this.mountPointService = null;
- this.rpcProviderRegistry = null;
- this.notificationPublishService = null;
- this.clusterSingletonServiceProvider = null;
- this.websocketmanagerService = null;
- this.iEntityDataProvider = null;
-
- this.webSocketService = null;
- }
-
- public void setDataBroker(DataBroker dataBroker) {
- this.dataBroker = dataBroker;
- }
-
- public void setRpcProviderRegistry(RpcProviderService rpcProviderRegistry) {
- this.rpcProviderRegistry = rpcProviderRegistry;
- }
-
- public void setNotificationPublishService(NotificationPublishService notificationPublishService) {
- this.notificationPublishService = notificationPublishService;
- }
-
- public void setMountPointService(MountPointService mountPointService) {
- this.mountPointService = mountPointService;
- }
- public void setClusterSingletonService(ClusterSingletonServiceProvider clusterSingletonService) {
- this.clusterSingletonServiceProvider = clusterSingletonService;
- }
- public void setNetconfNodeStateService(NetconfNodeStateService netconfNodeStateService) {
- this.netconfNodeStateService = netconfNodeStateService;
- }
- public void setWebsocketmanagerService(WebsocketmanagerService websocketmanagerService) {
- this.websocketmanagerService = websocketmanagerService;
- }
- public void setEntityDataProvider(IEntityDataProvider iEntityDataProvider) {
- this.iEntityDataProvider = iEntityDataProvider;
- }
-
- public void init() throws Exception {
-
- LOG.info("Session Initiated start {}", APPLICATION_NAME);
- this.iEntityDataProvider.setReadyStatus(false);
-
- // Register network element factories and related init functions
- registerMyNetworkElementFactory(new ONFCoreNetworkElementFactory(), (a,b,c) -> initONFCoremodel(a,b,(ONFCoreNetworkElementRepresentation)c));
- //registerMyNetworkElementFactory(new ORanNetworkElementFactory(), (a,b,c) -> initORan(a,b,(ONFCoreNetworkElementRepresentation)c));
- //registerMyNetworkElementFactory(new NtsNetworkElementFactory(), (a,b,c) -> initNts(a,b,(ONFCoreNetworkElementRepresentation)c));
- //registerMyNetworkElementFactory(new GRanNetworkElementFactory(), (a,b,c) -> initGRan(a,b,(ONFCoreNetworkElementRepresentation)c));
-
- this.dataProvider = iEntityDataProvider.getDataProvider(); // Get configuration
-
- ConfigurationFileRepresentation config = new ConfigurationFileRepresentation(CONFIGURATIONFILE);
-
- this.akkaConfig = loadClusterConfiguration();
- this.notificationDelayService = new DevicemanagerNotificationDelayService(config);
-
- EsConfig dbConfig = new EsConfig(config);
- LOG.debug("esConfig=" + dbConfig.toString());
- // Start database
- // TODO Remove this database client
- this.htDatabaseClient = new HtDatabaseClient(dbConfig.getHosts());
- this.htDatabaseClient.waitForYellowStatus(DATABASE_TIMEOUT_MS);
-
- // start service for device maintenance service
- this.maintenanceService = new MaintenanceServiceImpl(htDatabaseClient);
-
- // Websockets
- try {
- this.webSocketService = new WebSocketServiceClientImpl2(websocketmanagerService);
- } catch (Exception e) {
- LOG.error("Can not start websocket service. Loading mock class.", e);
- this.webSocketService = new WebSocketServiceClientDummyImpl();
- }
- // DCAE
- this.dcaeProviderClient = new DcaeProviderClient(config, dbConfig.getCluster(), this);
-
- this.aaiProviderClient = new AaiProviderClient(config, this);
- // EM
- String myDbKeyNameExtended = MYDBKEYNAMEBASE + "-" + dbConfig.getCluster();
-
- this.aotsDcaeForwarder = new DcaeForwarderImpl(null, dcaeProviderClient, maintenanceService);
- this.rpcPushNotificationsHandler = new RpcPushNotificationsHandler(webSocketService,
- dataProvider, aotsDcaeForwarder);
- this.odlEventListenerHandler = new ODLEventListenerHandler(myDbKeyNameExtended, webSocketService,
- dataProvider, aotsDcaeForwarder);
- this.archiveCleanService = new ArchiveCleanService(config, dataProvider);
- this.housekeepingService = new ConnectionStatusHousekeepingService(this.dataBroker,
- dataProvider);
- this.cssRegistration = this.clusterSingletonServiceProvider
- .registerClusterSingletonService(this.archiveCleanService);
- this.cssRegistration2 = this.clusterSingletonServiceProvider
- .registerClusterSingletonService(this.housekeepingService);
- // PM
- this.performanceManager = new PerformanceManagerImpl(60, new MicrowaveHistoricalPerformanceWriterService(htDatabaseClient), config);
-
- // DM
- // DeviceMonitor has to be available before netconfSubscriptionManager is
- // configured
- LOG.debug("start DeviceMonitor Service");
- this.deviceMonitor = new DeviceMonitorImpl(dataBroker, odlEventListenerHandler, config);
-
- // ResyncNetworkElementHouskeepingService
- this.resyncNetworkElementHouskeepingService = new ResyncNetworkElementHouskeepingService(
- this, mountPointService, odlEventListenerHandler,
- dataProvider, deviceMonitor);
-
- // RPC Service for specific services
- // Start RPC Service
- LOG.debug("start rpc service");
- this.rpcApiService = new DeviceManagerApiServiceImpl(rpcProviderRegistry, maintenanceService,
- resyncNetworkElementHouskeepingService, rpcPushNotificationsHandler);
-
- // netconfSubscriptionManager should be the last one because this is a callback
- // service
- LOG.debug("start NetconfSubscriptionManager Service");
- // this.netconfSubscriptionManager = new
- // NetconfSubscriptionManagerOfDeviceManager(this, dataBroker);
- // this.netconfSubscriptionManager.register();
- this.netconfChangeListener = new NetconfChangeListener(this, dataBroker);
- this.netconfChangeListener.register();
-
- this.forTest = new DeviceManagerNetconfConnectHandler(netconfNodeStateService);
-
- writeToEventLog(APPLICATION_NAME, "startup", "done");
- this.devicemanagerInitializationOk = true;
-
- LOG.info("Session Initiated end. Initialization done {}", devicemanagerInitializationOk);
- this.iEntityDataProvider.setReadyStatus(true);
-
- }
-
- @Override
- public void close() {
- LOG.info("DeviceManagerImpl closing ...");
- close(performanceManager);
- close(dcaeProviderClient);
- close(aaiProviderClient);
- close(deviceMonitor);
- close(htDatabaseClient);
- close(netconfChangeListener);
- close(maintenanceService);
- close(rpcApiService);
- close(notificationDelayService);
- close(archiveCleanService);
- close(housekeepingService);
- close(forTest);
- close(cssRegistration, cssRegistration2);
- LOG.info("DeviceManagerImpl closing done");
- }
-
- @Override
- public @NonNull <L extends NetworkElementFactory> FactoryRegistration<L> registerNetworkElementFactory(@NonNull L factory) {
- LOG.info("Factory registration {}", factory.getClass().getName());
- MyNetworkElementFactory<L> myFactory = new MyNetworkElementFactory<>(factory, (a,b,c) -> initDefault(a,b,c));
- factoryList.add(myFactory);
- return new FactoryRegistration<L>() {
-
- @Override
- public @NonNull L getInstance() {
- return myFactory.getFactory();
- }
-
- @Override
- public void close() {
- factoryList.remove(myFactory);
- }
-
- };
- }
-
- private <L extends NetworkElementFactory> void registerMyNetworkElementFactory(@NonNull L factory,
- Register<String, MountPoint, NetworkElement> init) {
- factoryList.add(new MyNetworkElementFactory<>(factory, init));
- }
-
-
- @Override
- public @NonNull DataProvider getDataProvider() {
- return this.dataProvider;
- }
-
- /**
- * Used to close all Services, that should support AutoCloseable Pattern
- * @param toClose
- */
- private void close(AutoCloseable... toCloseList) {
- for (AutoCloseable element : toCloseList) {
- if (element != null) {
- try {
- element.close();
- } catch (Exception e) {
- LOG.warn("Problem during close {}", e);
- }
- }
- }
- }
-
- /*-------------------------------------------------------------------------------------------
- * Functions for interface DeviceManagerService
- */
-
- /**
- * For each mounted device a mountpoint is created and this listener is called.
- * Mountpoint was created or existing. Managed device is now fully connected to node/mountpoint.
- * @param action provide action
- * @param nNodeId id of the mountpoint
- * @param nNode mountpoint contents
- */
- public void startListenerOnNodeForConnectedState(Action action, NodeId nNodeId, NetconfNode nNode) {
-
- String mountPointNodeName = nNodeId.getValue();
- LOG.info("Starting Event listener on Netconf for mountpoint {} Action {}", mountPointNodeName, action);
-
- boolean preConditionMissing = false;
- if (mountPointService == null) {
- preConditionMissing = true;
- LOG.warn("No mountservice available.");
- }
- if (!devicemanagerInitializationOk) {
- preConditionMissing = true;
- LOG.warn("Devicemanager initialization still pending.");
- }
- if (preConditionMissing) {
- return;
- }
-
- if (!isNetconfNodeMaster(nNode)) {
- // Change Devicemonitor-status to connected ... for non master mountpoints.
- deviceMonitor.deviceConnectSlaveIndication(mountPointNodeName);
- } else {
-
- InstanceIdentifier<Node> instanceIdentifier = NETCONF_TOPO_IID.child(Node.class,
- new NodeKey(nNodeId));
-
- Optional<MountPoint> optionalMountPoint = waitForMountpoint(instanceIdentifier, mountPointNodeName);
-
-
- if (!optionalMountPoint.isPresent()) {
- LOG.warn("Event listener timeout while waiting for mount point for Netconf device :: Name : {} ",
- mountPointNodeName);
- } else {
- // Mountpoint is present for sure
- MountPoint mountPoint = optionalMountPoint.get();
- // BindingDOMDataBrokerAdapter.BUILDER_FACTORY;
- LOG.info("Mountpoint with id: {} class {} toString {}", mountPoint.getIdentifier(),
- mountPoint.getClass().getName(), mountPoint);
-
- Optional<DataBroker> optionalNetconfNodeDatabroker = mountPoint.getService(DataBroker.class);
- if (!optionalNetconfNodeDatabroker.isPresent()) {
- LOG.info("Slave mountpoint {} without databroker", mountPointNodeName);
- } else {
-
- // It is master for mountpoint and all data are available.
- // Make sure that specific mountPointNodeName is handled only once.
- // be aware that startListenerOnNodeForConnectedState could be called multiple
- // times for same mountPointNodeName.
- // networkElementRepresentations contains handled NEs at master node.
-
- synchronized (networkelementLock) {
- if (networkElementRepresentations.containsKey(mountPointNodeName)) {
- LOG.warn("Mountpoint {} already registered. Leave startup procedure.", mountPointNodeName);
- return;
- }
- }
- // update db with connect status
- sendUpdateNotification(mountPointNodeName, nNode.getConnectionStatus(), nNode);
-
- DataBroker netconfNodeDataBroker = optionalNetconfNodeDatabroker.get();
- LOG.info("Master mountpoint {}", mountPointNodeName);
- INetconfAcessor acessor = new NetconfAccessor(nNodeId, nNode, netconfNodeDataBroker, mountPoint, transactionUtils);
-
- for (MyNetworkElementFactory<? extends NetworkElementFactory> f : factoryList) {
- Optional<NetworkElement> optionalNe = f.getFactory().create(acessor, this);
- if (optionalNe.isPresent()) {
- f.getInit().register(mountPointNodeName, mountPoint, optionalNe.get());
- break; //Use the first provided
- }
- }
- }
- }
- }
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public @NonNull <L extends DeviceManagerService> L getService(Class<L> serviceInterface) throws UnkownDevicemanagerServiceException {
- if (serviceInterface.isInstance(webSocketService)) {
- return (L) this.webSocketService;
- } else if (serviceInterface.isInstance(aotsDcaeForwarder)) {
- return (L) this.aotsDcaeForwarder;
- } else if (serviceInterface.isInstance(notificationDelayService)) {
- return (L) notificationDelayService;
- }
- throw new UnkownDevicemanagerServiceException("Unknown service ",serviceInterface);
- }
-
- // Deviceinitialization
-
- @FunctionalInterface
- interface Register<X, Y, Z> {
- public void register(X mountPointNodeName, Y mountPoint, Z ne);
- }
-
- private class MyNetworkElementFactory<L extends NetworkElementFactory> {
-
- private final Register<String, MountPoint, NetworkElement> init;
- private final @NonNull L factory;
-
- @SuppressWarnings("null")
- public MyNetworkElementFactory(@NonNull L factory, Register<String, MountPoint, NetworkElement> init) {
- super();
- if (init == null || factory == null) {
- throw new IllegalArgumentException("Null not allowed here.");
- }
- this.init = init;
- this.factory = factory;
- }
- public Register<String, MountPoint, NetworkElement> getInit() {
- return init;
- }
- public @NonNull L getFactory() {
- return factory;
- }
- }
-
- /**
- * Execute register command, for network element
- * @param mountPointNodeName of new network element
- * @param mountPoint of new network element
- * @param inNe that needs to register
- */
- private void initDefault(String mountPointNodeName, MountPoint mountPoint, NetworkElement inNe) {
- // sendUpdateNotification(mountPointNodeName, nNode.getConnectionStatus(), nNode);
-
- // TODO
- putToNetworkElementRepresentations(mountPointNodeName, inNe);
- deviceMonitor.deviceConnectMasterIndication(mountPointNodeName, inNe);
-
- inNe.register();
- }
-
- private void initONFCoremodel(String mountPointNodeName, MountPoint mountPoint,
- ONFCoreNetworkElementRepresentation ne) {
- putToNetworkElementRepresentations(mountPointNodeName, ne);
- // create automatic empty maintenance entry into db before reading and listening
- // for problems
- maintenanceService.createIfNotExists(mountPointNodeName);
-
- // Setup microwaveEventListener for notification service
- // MicrowaveEventListener microwaveEventListener = new
- // MicrowaveEventListener(mountPointNodeName, websocketmanagerService,
- // xmlMapper, databaseClientEvents);
-
- ne.doRegisterEventListener(mountPoint);
-
- // Register netconf stream
- NetconfNotification.registerNotificationStream(mountPointNodeName, mountPoint, "NETCONF");
-
- // -- Read data from NE
- ne.initialReadFromNetworkElement();
-
- if (aaiProviderClient != null) {
- aaiProviderClient.onDeviceRegistered(mountPointNodeName);
- }
- // -- Register NE to performance manager
- if (performanceManager != null) {
- performanceManager.registration(mountPointNodeName, ne);
- }
-
- deviceMonitor.deviceConnectMasterIndication(mountPointNodeName, (DeviceMonitoredNe)ne);
-
- LOG.info("Starting Event listener finished. Added Netconf device {}", mountPointNodeName);
- }
-
- private void initORan(String mountPointNodeName, MountPoint mountPoint, ONFCoreNetworkElementRepresentation neORan) {
- // sendUpdateNotification(mountPointNodeName, nNode.getConnectionStatus(), nNode);
- putToNetworkElementRepresentations(mountPointNodeName, neORan);
-
- maintenanceService.createIfNotExists(mountPointNodeName);
-
- deviceMonitor.deviceConnectMasterIndication(mountPointNodeName, (DeviceMonitoredNe)neORan);
-
- // -- Read data from NE
- neORan.initialReadFromNetworkElement();
- neORan.doRegisterEventListener(mountPoint);
- NetconfNotification.registerNotificationStream(mountPointNodeName, mountPoint, "NETCONF");
- }
-
- private void initNts(String mountPointNodeName, MountPoint mountPoint, ONFCoreNetworkElementRepresentation neNts) {
- // sendUpdateNotification(mountPointNodeName, nNode.getConnectionStatus(), nNode);
- putToNetworkElementRepresentations(mountPointNodeName, neNts);
- deviceMonitor.deviceConnectMasterIndication(mountPointNodeName, (DeviceMonitoredNe)neNts);
-
- // -- Read data from NE
- neNts.initialReadFromNetworkElement();
- }
- private void initGRan(String mountPointNodeName, MountPoint mountPoint, ONFCoreNetworkElementRepresentation neGRan) {
- // sendUpdateNotification(mountPointNodeName, nNode.getConnectionStatus(), nNode);
- putToNetworkElementRepresentations(mountPointNodeName, neGRan);
- deviceMonitor.deviceConnectMasterIndication(mountPointNodeName, (DeviceMonitoredNe)neGRan);
-
- // -- Read data from NE
- neGRan.initialReadFromNetworkElement();
- }
- /**
- * @param instanceIdentifier
- * @param mountPointNodeName
- * @return
- */
- private Optional<MountPoint> waitForMountpoint(InstanceIdentifier<Node> instanceIdentifier,
- String mountPointNodeName) {
- Optional<MountPoint> optionalMountPoint = null;
- int timeout = 10000;
- while (!(optionalMountPoint = mountPointService.getMountPoint(instanceIdentifier)).isPresent()
- && timeout > 0) {
- LOG.info("Event listener waiting for mount point for Netconf device :: Name : {}", mountPointNodeName);
- sleepMs(1000);
- timeout -= 1000;
- }
- return optionalMountPoint;
- }
-
- private void putToNetworkElementRepresentations(String mountPointNodeName, NetworkElement ne) {
- NetworkElement result;
- synchronized (networkelementLock) {
- result = networkElementRepresentations.put(mountPointNodeName, ne);
- }
- if (result != null) {
- LOG.warn("NE list was not empty as expected, but contained {} ", result.getNodeId());
- } else {
- odlEventListenerHandler.connectIndication(mountPointNodeName, ne.getDeviceType());
- }
- }
-
- /**
- * Mountpoint created or existing. Managed device is actually disconnected from node/ mountpoint.
- * Origin state: Connecting, Connected
- * Target state: are UnableToConnect or Connecting
- * @param action create or update
- * @param nNodeId id of the mountpoint
- * @param nNode mountpoint contents
- */
- public void enterNonConnectedState(Action action, NodeId nNodeId, NetconfNode nNode) {
- String mountPointNodeName = nNodeId.getValue();
- ConnectionStatus csts = nNode.getConnectionStatus();
- if (isNetconfNodeMaster(nNode)) {
- sendUpdateNotification(mountPointNodeName, csts,nNode);
- }
-
- // Handling if mountpoint exist. connected -> connecting/UnableToConnect
- stopListenerOnNodeForConnectedState(mountPointNodeName);
-
- deviceMonitor.deviceDisconnectIndication(mountPointNodeName);
-
- }
-
- /**
- * Mountpoint removed indication.
- * @param nNodeId id of the mountpoint
- */
- public void removeMountpointState(NodeId nNodeId) {
- String mountPointNodeName = nNodeId.getValue();
- LOG.info("mountpointNodeRemoved {}", nNodeId.getValue());
-
- stopListenerOnNodeForConnectedState(mountPointNodeName);
- deviceMonitor.removeMountpointIndication(mountPointNodeName);
- if (odlEventListenerHandler != null) {
- odlEventListenerHandler.deRegistration(mountPointNodeName);
- }
- }
-
- /**
- * Do all tasks necessary to move from mountpoint state connected -> connecting
- * @param mountPointNodeName provided
- * @param ne representing the device connected to mountpoint
- */
- private void stopListenerOnNodeForConnectedState( String mountPointNodeName) {
- NetworkElement ne = networkElementRepresentations.remove(mountPointNodeName);
- if (ne != null) {
- this.maintenanceService.deleteIfNotRequired(mountPointNodeName);
- ne.deregister();
- if (performanceManager != null) {
- performanceManager.deRegistration(mountPointNodeName);
- }
- if (aaiProviderClient != null) {
- aaiProviderClient.onDeviceUnregistered(mountPointNodeName);
- }
- }
- }
-
- private void sendUpdateNotification(String mountPointNodeName, ConnectionStatus csts, NetconfNode nNode) {
- LOG.info("update ConnectedState for device :: Name : {} ConnectionStatus {}", mountPointNodeName, csts);
- if (odlEventListenerHandler != null) {
- odlEventListenerHandler.updateRegistration(mountPointNodeName, ConnectionStatus.class.getSimpleName(),
- csts != null ? csts.getName() : "null", nNode);
- }
- }
-
- /**
- * Handle netconf/mountpoint changes
- */
- @Override
- public void netconfNodeChangeHandler(Action action, NodeId nodeId, NetconfNode nNode) {
-
- @Nullable ConnectionStatus csts = nNode.getConnectionStatus();
- @Nullable ClusteredConnectionStatus ccsts = nNode.getClusteredConnectionStatus();
- String nodeIdString = nodeId.getValue();
-
- LOG.debug("NETCONF Node processing with id {} action {} status {} cluster status {}", nodeId,
- action, csts, ccsts);
-
- boolean isCluster = akkaConfig == null && akkaConfig.isCluster();
- if (isCluster && ccsts == null) {
- LOG.debug("NETCONF Node {} {} does not provide cluster status. Stop execution.", nodeIdString, action);
- } else {
- switch (action) {
- case REMOVE:
- removeMountpointState(nodeId); // Stop Monitor
- break;
- case CREATE:
- if (odlEventListenerHandler != null) {
- odlEventListenerHandler.registration(nodeIdString,nNode);
- }
- createOrUpdateMountpointState(action, csts, nodeId, nNode);
- break;
- case UPDATE:
- createOrUpdateMountpointState(action, csts, nodeId, nNode);
- break;
- }
- }
- }
-
- private void createOrUpdateMountpointState(Action action, @Nullable ConnectionStatus csts, NodeId nodeId, NetconfNode nNode) {
- if (csts != null) {
- switch (csts) {
- case Connected: {
- startListenerOnNodeForConnectedState(action, nodeId, nNode);
- break;
- }
- case UnableToConnect:
- case Connecting: {
- enterNonConnectedState(action, nodeId, nNode);
- break;
- }
- }
- } else {
- LOG.debug("NETCONF Node handled with null status for action", action);
- }
- }
-
- /*-------------------------------------------------------------------------------------------
- * Functions
- */
-
- public ArchiveCleanService getArchiveCleanService() {
- return this.archiveCleanService;
- }
-
- public DataProvider getDatabaseClientEvents() {
- return dataProvider;
- }
-
- @Override
- public DeviceManagerServiceProvider getServiceProvider() {
- return this;
- }
-
- /**
- * Indication if init() of devicemanager successfully done.
- * @return true if init() was sucessfull. False if not done or not successfull.
- */
- public boolean isDevicemanagerInitializationOk() {
- return this.devicemanagerInitializationOk;
- }
-
- /**
- * Get NE object. Used by DCAE Service
- * @param mountpoint mount point name
- * @return null or NE specific data
- */
- public @Nullable NetworkElement getNeByMountpoint(String mountpoint) {
-
- return networkElementRepresentations.get(mountpoint);
-
- }
-
- @Override
- public void writeToEventLog(String objectId, String msg, String value) {
- this.odlEventListenerHandler.writeEventLog(objectId, msg, value);
- }
-
- /*---------------------------------------------------------------------
- * Private funtions
- */
-
-
- /* -- LOG related functions -- */
-
-
- private boolean isInClusterMode() {
- return this.akkaConfig == null ? false : this.akkaConfig.isCluster();
- }
-
- private String getClusterNetconfNodeName() {
- return this.akkaConfig == null ? "" : this.akkaConfig.getClusterConfig().getClusterSeedNodeName("abc");
- }
-
- private boolean isNetconfNodeMaster(NetconfNode nNode) {
- if (isInClusterMode()) {
- LOG.debug("check if me is responsible for node");
- String masterNodeName = null;
- ClusteredConnectionStatus ccst = nNode.getClusteredConnectionStatus();
- if (ccst != null) {
- masterNodeName = ccst.getNetconfMasterNode();
- }
- if (masterNodeName == null) {
- masterNodeName = "null";
- }
-
- String myNodeName = getClusterNetconfNodeName();
- LOG.debug("sdnMasterNode=" + masterNodeName + " and sdnMyNode=" + myNodeName);
- if (!masterNodeName.equals(myNodeName)) {
- LOG.debug("netconf change but me is not master for this node");
- return false;
- }
- }
- return true;
- }
-
- private static AkkaConfig loadClusterConfiguration() {
- AkkaConfig akkaConfigRes;
- try {
- akkaConfigRes = AkkaConfig.load();
- LOG.debug("akka.conf loaded: " + akkaConfigRes.toString());
- } catch (Exception e1) {
- akkaConfigRes = null;
- LOG.warn("problem loading akka.conf: " + e1.getMessage());
- }
- @SuppressWarnings("unused")
- GeoConfig geoConfig = null;
- if (akkaConfigRes != null && akkaConfigRes.isCluster()) {
- LOG.info("cluster mode detected");
- if (GeoConfig.fileExists()) {
- try {
- LOG.debug("try to load geoconfig");
- geoConfig = GeoConfig.load();
- } catch (Exception err) {
- LOG.warn("problem loading geoconfig: " + err.getMessage());
- }
- } else {
- LOG.debug("no geoconfig file found");
- }
- } else {
- LOG.info("single node mode detected");
- }
- return akkaConfigRes;
- }
-
- private void sleepMs(int milliseconds) {
- try {
- Thread.sleep(milliseconds);
- } catch (InterruptedException e) {
- LOG.debug("Interrupted sleep");
- // Restore interrupted state...
- Thread.currentThread().interrupt();
- }
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DeviceManagerNetconfConnectHandler.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DeviceManagerNetconfConnectHandler.java
deleted file mode 100644
index 2c164d826..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DeviceManagerNetconfConnectHandler.java
+++ /dev/null
@@ -1,70 +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.impl;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfNodeConnectListener;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfNodeStateService;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DeviceManagerNetconfConnectHandler implements NetconfNodeConnectListener {
-
- private static final Logger LOG = LoggerFactory.getLogger(DeviceManagerNetconfConnectHandler.class);
-
- private ListenerRegistration<DeviceManagerNetconfConnectHandler> registerNetconfNodeConnectListener;
-
- public DeviceManagerNetconfConnectHandler(@Nullable NetconfNodeStateService netconfNodeStateService) {
- if (netconfNodeStateService == null) {
- registerNetconfNodeConnectListener = new ListenerRegistration<DeviceManagerNetconfConnectHandler>() {
- @Override
- public void close() {
- }
- @Override
- public @NonNull DeviceManagerNetconfConnectHandler getInstance() {
- return DeviceManagerNetconfConnectHandler.this;
- }
- };
- } else {
- this.registerNetconfNodeConnectListener = netconfNodeStateService.registerNetconfNodeConnectListener(this);
- }
- }
-
- @Override
- public void onEnterConnected(NodeId nNodeId, NetconfNode netconfNode, DataBroker netconfNodeDataBroker) {
- LOG.info("onEnterConnected {}", nNodeId);
- //o-ran-interfaces .. spec for RAN Devices to be used as fingerprint
- }
-
- @Override
- public void onLeaveConnected(NodeId nNodeId) {
- LOG.info("onLeaveConnected {}", nNodeId);
- }
-
- @Override
- public void close() throws Exception {
- registerNetconfNodeConnectListener.close();
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DevicemanagerNotificationDelayService.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DevicemanagerNotificationDelayService.java
deleted file mode 100644
index 25f55046b..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/DevicemanagerNotificationDelayService.java
+++ /dev/null
@@ -1,34 +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.impl;
-
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.DeviceManagerService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.toggleAlarmFilter.NotificationDelayService;
-
-/**
- * Devicemanager service
- */
-public class DevicemanagerNotificationDelayService extends NotificationDelayService<ProblemNotificationXml> implements DeviceManagerService {
-
- public DevicemanagerNotificationDelayService(ConfigurationFileRepresentation htconfig) {
- super(htconfig);
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/LinkIdentifyingObject.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/LinkIdentifyingObject.java
deleted file mode 100644
index 8c9ca564f..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/LinkIdentifyingObject.java
+++ /dev/null
@@ -1,24 +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.impl;
-
-public interface LinkIdentifyingObject {
-
- public String getSignalId();
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/NetconfNodeService.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/NetconfNodeService.java
deleted file mode 100644
index 5ce8a0d69..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/NetconfNodeService.java
+++ /dev/null
@@ -1,38 +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.impl;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
-
-public interface NetconfNodeService {
-
- public enum Action {
- CREATE,
- REMOVE,
- UPDATE
- }
-
- /**
- * MountpointChangeHandler, called to indicate change to DeviceManager
- * @param action provided
- * @param csts provided
- * @param nodeId provided
- * @param nnode provided
- */
- void netconfNodeChangeHandler(Action action, NodeId nodeId, NetconfNode nnode);
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/NetconfNotification.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/NetconfNotification.java
deleted file mode 100644
index ac4b8565e..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/NetconfNotification.java
+++ /dev/null
@@ -1,69 +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.impl;
-
-import java.util.Optional;
-import javax.annotation.Nonnull;
-import org.opendaylight.mdsal.binding.api.MountPoint;
-import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.notification._1._0.rev080714.CreateSubscriptionInput;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.notification._1._0.rev080714.CreateSubscriptionInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.notification._1._0.rev080714.NotificationsService;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.notification._1._0.rev080714.StreamNameType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class NetconfNotification {
-
- private static final Logger log = LoggerFactory.getLogger(DeviceManagerImpl.class);
-
- /**
- * Do the stream creation for the device.
- * @param nodeId node-id of device
- * @param mountpoint information
- * @param streamName to register
- */
- public static void registerNotificationStream(String nodeId, MountPoint mountpoint, String streamName) {
-
- final Optional<RpcConsumerRegistry> optionalRpcConsumerService =
- mountpoint.getService(RpcConsumerRegistry.class);
- if (optionalRpcConsumerService.isPresent()) {
- final RpcConsumerRegistry rpcConsumerRegitry = optionalRpcConsumerService.get();
- @Nonnull
- final NotificationsService rpcService = rpcConsumerRegitry.getRpcService(NotificationsService.class);
-
- final CreateSubscriptionInputBuilder createSubscriptionInputBuilder = new CreateSubscriptionInputBuilder();
- createSubscriptionInputBuilder.setStream(new StreamNameType(streamName));
- log.info("Event listener triggering notification stream {} for node {}", streamName, nodeId);
- try {
- CreateSubscriptionInput createSubscriptionInput = createSubscriptionInputBuilder.build();
- if (createSubscriptionInput == null) {
- log.warn("createSubscriptionInput is null for mountpoint {}", nodeId);
- } else {
- rpcService.createSubscription(createSubscriptionInput);
- }
- } catch (NullPointerException e) {
- log.warn("createSubscription failed");
- }
- } else {
- log.warn("No RpcConsumerRegistry avaialble.");
- }
-
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/ProviderClient.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/ProviderClient.java
deleted file mode 100644
index 922b8a0e0..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/ProviderClient.java
+++ /dev/null
@@ -1,39 +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.impl;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-
-public interface ProviderClient extends AutoCloseable {
-
- /**
- * Send out problem notification, that was created by a device/ or NE
- * @param mountPointName related
- * @param notification xml description
- */
- public void sendProblemNotification(String mountPointName, ProblemNotificationXml notification);
-
- /**
- * Send out problem notification
- * @param mountPointName related
- * @param notification xml description
- * @param neDeviceAlarm true indicates an NE originated alarm, false an sdncontroller generated alarm
- */
- public void sendProblemNotification(String mountPointName, ProblemNotificationXml notification, boolean neDeviceAlarm);
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/PushNotifications.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/PushNotifications.java
deleted file mode 100644
index 2acefc166..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/PushNotifications.java
+++ /dev/null
@@ -1,30 +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.impl;
-
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.PushAttributeChangeNotificationInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.PushFaultNotificationInput;
-
-public interface PushNotifications {
-
- void pushAttributeChangeNotification(PushAttributeChangeNotificationInput input);
-
- void pushFaultNotification(PushFaultNotificationInput input);
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlAkka/AkkaConfig.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlAkka/AkkaConfig.java
deleted file mode 100644
index 7e54881ed..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlAkka/AkkaConfig.java
+++ /dev/null
@@ -1,86 +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.impl.conf.odlAkka;
-
-import java.io.File;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
-
-public class AkkaConfig {
-
- @SuppressWarnings("unused")
- private static final Logger LOG = LoggerFactory.getLogger(AkkaConfig.class);
-
- private static final String DEFAULT_FILENAME = "configuration/initial/akka.conf";
- private final String filename;
- private ClusterConfig cluserConfig;
-
- public ClusterConfig getClusterConfig() {
- return this.cluserConfig;
- }
-
- private AkkaConfig(String filename) {
- this.filename = filename;
- }
-
- public AkkaConfig() {
- this(null);
- }
-
- @Override
- public String toString() {
- return "AkkaConfig [filename=" + filename + ", cluserConfig=" + cluserConfig + "]";
- }
-
- private void loadFromFile() throws Exception {
- Config cfg = ConfigFactory.parseFile(new File(this.filename));
- this.cluserConfig = new ClusterConfig(cfg.getConfig("odl-cluster-data").getConfig("akka").getConfig("cluster"));
- }
-
- public boolean isCluster() {
- return this.cluserConfig != null ? this.cluserConfig.isCluster() : false;
- }
-
- public boolean isClusterAndFirstNode() {
- return isSingleNode() || isCluster() && getClusterConfig().getRoleMemberIndex() == 1;
- }
-
- public static AkkaConfig load() throws Exception {
- return load(DEFAULT_FILENAME);
- }
-
- public static AkkaConfig load(String filename) throws Exception {
- AkkaConfig cfg = new AkkaConfig(filename);
- cfg.loadFromFile();
- return cfg;
- }
-
- public boolean isSingleNode() {
- return !this.isCluster();
- }
- public static AkkaConfig parse(String content) throws Exception {
- Config cfg = ConfigFactory.parseString(content);
- AkkaConfig c = new AkkaConfig();
- c.cluserConfig=new ClusterConfig(cfg.getConfig("odl-cluster-data").getConfig("akka").getConfig("cluster"));
- return c;
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlAkka/ClusterConfig.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlAkka/ClusterConfig.java
deleted file mode 100644
index c6c8c1533..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlAkka/ClusterConfig.java
+++ /dev/null
@@ -1,137 +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.impl.conf.odlAkka;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.conf.odlGeo.ClusterRoleInfo;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.conf.odlGeo.ClusterRoleInfoCollection;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.typesafe.config.Config;
-
-public class ClusterConfig {
-
- private static final Logger LOG = LoggerFactory.getLogger(ClusterConfig.class);
-
- private final List<ClusterNodeInfo> seedNodes;
- private final ClusterRoleInfoCollection roles;
- private ClusterNodeInfo ismeInfo;
-
- public static ClusterConfig defaultSingleNodeConfig()
- {
- ClusterConfig cfg=new ClusterConfig();
- cfg.ismeInfo=ClusterNodeInfo.defaultSingleNodeInfo();
- cfg.seedNodes.add(cfg.ismeInfo);
- cfg.roles.add(ClusterRoleInfo.defaultSingleNodeRole());
- return cfg;
- }
- public ClusterConfig()
- {
- this.seedNodes = new ArrayList<>();
- this.roles = new ClusterRoleInfoCollection();
-
- }
- public ClusterConfig(Config o) throws Exception {
- {
- this.seedNodes = new ArrayList<>();
- this.roles = new ClusterRoleInfoCollection();
- List<String> a = o.getStringList("seed-nodes");
- for (int i = 0; i < a.size(); i++) {
- ClusterNodeInfo info = new ClusterNodeInfo(a.get(i));
- this.seedNodes.add(info);
- }
- a = o.getStringList("roles");
- for (int i = 0; i < a.size(); i++) {
- ClusterRoleInfo s = new ClusterRoleInfo(a.get(i));
- this.roles.add(s);
- }
- int idx = this.roles.get(0).getIndex() - 1;
- if (idx >= 0 && idx < this.seedNodes.size()) {
- this.ismeInfo = this.seedNodes.get(idx);
- } else {
- this.ismeInfo = null;
- }
- }
-
- }
-
- public boolean isCluster() {
- return this.seedNodes != null ? this.seedNodes.size() > 1 : false;
- }
-
- public boolean isMe(ClusterNodeInfo i) {
- return this.ismeInfo != null ? this.ismeInfo.equals(i) : false;
- }
-
- public List<ClusterNodeInfo> getSeedNodes() {
- return this.seedNodes;
- }
-
- public String getHostName(String defaultValue) {
- if (getRoleMemberIndex() > 0 && getRoleMemberIndex() <= seedNodes.size()) {
- return this.seedNodes.get(getRoleMemberIndex()-1).getRemoteAddress();
- } else {
- LOG.warn("Seednode not available for roleMemberIndex {}. Using default {}",getRoleMember(), defaultValue);
- return defaultValue;
- }
- }
-
- public String getDBClusterName(String defaultValue) {
- String r = null;
- if (this.seedNodes != null && this.seedNodes.size() > 0) {
- r = String.format("cluster-%s.%d", this.seedNodes.get(0).getRemoteAddress(), this.seedNodes.get(0).getPort());
- }
- if (r == null || r.isEmpty()) {
- r = defaultValue;
- }
- return r;
- }
- public String getClusterSeedNodeName() {
- return this.getClusterSeedNodeName("");
- }
- public String getClusterSeedNodeName(String defaultValue) {
- int idx=this.getRoleMemberIndex()-1;
- String r=null;
- if(this.seedNodes!=null && idx>=0 && this.seedNodes.size()>0 && this.seedNodes.size()>idx)
- {
- r=this.seedNodes.get(idx).getSeedNodeName();
- }
- if (r == null || r.isEmpty()) {
- r = defaultValue;
- }
- return r;
- }
- public int getRoleMemberIndex() {
-
- ClusterRoleInfo role=this.roles.get("member");
- return role!=null?role.getIndex():0;
- }
- public ClusterRoleInfo getRoleMember() {
- return this.roles.get("member");
- }
-
- @Override
- public String toString() {
- return "ClusterConfig [seedNodes=" + seedNodes + ", roles=" + roles + ", ismeInfo=" + ismeInfo + "]";
- }
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlAkka/ClusterNodeInfo.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlAkka/ClusterNodeInfo.java
deleted file mode 100644
index 7bc015fed..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlAkka/ClusterNodeInfo.java
+++ /dev/null
@@ -1,81 +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.impl.conf.odlAkka;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class ClusterNodeInfo {
- private final String protocol;
- private final String clusterName;
- private final String remoteAdr;
- private final int port;
- private final String seedNodeName;
-
- public static ClusterNodeInfo defaultSingleNodeInfo() {
- return new ClusterNodeInfo("akka.tcp","opendaylight-cluster-data","127.0.0.1",2550);
- }
-
- public ClusterNodeInfo(String s) throws Exception {
- final String regex = "([a-z.]*):\\/\\/([a-zA-Z0-9-]*)@([a-zA-Z0-9.-]*):([0-9]*)";
- final Pattern pattern = Pattern.compile(regex);
- final Matcher matcher = pattern.matcher(s);
- if (!matcher.find()) {
- throw new Exception("invalid seedNode format");
- }
- this.seedNodeName = matcher.group();
- this.protocol = matcher.group(1);
- this.clusterName = matcher.group(2);
- this.remoteAdr = matcher.group(3);
- this.port = Integer.parseInt(matcher.group(4));
- }
-
- public ClusterNodeInfo(String protocol, String clustername, String remoteadr, int port) {
- this.protocol=protocol;
- this.clusterName=clustername;
- this.remoteAdr=remoteadr;
- this.port=port;
- this.seedNodeName=this.protocol+"://"+this.clusterName+"@"+this.remoteAdr+":"+this.port;
- }
-
- public String getProtocol() {
- return protocol;
- }
-
- public String getClusterName() {
- return clusterName;
- }
-
- public String getRemoteAddress() {
- return remoteAdr;
- }
- public String getSeedNodeName() {
- return seedNodeName;
- }
-
- public int getPort() {
- return port;
- }
-
- @Override
- public String toString() {
- return "ClusterNodeInfo [protocol=" + protocol + ", clusterName=" + clusterName + ", remoteAdr=" + remoteAdr
- + ", port=" + port + ", seedNodeName=" + seedNodeName + "]";
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlGeo/ClusterRoleInfo.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlGeo/ClusterRoleInfo.java
deleted file mode 100644
index 9a9793b89..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlGeo/ClusterRoleInfo.java
+++ /dev/null
@@ -1,91 +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.impl.conf.odlGeo;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class ClusterRoleInfo {
- private final String Role;
- private final int Index;
-
- public ClusterRoleInfo(String s) throws Exception {
- final String regex = "([a-zA-Z]*)-([0-9]*)";
- final Pattern pattern = Pattern.compile(regex);
- final Matcher matcher = pattern.matcher(s);
- if (!matcher.find()) {
- throw new Exception("unexpected role format:"+s);
- }
- this.Role = matcher.group(1);
- this.Index = Integer.parseInt(matcher.group(2));
- }
-
- private ClusterRoleInfo(String role, int idx) {
- this.Role=role;
- this.Index=idx;
- }
-
- public static ClusterRoleInfo defaultSingleNodeRole() {
- return new ClusterRoleInfo("member",1);
- }
-
- public String getRole() {
- return Role;
- }
- public int getIndex() {
- return Index;
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + Index;
- result = prime * result + (Role == null ? 0 : Role.hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- ClusterRoleInfo other = (ClusterRoleInfo) obj;
- if (Index != other.Index) {
- return false;
- }
- if (Role == null) {
- if (other.Role != null) {
- return false;
- }
- } else if (!Role.equals(other.Role)) {
- return false;
- }
- return true;
- }
- @Override
- public String toString() {
- return "ClusterRoleInfo [Role=" + Role + ", Index=" + Index + "]";
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlGeo/ClusterRoleInfoCollection.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlGeo/ClusterRoleInfoCollection.java
deleted file mode 100644
index 089bf33f2..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlGeo/ClusterRoleInfoCollection.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * ============LICENSE_START========================================================================
- * ONAP : ccsdk feature sdnr wt
- * =================================================================================================
- * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
- * =================================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- * ============LICENSE_END==========================================================================
- ******************************************************************************/
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.conf.odlGeo;
-
-import java.util.ArrayList;
-
-public class ClusterRoleInfoCollection extends ArrayList<ClusterRoleInfo> {
- private static final long serialVersionUID = 1L;
-
- public ClusterRoleInfo get(String role) {
- for (ClusterRoleInfo info : this) {
- if (info.getRole().equals(role)) {
- return info;
- }
- }
- return null;
- }
-
- public boolean contains(ClusterRoleInfo info) {
- if (info == null) {
- return false;
- }
- for (ClusterRoleInfo i : this) {
- if (i.equals(info)) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlGeo/GeoConfig.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlGeo/GeoConfig.java
deleted file mode 100644
index 25e7fe265..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/conf/odlGeo/GeoConfig.java
+++ /dev/null
@@ -1,162 +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.impl.conf.odlGeo;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
-
-public class GeoConfig {
-
- private static final String DEFAULT_FILENAME = "configuration/initial/geo.conf";
- private static final String LUMINA_ROOTNODENAME = "lumina-geo-cluster";
- private final String filename;
- private final String rootNodename;
- private ClusterRoleInfoCollection primaryRoles;
- private ClusterRoleInfoCollection secondayRoles;
- private RolesTable rolesTable;
-
- private GeoConfig() {
- this(null);
- }
-
- private GeoConfig(String filename) {
- this(filename, LUMINA_ROOTNODENAME);
- }
-
- private GeoConfig(String filename, String rootNodeName) {
- this.filename = filename;
- this.rootNodename = rootNodeName;
- }
-
- public static boolean fileExists() {
- File f = new File(DEFAULT_FILENAME);
- return f.exists();
- }
-
- public static GeoConfig load() throws Exception {
- return load(DEFAULT_FILENAME);
- }
-
- public static GeoConfig load(String filename) throws Exception {
- GeoConfig cfg = new GeoConfig(filename);
- cfg._load();
- return cfg;
- }
-
- private void _load() throws Exception {
- this._load(ConfigFactory.parseFile(new File(this.filename)));
- }
-
- private void _load(Config cfg) throws Exception {
- this.primaryRoles = new ClusterRoleInfoCollection();
- List<String> a = cfg.getConfig(this.rootNodename).getStringList("primary_roles");
-
- for (int i = 0; i < a.size(); i++) {
- ClusterRoleInfo s = new ClusterRoleInfo(a.get(i));
- this.primaryRoles.add(s);
- }
- this.secondayRoles = new ClusterRoleInfoCollection();
- a = cfg.getConfig(this.rootNodename).getStringList("secondary_roles");
- for (int i = 0; i < a.size(); i++) {
- ClusterRoleInfo s = new ClusterRoleInfo(a.get(i));
- this.secondayRoles.add(s);
- }
- this.checkDuplicateRoleEntries();
- this.rolesTable = new RolesTable(cfg.getConfig(this.rootNodename).getConfigList("ip_roles_table"));
- }
-
- private void checkDuplicateRoleEntries() throws Exception {
- ClusterRoleInfoCollection duplicateEntries = new ClusterRoleInfoCollection();
- for (ClusterRoleInfo primaryRole : this.primaryRoles) {
- if (this.secondayRoles.contains(primaryRole)) {
- duplicateEntries.add(primaryRole);
- }
- }
- if (duplicateEntries.size() > 0) {
- throw new Exception("duplicate entries found: " + duplicateEntries.toString());
- }
-
- }
-
- public static GeoConfig parse(String content) throws Exception {
- GeoConfig cfg = new GeoConfig();
- cfg._load(ConfigFactory.parseString(content));
- return cfg;
- }
-
- public ClusterRoleInfoCollection getPrimaryRoles() {
- return this.primaryRoles;
- }
-
- public ClusterRoleInfoCollection getSecondaryRoles() {
- return this.secondayRoles;
- }
-
- public boolean isPrimary(ClusterRoleInfo roleMember) {
- return !this.isSecondary(roleMember);
- }
-
- private boolean isSecondary(ClusterRoleInfo roleMember) {
- if (roleMember == null) {
- return false;
- }
- for (ClusterRoleInfo info : this.secondayRoles) {
- if (info.equals(roleMember)) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- public String toString() {
- return "GeoConfig [filename=" + filename + ", rootNodename=" + rootNodename + ", primaryRoles=" + primaryRoles
- + ", secondayRoles=" + secondayRoles + ", rolesTable=" + rolesTable + "]";
- }
-
- public static class RolesTableEntry {
- private final ClusterRoleInfo role;
- private final String ip;
-
- public RolesTableEntry(Config c) throws Exception {
- this.role = new ClusterRoleInfo(c.getString("role"));
- this.ip = c.getString("ip");
- }
-
- @Override
- public String toString() {
- return "RolesTableEntry [role=" + role + ", ip=" + ip + "]";
- }
- }
- public static class RolesTable extends ArrayList<RolesTableEntry> {
- private static final long serialVersionUID = -9146218864237487506L;
-
- public RolesTable(List<? extends Config> configList) throws Exception {
- for (Config c : configList) {
- this.add(new RolesTableEntry(c));
- }
- }
-
- }
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/FaultEntityManager.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/FaultEntityManager.java
deleted file mode 100644
index 5b7057b81..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/FaultEntityManager.java
+++ /dev/null
@@ -1,91 +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.impl.database;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Fault;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.FaultcurrentEntity;
-
-public class FaultEntityManager {
-
- private static final Pattern pattern = Pattern.compile(".*\\[layerProtocol=(.*)\\]");
-
- /**
- * The leading indication for notification or events that are not in the
- * currentProblem data of the ONF Coremodel
- */
- private static final String NOCURRENTPROBLEMINDICATION = "#";
-
- /**
- * Specific problems are not moving into current problem list
- * @param problemName to be verified
- * @return true if problem is current
- */
- public static boolean isManagedAsCurrentProblem(String problemName) {
- return ! problemName.startsWith(NOCURRENTPROBLEMINDICATION);
- }
-
- public static boolean isManagedAsCurrentProblem(Fault problem) {
- return isManagedAsCurrentProblem(problem.getProblem());
- }
-
- /**
- * Specific problems are not moving into current problem list
- * @param fault to be verified
- * @return true if cleared indication
- */
- public static boolean isNoAlarmIndication(Fault fault) {
- InternalSeverity severity = InternalSeverity.valueOf(fault.getSeverity());
- return severity.isNoAlarmIndication();
- }
-
- /**
- * Create a specific ES id for the current log.
- * @return a string with the generated ES Id
- */
- public static String genSpecificEsId(String nodeName, String objectId, String problemName) {
-
- String uuId;
-
- Matcher matcher = pattern.matcher(objectId);
- if (matcher.matches() && matcher.groupCount() == 1) {
- uuId = matcher.group(1);
- } else {
- uuId = objectId;
- }
-
- StringBuffer strBuf = new StringBuffer();
- strBuf.append(nodeName);
- strBuf.append("/");
- strBuf.append(uuId);
- strBuf.append("/");
- strBuf.append(problemName);
- return strBuf.toString();
- }
-
- /**
- * Create Es id
- * @param fault used to create uuid for faultcurrent
- * @return String with Id
- */
- public static String genSpecificEsId(FaultcurrentEntity fault) {
- return genSpecificEsId(fault.getNodeId(), fault.getObjectId(), fault.getProblem());
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/HtDataBaseReaderAndWriter.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/HtDataBaseReaderAndWriter.java
deleted file mode 100644
index 919156b20..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/HtDataBaseReaderAndWriter.java
+++ /dev/null
@@ -1,258 +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.impl.database;
-
-import java.util.Collection;
-import java.util.List;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.common.database.DatabaseClient;
-import org.onap.ccsdk.features.sdnr.wt.common.database.IsEsObject;
-import org.onap.ccsdk.features.sdnr.wt.common.database.SearchHit;
-import org.onap.ccsdk.features.sdnr.wt.common.database.SearchResult;
-import org.onap.ccsdk.features.sdnr.wt.common.database.queries.QueryBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Generic class to write lists of model classes to the database.
- *
- */
-public class HtDataBaseReaderAndWriter<T extends IsEsObject> {
-
- private static final Logger log = LoggerFactory.getLogger(HtDataBaseReaderAndWriter.class);
-
-
- private final DatabaseClient db;
- private final String dataTypeName;
- private final HtMapper<T> mapper;
-
- /**
- * Class specific access to database
- * @param db ES database descriptor
- * @param dataTypeName datatype name
- * @param clazz class of datatype
- */
- public HtDataBaseReaderAndWriter(DatabaseClient db, String dataTypeName, Class<? extends T> clazz) {
-
- this.db = db;
- this.dataTypeName = dataTypeName;
- this.mapper = new HtMapper<>( clazz );
-
- }
- public boolean isExistsIndex() {
- return this.db.isExistsIndex(this.dataTypeName);
- }
- /**
- * @return dataTypeName
- */
- public String getDataTypeName() {
- return this.dataTypeName;
- }
- /**
- * Remove Object from database
- * @param object Object with content
- * @return true if remove is done
- */
- public boolean doRemove( T object) {
-
- return db.doRemove(dataTypeName, object );
-
- }
-
- /**
- * Remove all data that match the filter
- * @param query to specify data to be deleted
- * @return number of removed objects
- */
- public int doRemoveByQuery(QueryBuilder query) {
-
- int idx = 0; //Idx for getAll
- int iterateLength = 100; //Step width for iterate
-
- List<SearchHit> hits;
- do {
- hits = db.doReadByQueryJsonData( dataTypeName, query).getHits();
- log.debug("Found: {} elements: {} Failures: {}",dataTypeName,hits.size(), mapper.getMappingFailures());
-
- T object;
- idx += hits.size();
- for (SearchHit hit : hits) {
-
- object = mapper.getObjectFromJson( hit.getSourceAsString() );
-
- log.debug("Mapp Object: {}\nSource: '{}'\nResult: '{}'\n Failures: {}", hit.getId(), hit.getSourceAsString(), object, mapper.getMappingFailures());
- if (object != null) {
- object.setEsId( hit.getId() );
- doRemove(object);
- } else {
- log.warn("Mapp result null Object: {}\n Source: '{}'\n : '", hit.getId(), hit.getSourceAsString());
- }
- }
- } while (hits.size() == iterateLength); //Do it until end indicated, because less hits than iterateLength allows.
-
- return idx;
- }
-
- /**
- * Do the mapping for test purpose
- * @param object object for test purpose
- * @return json String
- */
- public String getJson( T object ) {
- String json = mapper.objectToJson(object);
- return json;
- }
-
- /**
- * Write one object into Database
- * @param object Object with content
- * @return This object for chained call pattern.
- */
- public T doWrite( T object) {
-
- String json = mapper.objectToJson(object);
- return doWrite(object, json);
-
- }
-
- /**
- * Write one object into Database
- * @param object Object with content
- * @param json string
- * @return This object for chained call pattern.
- */
- public T doWrite( T object, String json) {
-
- log.debug("doWrite {} {}",object.getClass().getSimpleName(), object.getEsId());
-
- if (json != null) {
- String esId = db.doWriteJsonString(dataTypeName, object, json);
- object.setEsId(esId);
- log.debug("doWrite done for {} {}",object.getClass().getSimpleName(), object.getEsId());
- return esId == null ? null : object;
- } else {
- log.warn("Can not map object and write to database. {} {}",object.getClass().getSimpleName(), object);
- return null;
- }
-
- }
-
-
- /**
- * Write a list of Objects to the database.
- * @param list Object list with content
- * @return This object for chained call pattern.
- */
- public HtDataBaseReaderAndWriter<T> doWrite( Collection<T> list) {
-
- int writeError = 0;
- log.debug("Write to ES database {} Class: {} {} elements",dataTypeName, mapper.getClazz().getSimpleName(), list.size());
-
- if (list != null && !list.isEmpty()) {
- for( T s : list ) {
- if ( doWrite(s) == null ) {
- if ( ++writeError > 5 ) {
- log.warn("Leave because of to >5 write errors");
- break;
- }
- }
- }
- }
-
- return this;
- }
-
- /**
- * Read one object via the object class specific ID
- * @param object Object refrenced by idString
- * @return The Object if found or null
- */
- public @Nullable T doRead( IsEsObject object ) {
- T res = mapper.getObjectFromJson( db.doReadJsonData( dataTypeName, object) );
- if (res != null) {
- res.setEsId(object.getEsId());
- }
- return res;
- }
-
- /**
- * Read one object via the object class specific ID
- * @param objectEsId Object refrence
- * @return The Object if found or null
- */
- public @Nullable T doRead( String objectEsId ) {
- T res = mapper.getObjectFromJson( db.doReadJsonData( dataTypeName, objectEsId ) );
- if (res != null) {
- res.setEsId(objectEsId);
- }
- return res;
- }
- /**
- * Get all elements of related type
- * @return all Elements
- */
- public SearchResult<T> doReadAll() {
- return doReadAll(null);
- }
-
- /**
- * Read all existing objects of a type
- * @param query for the elements
- * @return the list of all objects
- */
-
- public SearchResult<T> doReadAll(QueryBuilder query) {
-
- SearchResult<T> res = new SearchResult<>();
- int idx = 0; //Idx for getAll
- int iterateLength = 100; //Step width for iterate
-
- SearchResult<SearchHit> result;
- List<SearchHit> hits;
- do {
- if(query!=null) {
- log.debug("read data in {} with query {}",dataTypeName,query.toJSON());
- result=db.doReadByQueryJsonData( dataTypeName, query);
- }
- else {
- result = db.doReadAllJsonData( dataTypeName);
- }
- hits=result.getHits();
- log.debug("Read: {} elements: {} Failures: {}",dataTypeName,hits.size(), mapper.getMappingFailures());
-
- T object;
- idx += result.getHits().size();
- for (SearchHit hit : hits) {
-
-// object = mapper.getObjectFromJson( hit.getSourceRef() );
- object = mapper.getObjectFromJson( hit.getSourceAsString() );
-
- log.debug("Mapp Object: {}\nSource: '{}'\nResult: '{}'\n Failures: {}", hit.getId(), hit.getSourceAsString(), object, mapper.getMappingFailures());
- if (object != null) {
- object.setEsId( hit.getId() );
- res.add( object );
- } else {
- log.warn("Mapp result null Object: {}\n Source: '{}'\n : '", hit.getId(), hit.getSourceAsString());
- }
- }
- } while (hits.size() == iterateLength); //Do it until end indicated, because less hits than iterateLength allows.
- res.setTotal(idx);
- return res;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/HtMapper.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/HtMapper.java
deleted file mode 100644
index dc2e4d768..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/HtMapper.java
+++ /dev/null
@@ -1,140 +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.impl.database;
-
-import com.fasterxml.jackson.annotation.JsonInclude.Include;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import java.io.IOException;
-import org.eclipse.jdt.annotation.Nullable;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @author Herbert
- *
- */
-public class HtMapper<T> {
-
- private static final Logger log = LoggerFactory.getLogger(HtMapper.class);
-
- private final Class<? extends T> clazz;
-
- private final JsonMapperBase objectMapperRead;
- private final JsonMapperBase objectMapperWrite;
-
- private int mappingFailures;
-
- public HtMapper(Class<? extends T> clazz) {
-
- this.mappingFailures = 0;
- this.clazz = clazz;
-
- this.objectMapperRead = new JsonMapperBase();
- this.objectMapperWrite = this.objectMapperRead;
- }
-
- public Class<? extends T> getClazz() {
- return clazz;
- }
-
- public int getMappingFailures() {
- return mappingFailures;
- }
-
- public String objectToJson(T object) {
- return objectMapperWrite.objectToJson(object);
- }
-
- /**
- * Do the mapping from Json to class Block further mapping if there is are to
- * many failures
- *
- * @param json String with Objects JSON representation
- * @return The Object
- */
- public @Nullable T getObjectFromJson(byte[] json) {
-
- if (json == null) {
- return null;
- } else if (mappingFailures < 10) {
- try {
- T object = objectMapperRead.readValue(json, clazz);
- return object;
- } catch (JsonParseException e) {
- mappingFailures++;
- log.warn(e.toString());
- } catch (JsonMappingException e) {
- mappingFailures++;
- log.warn(e.toString());
- } catch (IOException e) {
- mappingFailures++;
- log.warn(e.toString());
- } catch (Exception e) {
- mappingFailures++;
- log.warn(e.toString());
- }
- }
- log.warn("Problems parsing : {} {}", clazz, json);
- return null;
- }
-
- /**
- * Do the mapping from Json to class Block further mapping if there is are to
- * many failures
- *
- * @param json String with Objects JSON representation
- * @return The Object
- */
- public @Nullable T getObjectFromJson(String json) {
-
- if (json == null) {
- return null;
- } else if (mappingFailures < 10) {
- try {
- T object = objectMapperRead.readValue(json, clazz);
- return object;
- } catch (JsonParseException e) {
- mappingFailures++;
- log.warn(e.toString());
- } catch (JsonMappingException e) {
- mappingFailures++;
- log.warn(e.toString());
- } catch (IOException e) {
- mappingFailures++;
- log.warn(e.toString());
- } catch (Exception e) {
- mappingFailures++;
- log.warn(e.toString());
- }
- }
- log.warn("Problems parsing : {} {}", clazz, json);
- return null;
- }
-
- public void setSerializationInclusion(Include incl) {
- this.objectMapperRead.setSerializationInclusion(incl);
-
- }
- public void resetSerializationInclusion() {
- this.objectMapperRead.setSerializationInclusion(Include.USE_DEFAULTS);
-
-
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/JsonMapperBase.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/JsonMapperBase.java
deleted file mode 100644
index 848004b39..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/database/JsonMapperBase.java
+++ /dev/null
@@ -1,137 +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.impl.database;
-
-import java.io.IOException;
-import java.io.StringWriter;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
-import com.fasterxml.jackson.annotation.PropertyAccessor;
-import com.fasterxml.jackson.core.JsonGenerationException;
-import com.fasterxml.jackson.core.JsonGenerator.Feature;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-
-/**
- * This class is used to define default for JSON Serialization and Deserialization for the project at a single place
- */
-public class JsonMapperBase extends ObjectMapper {
-
- private static final long serialVersionUID = 1L;
- private static final Logger LOG = LoggerFactory.getLogger(JsonMapperBase.class);
-
- public JsonMapperBase() {
-
- setVisibility(PropertyAccessor.ALL, Visibility.NONE);
- setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
-
- // Deserialization
- configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- configure(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL, true);
-
- // Serialization
- configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
- getFactory().configure(Feature.ESCAPE_NON_ASCII, true);
- }
-
- public JsonMapperBase(int t) {
-
- switch(t) {
- case 0:
- break;
- case 1:
- setVisibility(PropertyAccessor.ALL, Visibility.NONE);
- setVisibility(PropertyAccessor.FIELD, Visibility.DEFAULT);
- break;
- case 2:
- setVisibility(PropertyAccessor.ALL, Visibility.NONE);
- setVisibility(PropertyAccessor.FIELD, Visibility.PROTECTED_AND_PUBLIC);
- break;
- case 3:
- setVisibility(PropertyAccessor.ALL, Visibility.NONE);
- setVisibility(PropertyAccessor.GETTER, Visibility.ANY);
- setVisibility(PropertyAccessor.IS_GETTER, Visibility.ANY);
- break;
- default:
- setVisibility(PropertyAccessor.ALL, Visibility.NONE);
- setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
- break;
-
- }
-
- // Deserialization
- configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- configure(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL, true);
-
- // Serialization
- configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
- getFactory().configure(Feature.ESCAPE_NON_ASCII, true);
- }
-
-
-
- public String objectToJson( Object object ) {
- String res = null;
-
- try {
-
- res = writeValueAsString(object);
-
- } catch (JsonGenerationException e) {
- LOG.debug(e.toString());
- } catch (JsonMappingException e) {
- LOG.debug(e.toString());
- } catch (IOException e) {
- LOG.debug(e.toString());
- } catch (Exception e) {
- LOG.debug(e.toString());
- }
-
- return res;
- }
-
- public String objectListToJson( List<? extends Object> objectList ) {
- String res = null;
-
- try {
-
- StringWriter stringEmp = new StringWriter();
- writeValue(stringEmp, objectList);
- res = stringEmp.toString();
- stringEmp.close();
-
- } catch (JsonGenerationException e) {
- LOG.debug(e.toString());
- } catch (JsonMappingException e) {
- LOG.debug(e.toString());
- } catch (IOException e) {
- LOG.debug(e.toString());
- } catch (Exception e) {
- LOG.debug(e.toString());
- }
-
- return res;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/handler/NetconfEventListenerHandler12.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/handler/NetconfEventListenerHandler12.java
deleted file mode 100644
index e0560cb1e..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/handler/NetconfEventListenerHandler12.java
+++ /dev/null
@@ -1,174 +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.impl.handler;
-
-import java.util.List;
-import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.ONFCoreNetworkElement12Equipment;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.ONFCoreNetworkElementCallback;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.wrapperc.OnfMicrowaveModelNotification;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl.DcaeForwarderInternal;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.AttributeValueChangedNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ObjectCreationNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ObjectDeletionNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.WebSocketServiceClientInternal;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.toggleAlarmFilter.NotificationDelayFilter;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.toggleAlarmFilter.NotificationDelayService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.toggleAlarmFilter.NotificationDelayedListener;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.SourceType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Important: Websocket notification must be the last action.
- * At the beginning intended to handle notifications of type <code>OnfMicrowaveModelNotification</code>.
- * Today an abstract class for processing notifications independent of model.
- *
- * @author herbert
- */
-public class NetconfEventListenerHandler12 implements OnfMicrowaveModelNotification, NotificationDelayedListener<ProblemNotificationXml> {
-
- private static final Logger LOG = LoggerFactory.getLogger(NetconfEventListenerHandler12.class);
-
- private final String nodeName;
- private final WebSocketServiceClientInternal webSocketService;
- //private final WebsocketmanagerService websocketmanagerService;
- //private final XmlMapper xmlMapper;
- private final DataProvider databaseService;
- private final DcaeForwarderInternal dcaeForwarder;
-
- private final NotificationDelayFilter<ProblemNotificationXml> delayFilter;
- private final ONFCoreNetworkElementCallback ne;
-
- public NetconfEventListenerHandler12(String nodeName, WebSocketServiceClientInternal webSocketService,
- DataProvider databaseService, DcaeForwarderInternal aotsDcaeForwarder,
- NotificationDelayService<ProblemNotificationXml> notificationDelayService,
- ONFCoreNetworkElementCallback ne) {
- super();
- this.nodeName = nodeName;
- //this.websocketmanagerService = websocketmanagerService;
- //this.xmlMapper = xmlMapper;
- this.webSocketService = webSocketService;
- this.databaseService = databaseService;
- this.dcaeForwarder = aotsDcaeForwarder;
- this.delayFilter=notificationDelayService.getInstance(nodeName, this);//12(nodeName,this);
- this.ne = ne;
- }
-
-
- @Override
- public void onAttributeValueChangedNotification(AttributeValueChangedNotificationXml notificationXml) {
-
- ne.notificationFromNeListener(notificationXml);
-
- databaseService.writeEventLog(notificationXml.getEventlogEntity());
- webSocketService.sendViaWebsockets(nodeName, notificationXml);
- }
-
-
- @Override
- public void onObjectCreationNotification(ObjectCreationNotificationXml notificationXml) {
-
- databaseService.writeEventLog(notificationXml.getEventlogEntity());
- webSocketService.sendViaWebsockets(nodeName, notificationXml);
-
- }
-
- @Override
- public void onObjectDeletionNotification(ObjectDeletionNotificationXml notificationXml) {
-
- databaseService.writeEventLog(notificationXml.getEventlogEntity());
- webSocketService.sendViaWebsockets(nodeName, notificationXml);
- }
-
- @Override
- public void onProblemNotification(ProblemNotificationXml notificationXml) {
-
- databaseService.writeFaultLog(notificationXml.getFaultlog(SourceType.Netconf));
- databaseService.updateFaultCurrent(notificationXml.getFaultcurrent());
-
- // ToggleAlarmFilter functionality
- if (delayFilter.processNotification(notificationXml.getSeverity() == InternalSeverity.NonAlarmed, notificationXml.getProblem(), notificationXml))
- {
- dcaeForwarder.sendProblemNotificationUsingMaintenanceFilter(this.nodeName, notificationXml);
- // end of ToggleAlarmFilter
- }
-
- this.webSocketService.sendViaWebsockets(nodeName, notificationXml);
-
- }
-
- @Override
- public void onNotificationDelay(ProblemNotificationXml notificationXml) {
-
- LOG.debug("Got delayed event of type :: {}", ProblemNotificationXml.class.getSimpleName());
- dcaeForwarder.sendProblemNotificationUsingMaintenanceFilter(this.nodeName, notificationXml);
-
- }
- private void initCurrentProblem(ProblemNotificationXml notificationXml) {
- databaseService.updateFaultCurrent(notificationXml.getFaultcurrent());
- dcaeForwarder.sendProblemNotification(this.nodeName, notificationXml);
- }
-
- /**
- * Called to initialize with the current status and notify the clients
- * @param notificationXmlList List with problems
- */
- public void initCurrentProblemStatus(List<ProblemNotificationXml> notificationXmlList) {
-
- for (ProblemNotificationXml notificationXml : notificationXmlList) {
- initCurrentProblem(notificationXml);
- }
-
- }
-
- /**
- * Called on exit to remove everything from the current list.
- * @return Number of deleted objects
- */
- public int removeAllCurrentProblemsOfNode() {
- int deleted = databaseService.clearFaultsCurrentOfNode(nodeName);
- return deleted;
- }
-
- /**
- * Called on exit to remove for one Object-Pac from the current list.
- * @param objectId uuid of the interface-pac or equipment-pac
- * @return Number of deleted objects
- */
- public int removeObjectsCurrentProblemsOfNode(String objectId) {
- int deleted = databaseService.clearFaultsCurrentOfNodeWithObjectId(nodeName, objectId);
- return deleted;
- }
-
- /**
- * Write equipment data to database
- * @param equipment to write
- */
- public void writeEquipment(ONFCoreNetworkElement12Equipment equipment) {
-// List<ExtendedEquipment> equipmentList = equipment.getEquipmentList();
-// for (ExtendedEquipment card : equipmentList) {
-// databaseService.writeInventory(card.getCreateInventoryInput());
-// }
- equipment.getEquipmentList().forEach(card -> databaseService.writeInventory(card.getCreateInventoryInput()) );
-
- }
-
- }
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/handler/ODLEventListenerHandler.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/handler/ODLEventListenerHandler.java
deleted file mode 100644
index 36ac7dca0..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/handler/ODLEventListenerHandler.java
+++ /dev/null
@@ -1,231 +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.impl.handler;
-
-import org.onap.ccsdk.features.sdnr.wt.base.netconf.util.NetconfTimeStamp;
-import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.ONFCoreNetworkElementBase;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl.DcaeForwarderInternal;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.AttributeValueChangedNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ObjectCreationNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ObjectDeletionNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.WebSocketServiceClientInternal;
-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.netconf.node.topology.rev150114.NetconfNode;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.EventlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementConnectionEntity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementDeviceType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.SourceType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Responsible class for documenting changes in the ODL itself. The occurence of such an event is
- * documented in the database and to clients. Specific example here is the registration or
- * deregistration of a netconf device. This service has an own eventcounter to apply to the ONF
- * Coremodel netconf behaviour.
- *
- * Important: Websocket notification must be the last action.
- *
- * @author herbert
- */
-
-public class ODLEventListenerHandler {
-
- private static final Logger LOG = LoggerFactory.getLogger(ODLEventListenerHandler.class);
-
- private static final NetconfTimeStamp NETCONFTIME_CONVERTER = NetconfTimeStamp.getConverter();
-
- private final String ownKeyName;
- private final WebSocketServiceClientInternal webSocketService;
- private final DataProvider databaseService;
- private final DcaeForwarderInternal aotsDcaeForwarder;
-
- private int eventNumber;
-
- /*---------------------------------------------------------------
- * Construct
- */
-
- /**
- * Create a Service to document events to clients and within a database
- *
- * @param ownKeyName The name of this service, that is used in the database as identification key.
- * @param webSocketService service to direct messages to clients
- * @param databaseService service to write to the database
- * @param dcaeForwarder to deliver problems to external service
- */
- public ODLEventListenerHandler(String ownKeyName, WebSocketServiceClientInternal webSocketService,
- DataProvider databaseService, DcaeForwarderInternal dcaeForwarder) {
- super();
-
- this.ownKeyName = ownKeyName;
- this.webSocketService = webSocketService;
-
- this.databaseService = databaseService;
- this.aotsDcaeForwarder = dcaeForwarder;
-
- this.eventNumber = 0;
-
- }
-
- /*---------------------------------------------------------------
- * Handling of ODL Controller events
- */
-
- /**
- * A registration of a mountpoint occured, that is in connect state
- * @param registrationName of device (mountpoint name)
- * @param nNode with mountpoint data
- */
- public void registration(String registrationName, NetconfNode nNode) {
-
- ObjectCreationNotificationXml cNotificationXml =
- new ObjectCreationNotificationXml(ownKeyName, popEvntNumber(),
- InternalDateAndTime.valueOf(NETCONFTIME_CONVERTER.getTimeStamp()), registrationName);
- NetworkElementConnectionEntity e = ONFCoreNetworkElementBase.getNetworkConnection(registrationName, nNode);
- LOG.debug("registration networkelement-connection for {} with status {}", registrationName, e.getStatus());
-
- // Write first to prevent missing entries
- databaseService.updateNetworkConnection22(e, registrationName);
- databaseService.writeConnectionLog(cNotificationXml.getConnectionlogEntity());
- webSocketService.sendViaWebsockets(registrationName, cNotificationXml);
- }
-
- /**
- * After registration
- * @param mountpointNodeName uuid that is nodeId or mountpointId
- * @param deviceType according to assessement
- */
- public void connectIndication(String mountpointNodeName, NetworkElementDeviceType deviceType) {
- // Write first to prevent missing entries
- LOG.debug("updating networkelement-connection devicetype for {} with {}",mountpointNodeName, deviceType);
- NetworkElementConnectionEntity e = ONFCoreNetworkElementBase.getNetworkConnectionDeviceTpe(deviceType);
- databaseService.updateNetworkConnectionDeviceType(e, mountpointNodeName);
-
- }
-
-
- /**
- * A deregistration of a mountpoint occured.
- *
- * @param registrationName Name of the event that is used as key in the database.
- */
-
- public void deRegistration(String registrationName) {
-
- ObjectDeletionNotificationXml dNotificationXml =
- new ObjectDeletionNotificationXml(ownKeyName, popEvntNumber(),
- InternalDateAndTime.valueOf(NETCONFTIME_CONVERTER.getTimeStamp()), registrationName);
-
- // Write first to prevent missing entries
- databaseService.removeNetworkConnection(registrationName);
- databaseService.writeConnectionLog(dNotificationXml.getConnectionlogEntity());
- webSocketService.sendViaWebsockets(registrationName, dNotificationXml);
-
- }
-
- /**
- * Mountpoint state changed .. from connected -> connecting or unable-to-connect or vis-e-versa.
- *
- * @param registrationName Name of the event that is used as key in the database.
- */
- public void updateRegistration(String registrationName, String attribute, String attributeNewValue, NetconfNode nNode) {
- AttributeValueChangedNotificationXml notificationXml = new AttributeValueChangedNotificationXml(ownKeyName,
- popEvntNumber(), InternalDateAndTime.valueOf(NETCONFTIME_CONVERTER.getTimeStamp()),
- registrationName, attribute, attributeNewValue);
- NetworkElementConnectionEntity e = ONFCoreNetworkElementBase.getNetworkConnection(registrationName, nNode);
- LOG.debug("updating networkelement-connection for {} with status {}", registrationName, e.getStatus());
-
- databaseService.updateNetworkConnection22(e, registrationName);
- databaseService.writeConnectionLog(notificationXml.getConnectionlogEntity());
- webSocketService.sendViaWebsockets(registrationName, notificationXml);
- }
-
- /**
- * At a mountpoint a problem situation is indicated
- *
- * @param registrationName indicating object within SDN controller, normally the mountpointName
- * @param problemName that changed
- * @param problemSeverity of the problem according to NETCONF/YANG
- */
-
- public void onProblemNotification(String registrationName, String problemName, InternalSeverity problemSeverity) {
- LOG.debug("Got event of {} {} {}", registrationName, problemName, problemSeverity);
- // notification
-
- ProblemNotificationXml notificationXml =
- new ProblemNotificationXml(ownKeyName, registrationName, problemName, problemSeverity,
- // popEvntNumberAsString(), InternalDateAndTime.TESTPATTERN );
- popEvntNumber(), InternalDateAndTime.valueOf(NETCONFTIME_CONVERTER.getTimeStamp()));
-
- databaseService.writeFaultLog(notificationXml.getFaultlog(SourceType.Controller));
- databaseService.updateFaultCurrent(notificationXml.getFaultcurrent());
-
- aotsDcaeForwarder.sendProblemNotificationUsingMaintenanceFilter(ownKeyName, notificationXml);
-
- webSocketService.sendViaWebsockets(registrationName, notificationXml);
- }
-
- public void writeEventLog(String objectId, String msg, String value) {
-
- LOG.debug("Got startComplete");
- EventlogBuilder eventlogBuilder = new EventlogBuilder();
- eventlogBuilder.setNodeId(ownKeyName).setTimestamp(new DateAndTime(NETCONFTIME_CONVERTER.getTimeStamp()))
- .setObjectId(objectId).setAttributeName(msg).setNewValue(value).setCounter(popEvntNumber())
- .setSourceType(SourceType.Controller);
- databaseService.writeEventLog(eventlogBuilder.build());
-
- }
-
- /*---------------------------------------------
- * Handling of ODL Controller events
- */
-
- /**
- * Called on exit to remove everything for a node from the current list.
- *
- * @param nodeName to remove all problems for
- * @return Number of deleted objects
- */
- public int removeAllCurrentProblemsOfNode(String nodeName) {
- return databaseService.clearFaultsCurrentOfNodeWithObjectId(ownKeyName, nodeName);
- }
-
- /*---------------------------------------------------------------
- * Get/Set
- */
-
- /**
- * @return the ownKeyName
- */
- public String getOwnKeyName() {
- return ownKeyName;
- }
-
- /*---------------------------------------------------------------
- * Private
- */
- private Integer popEvntNumber() {
- return eventNumber++;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/handler/RpcPushNotificationsHandler.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/handler/RpcPushNotificationsHandler.java
deleted file mode 100644
index ff559f859..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/handler/RpcPushNotificationsHandler.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.handler;
-/*******************************************************************************
- * ============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==========================================================================
- ******************************************************************************/
-
-import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.dcaeconnector.impl.DcaeForwarderInternal;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.PushNotifications;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.AttributeValueChangedNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.ProblemNotificationXml;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.xml.WebSocketServiceClientInternal;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.EventlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.EventlogEntity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.FaultcurrentBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.FaultcurrentEntity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.FaultlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.FaultlogEntity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.SourceType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.PushAttributeChangeNotificationInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.PushFaultNotificationInput;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class RpcPushNotificationsHandler implements PushNotifications {
-
- private static final Logger LOG = LoggerFactory.getLogger(RpcPushNotificationsHandler.class);
-
- private static String OWNKEYNAME = "VES";
- private final WebSocketServiceClientInternal webSocketService;
- private final DataProvider databaseService;
- private final DcaeForwarderInternal aotsDcaeForwarder;
-
- public RpcPushNotificationsHandler(WebSocketServiceClientInternal webSocketService, DataProvider databaseService,
- DcaeForwarderInternal aotsDcaeForwarder) {
- super();
- this.webSocketService = webSocketService;
- this.databaseService = databaseService;
- this.aotsDcaeForwarder = aotsDcaeForwarder;
- }
-
- @Override
- public void pushAttributeChangeNotification(PushAttributeChangeNotificationInput input) {
-
- LOG.debug("Got attribute change event {}", input);
-
- EventlogBuilder enventlogBuilder = new EventlogBuilder();
- enventlogBuilder.setSourceType(SourceType.Ves);
- enventlogBuilder.fieldsFrom(input);
- EventlogEntity eventlogEntity = enventlogBuilder.build();
- databaseService.writeEventLog(eventlogEntity);
- webSocketService.sendViaWebsockets(OWNKEYNAME, new AttributeValueChangedNotificationXml(eventlogEntity));
-
- }
-
- @Override
- public void pushFaultNotification(PushFaultNotificationInput input) {
-
- LOG.debug("Got fault event {}", input);
-
- FaultlogBuilder faultlogBuilder = new FaultlogBuilder();
- faultlogBuilder.setSourceType(SourceType.Ves);
- faultlogBuilder.fieldsFrom(input);
- FaultlogEntity faultlogEntity = faultlogBuilder.build();
- databaseService.writeFaultLog(faultlogEntity);
-
- FaultcurrentBuilder faultcurrentBuilder = new FaultcurrentBuilder();
- faultcurrentBuilder.fieldsFrom(input);
- FaultcurrentEntity faultcurrentEntity = faultcurrentBuilder.build();
- databaseService.updateFaultCurrent(faultcurrentEntity);
-
- ProblemNotificationXml notificationXml = new ProblemNotificationXml(faultlogEntity);
- aotsDcaeForwarder.sendProblemNotificationUsingMaintenanceFilter(OWNKEYNAME, notificationXml);
- webSocketService.sendViaWebsockets(OWNKEYNAME, notificationXml);
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/listener/NetconfChangeListener.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/listener/NetconfChangeListener.java
deleted file mode 100644
index 2334bd181..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/listener/NetconfChangeListener.java
+++ /dev/null
@@ -1,156 +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.impl.listener;
-
-import java.util.Collection;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.NetconfNodeService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.NetconfNodeService.Action;
-import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.DataObjectModification;
-import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType;
-import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
-import org.opendaylight.mdsal.binding.api.DataTreeModification;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.network.topology.topology.topology.types.TopologyNetconf;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
-import org.opendaylight.yangtools.concepts.ListenerRegistration;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-// 07.09.18 Switched to DataTreeChangeListener from ClusteredDataTreeChangeListener -> DM Service is
-// running at all nodes
-// This is not correct
-public class NetconfChangeListener implements ClusteredDataTreeChangeListener<Node>, AutoCloseable {
-
- private static final Logger LOG = LoggerFactory.getLogger(NetconfChangeListener.class);
-
- private static final InstanceIdentifier<Node> NETCONF_NODE_TOPO_IID =
- InstanceIdentifier.create(NetworkTopology.class)
- .child(Topology.class, new TopologyKey(new TopologyId(TopologyNetconf.QNAME.getLocalName())))
- .child(Node.class);
- // Name of ODL controller NETCONF instance
- private static final NodeId CONTROLLER = new NodeId("controller-config");
-
- private final NetconfNodeService deviceManagerService;
- private final DataBroker dataBroker;
- private ListenerRegistration<NetconfChangeListener> dlcReg;
-
- public NetconfChangeListener(NetconfNodeService deviceManagerService, DataBroker dataBroker) {
- this.deviceManagerService = deviceManagerService;
- this.dataBroker = dataBroker;
- }
-
- public void register() {
- DataTreeIdentifier<Node> treeId = DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, NETCONF_NODE_TOPO_IID);
-
- dlcReg = dataBroker.registerDataTreeChangeListener(treeId, this);
- }
-
- @Override
- public void close() {
- if (dlcReg != null) {
- dlcReg.close();
- }
- }
- /**
- * Listener function to select the right node from DataObjectModification
- */
- @Override
- public void onDataTreeChanged(Collection<DataTreeModification<Node>> changes) {
- LOG.debug("OnDataChange, TreeChange, changes:{}", changes.size());
-
- for (final DataTreeModification<Node> change : changes) {
- final DataObjectModification<Node> root = change.getRootNode();
- final ModificationType modificationType = root.getModificationType();
- if (LOG.isTraceEnabled()) {
- LOG.trace("Handle this modificationType:{} path:{} root:{}", modificationType, change.getRootPath(),
- root);
- }
- switch (modificationType) {
- case SUBTREE_MODIFIED:
- // Change of subtree information
- // update(change); OLD
- doProcessing(Action.UPDATE, root.getDataAfter());
- break;
- case WRITE:
- // Create or modify top level node
- // Treat an overwrite as an update
- boolean update = root.getDataBefore() != null;
- if (update) {
- // update(change);
- doProcessing(Action.UPDATE, root.getDataAfter());
- } else {
- // add(change);
- doProcessing(Action.CREATE, root.getDataAfter());
- }
- break;
- case DELETE:
- // Node removed
- // remove(change);
- doProcessing(Action.REMOVE, root.getDataBefore());
- break;
- }
- }
- }
-
- /*
- * ----------------------------------------------------------------
- */
-
- /**
- * Process event and forward to clients if Node is a NetconfNode
- * @param action
- * @param node Basis node
- */
- private void doProcessing(Action action, Node node) {
-
- NodeId nodeId = null;
- NetconfNode nnode = null;
-
- try {
- if (node != null) {
- nodeId = node.key().getNodeId(); //Never null
- nnode = node.augmentation(NetconfNode.class);
- }
-
- if (node == null || nnode == null) {
- LOG.warn("Unexpected node {}, netconf node {} id {}", node, nnode, nodeId);
- } else {
- // Do not forward any controller related events to devicemanager
- if (nodeId.equals(CONTROLLER)) {
- LOG.debug("Stop processing for [{}]", nodeId);
- } else {
- // Action forwarded to devicehandler
- deviceManagerService.netconfNodeChangeHandler(action, nodeId, nnode);
- }
- }
- } catch (NullPointerException e) {
- LOG.warn("Unexpected null .. stop processing.", e);
- }
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/util/GenericTransactionUtils.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/util/GenericTransactionUtils.java
deleted file mode 100644
index ed4278923..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/util/GenericTransactionUtils.java
+++ /dev/null
@@ -1,140 +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.impl.util;
-
-import com.google.common.base.Preconditions;
-import com.google.common.util.concurrent.FluentFuture;
-import java.util.NoSuchElementException;
-import java.util.Optional;
-import java.util.concurrent.CancellationException;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicReference;
-
-import org.apache.commons.lang3.exception.ExceptionUtils;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.TransactionUtils;
-import org.opendaylight.mdsal.binding.api.DataBroker;
-import org.opendaylight.mdsal.binding.api.ReadTransaction;
-import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yangtools.yang.binding.DataObject;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public final class GenericTransactionUtils implements TransactionUtils {
- static final Logger LOG = LoggerFactory.getLogger(GenericTransactionUtils.class);
-
- /**
- * Deliver the data back or null. Warning
- *
- * @param <T> SubType of the DataObject to be handled
- * @param dataBroker for accessing data
- * @param dataStoreType to address datastore
- * @param iid id to access data
- * @return null or object
- */
- @Override
- @Nullable
- public <T extends DataObject> T readData(DataBroker dataBroker, LogicalDatastoreType dataStoreType,
- InstanceIdentifier<T> iid) {
-
- AtomicBoolean noErrorIndication = new AtomicBoolean();
- AtomicReference<String> statusText = new AtomicReference<>();
-
- @Nullable T obj = readDataOptionalWithStatus(dataBroker, dataStoreType, iid, noErrorIndication, statusText);
-
- if (!noErrorIndication.get()) {
- LOG.warn("Read transaction for identifier " + iid + " failed with status " + statusText.get());
- }
-
- return obj;
- }
-
- /**
- * Deliver the data back or null
- *
- * @param <T> SubType of the DataObject to be handled
- * @param dataBroker for accessing data
- * @param dataStoreType to address datastore
- * @param iid id to access data
- * @param noErrorIndication (Output) true if data could be read and are available and is not null
- * @param statusIndicator (Output) String with status indications during the read.
- * @return null or object
- */
- @Override
- @SuppressWarnings("null")
- public @Nullable <T extends DataObject> T readDataOptionalWithStatus(DataBroker dataBroker,
- LogicalDatastoreType dataStoreType, InstanceIdentifier<T> iid, AtomicBoolean noErrorIndication,
- AtomicReference<String> statusIndicator) {
-
- @Nullable T data = null;
- noErrorIndication.set(false);
-
- statusIndicator.set("Preconditions");
- Preconditions.checkNotNull(dataBroker);
-
- int retry = 0;
- int retryDelayMilliseconds = 2000;
- int maxRetries = 5; // 0 no Retry
-
- do {
- if (retry > 0) {
- try {
- LOG.debug("Sleep {}ms", retryDelayMilliseconds);
- Thread.sleep(retryDelayMilliseconds);
- } catch (InterruptedException e) {
- LOG.debug("Sleep interrupted", e);
- Thread.currentThread().interrupt();
- }
- }
-
- LOG.debug("Sending message with retry {} ", retry);
- statusIndicator.set("Create Read Transaction");
-
- try (ReadTransaction readTransaction = dataBroker.newReadOnlyTransaction();) {
- @NonNull FluentFuture<Optional<T>> od = readTransaction.read(dataStoreType, iid);
- statusIndicator.set("Read done");
- if (od != null) {
- statusIndicator.set("Unwrap checkFuture done");
- Optional<T> optionalData = od.get();
- if (optionalData != null) {
- statusIndicator.set("Unwrap optional done");
- data = optionalData.orElse(null);
- statusIndicator.set("Read transaction done");
- noErrorIndication.set(true);
- }
- }
-
- readTransaction.close();
- } catch (CancellationException | ExecutionException | InterruptedException | NoSuchElementException e) {
- statusIndicator.set(ExceptionUtils.getStackTrace(e));
- if (e instanceof InterruptedException) {
- Thread.currentThread().interrupt();
- }
- }
-
- } while (noErrorIndication.get() == false && retry++ < maxRetries);
-
- return data;
- }
-
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/util/InternalDateAndTime.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/util/InternalDateAndTime.java
deleted file mode 100644
index 91fed715d..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/util/InternalDateAndTime.java
+++ /dev/null
@@ -1,108 +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.impl.util;
-
-import org.onap.ccsdk.features.sdnr.wt.base.netconf.util.NetconfTimeStamp;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.DateAndTime;
-
-/**
- * Converts time stamps into internal format according to ONF1.2 and ISO 8601.
- * @author herbert
- *
- */
-public class InternalDateAndTime {
-
- private static final NetconfTimeStamp NETCONFTIME_CONVERTER = NetconfTimeStamp.getConverter();
-
- private static final InternalDateAndTime TESTPATTERN = new InternalDateAndTime("2017-01-01T00:00:00.0Z");
- private static final String INITIALPATTERN = "0000-00-00T00:00:00.0Z";
-
- String internalDateAndTime = INITIALPATTERN;
-
- /**
- * Static builder ONF1.2
- * @param time in ONF1.2 yang format
- * @return InternalDateAndTime
- */
- public static InternalDateAndTime valueOf(DateAndTime time) {
- return new InternalDateAndTime(time);
- }
-
- /**
- * Static builder ONF1.0
- * @param time in ONF1.0 yang format
- * @return InternalDateAndTime
- */
-
- public static InternalDateAndTime valueOf(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime time) {
- return new InternalDateAndTime(time);
- }
-
- /**
- * @return Getter with String representation
- */
- public String getValue() {
- return internalDateAndTime;
- }
-
- /*----------------------------------------------------------------
- * Private constructors and functions
- */
-
- /**
- * Convert ONF 1.2 DateAndTime to String
- * @param time as input
- */
- private InternalDateAndTime(DateAndTime time) {
- internalDateAndTime = NETCONFTIME_CONVERTER.getTimeStampFromNetconf(time.getValue());
- }
-
- /**
- * Convert ONF 1.2 DateAndTime to String
- * @param time as input
- */
- private InternalDateAndTime(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime time) {
- if (time != null) {
- internalDateAndTime = NETCONFTIME_CONVERTER.getTimeStampFromNetconf(time.getValue());
- } else {
- internalDateAndTime = INITIALPATTERN;
- }
- }
-
- /**
- * Setup static TEST
- * @param internalDateAndTime
- */
- private InternalDateAndTime(String internalDateAndTime) {
- this.internalDateAndTime = internalDateAndTime;
- }
-
- /**
- * Get a testpattern
- * @return testpattern
- */
- public static InternalDateAndTime getTestpattern() {
- return TESTPATTERN;
- }
-
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/util/InternalSeverity.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/util/InternalSeverity.java
deleted file mode 100644
index 54b91ad9a..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/util/InternalSeverity.java
+++ /dev/null
@@ -1,191 +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==========================================================================
- ******************************************************************************/
-/**
- * @author herbert
- *
- */
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util;
-
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.SeverityType;
-
-public enum InternalSeverity {
-
- NonAlarmed,
- Warning,
- Minor,
- Major,
- Critical;
-
- public boolean isNoAlarmIndication() {
- return this == NonAlarmed;
- }
-
- public String getValueAsString() {
- return this.name();
- }
-
- @Override
- public String toString() {
- return this.name();
- }
-
- public String toNetconfString() {
- switch (this) {
- case NonAlarmed:
- return "non-alarmed";
- case Warning:
- return "warning";
- case Minor:
- return "minor";
- case Major:
- return "major";
- case Critical:
- return "critical";
- }
- return "not-specified";
- }
-
- public SeverityType toDataProviderSeverityType() {
- switch (this) {
- case NonAlarmed:
- return SeverityType.NonAlarmed;
- case Warning:
- return SeverityType.Warning;
- case Minor:
- return SeverityType.Minor;
- case Major:
- return SeverityType.Major;
- case Critical:
- return SeverityType.Critical;
- }
- return null; //Should never happen
- }
-
- /**
- * convert ONF 1.2 Severity
- * @param severity as input
- * @return String with related output
- */
- public static InternalSeverity valueOf(org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.SeverityType severity ) {
- switch( severity ) {
- case NonAlarmed:
- return InternalSeverity.NonAlarmed;
- case Warning:
- return InternalSeverity.Warning;
- case Minor:
- return InternalSeverity.Minor;
- case Major:
- return InternalSeverity.Major;
- case Critical:
- return InternalSeverity.Critical;
- }
- return null;
- }
-
- /**
- * convert ONF 1.2.1.1 Severity
- * @param severity as input
- * @return String with related output
- */
- public static InternalSeverity valueOf(org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.SeverityType severity ) {
- switch( severity ) {
- case NonAlarmed:
- return InternalSeverity.NonAlarmed;
- case Warning:
- return InternalSeverity.Warning;
- case Minor:
- return InternalSeverity.Minor;
- case Major:
- return InternalSeverity.Major;
- case Critical:
- return InternalSeverity.Critical;
- }
- return null;
- }
-
- /**
- * convert ONF 1.2.1.1p Severity
- * @param severity as input
- * @return String with related output
- */
- public static InternalSeverity valueOf(org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.SeverityType severity ) {
- switch( severity ) {
- case NonAlarmed:
- return InternalSeverity.NonAlarmed;
- case Warning:
- return InternalSeverity.Warning;
- case Minor:
- return InternalSeverity.Minor;
- case Major:
- return InternalSeverity.Major;
- case Critical:
- return InternalSeverity.Critical;
- }
- return null;
- }
-
-
-
- /**
- * convert a text string into Severity
- * @param severityString with textes: warning minor major critical non[-]alarmed. (Capital or lowercase)
- * @return related enum. Unknown oe illegal are converted to NonAlarm
- */
- public static @Nullable InternalSeverity valueOfString(String severityString) {
-
- switch( severityString.toLowerCase().trim() ) {
- case "warning":
- return InternalSeverity.Warning;
- case "minor":
- return InternalSeverity.Minor;
- case "major":
- return InternalSeverity.Major;
- case "critical":
- return InternalSeverity.Critical;
- }
- return InternalSeverity.NonAlarmed;
-
- }
-
- /**
- * Convert to InternalSeverity
- * @param severity to be converted
- * @return InternalSeverity, null converted to NonAlarmed
- */
- public static InternalSeverity valueOf(@org.eclipse.jdt.annotation.Nullable SeverityType severity) {
- if (severity != null) {
- switch (severity) {
- case NonAlarmed:
- return InternalSeverity.NonAlarmed;
- case Warning:
- return InternalSeverity.Warning;
- case Minor:
- return InternalSeverity.Minor;
- case Major:
- return InternalSeverity.Major;
- case Critical:
- return InternalSeverity.Critical;
- }
- }
- return InternalSeverity.NonAlarmed;
- }
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/AttributeValueChangedNotificationXml.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/AttributeValueChangedNotificationXml.java
deleted file mode 100644
index 471060c2d..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/AttributeValueChangedNotificationXml.java
+++ /dev/null
@@ -1,86 +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.impl.xml;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
-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.rev190801.EventlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.EventlogEntity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.SourceType;
-
-@XmlRootElement(name = "AttributeValueChangedNotification")
-public class AttributeValueChangedNotificationXml extends MwtNotificationBase implements GetEventType {
-
- private static String EVENTTYPE = "AttributeValueChangedNotification";
-
- @XmlElement(name = "attributeName")
- private String attributeName;
-
- @XmlElement(name = "newValue")
- private String newValue;
-
- public AttributeValueChangedNotificationXml() {
-
- }
-
- /**
- * Normalized notification
- * @param nodeName name of mountpoint
- * @param counter of notification
- * @param timeStamp from ne
- * @param objectIdRef from ne
- * @param attributeName from ne
- * @param newValue from ne
- */
- public AttributeValueChangedNotificationXml(String nodeName, Integer counter, InternalDateAndTime timeStamp, String objectIdRef,
- String attributeName, String newValue) {
- super(nodeName, counter, timeStamp, objectIdRef);
- this.attributeName = attributeName;
- this.newValue = newValue;
- }
-
- public AttributeValueChangedNotificationXml(EventlogEntity eventlogEntitiy) {
- this(eventlogEntitiy.getNodeId(), eventlogEntitiy.getCounter(),
- InternalDateAndTime.valueOf(eventlogEntitiy.getTimestamp()), eventlogEntitiy.getObjectId(),
- eventlogEntitiy.getAttributeName(), eventlogEntitiy.getNewValue());
- }
-
-
- public String getAttributeName() {
- return attributeName;
- }
-
- public String getNewValue() {
- return newValue;
- }
-
- @Override
- public String getEventType() {
- return EVENTTYPE;
- }
-
- public EventlogEntity getEventlogEntity() {
- return new EventlogBuilder().setAttributeName(attributeName).setNewValue(newValue)
- .setCounter(Integer.valueOf(this.getCounter()))
- .setNodeId(this.getNodeName()).setObjectId(this.getObjectId())
- .setTimestamp(new DateAndTime(this.getTimeStamp())).setSourceType(SourceType.Netconf).build();
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/GetEventType.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/GetEventType.java
deleted file mode 100644
index ba3e23c77..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/GetEventType.java
+++ /dev/null
@@ -1,29 +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.impl.xml;
-
-/**
- * @author herbert
- *
- */
-public interface GetEventType {
- public String getEventType();
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/MwtNotificationBase.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/MwtNotificationBase.java
deleted file mode 100644
index 156f9226e..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/MwtNotificationBase.java
+++ /dev/null
@@ -1,130 +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.impl.xml;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import javax.annotation.Nonnull;
-import javax.xml.bind.annotation.XmlElement;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
-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.netconf.node.topology.rev150114.NetconfNodeConnectionStatus.ConnectionStatus;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ConnectionLogStatus;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ConnectionlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.ConnectionlogEntity;
-
-public class MwtNotificationBase {
-
- private static String EMPTY = "empty";
-
- private String nodeName;
- private String counter;
- private String timeStamp;
- private @Nonnull String objectId;
-
- public MwtNotificationBase() {
- // For Jaxb
- }
-
- public MwtNotificationBase(String nodeName, Integer counter, InternalDateAndTime timeStamp, String objectId) {
- this.nodeName = nodeName;
- this.counter = String.valueOf(counter);
- this.timeStamp = timeStamp.getValue();
- this.objectId = objectId;
- if (this.objectId == null) {
- this.objectId = EMPTY;
- }
- }
-
- @XmlElement(name = "nodeName")
- public String getNodeName() {
- return nodeName;
- }
-
- @XmlElement(name = "counter")
- public String getCounter() {
- return counter;
- }
-
- @XmlElement(name = "timeStamp")
- public String getTimeStamp() {
- return timeStamp;
- }
-
- @XmlElement(name = "objectId")
- public String getObjectId() {
- return objectId;
- }
-
- /**
- * Provide ConnectionlogEntity type
- * @return ConnectionlogEntity
- */
- public ConnectionlogEntity getConnectionlogEntity() {
- return new ConnectionlogBuilder()
- .setNodeId(objectId)
- .setStatus(getStatus())
- .setTimestamp(new DateAndTime(timeStamp))
- .build();
- }
-
- /**
- * Provide connection status for mountpoint log.
- * TODO Add status disconnected if mountpoint is required, but does not exists.
- * @return
- */
- private ConnectionLogStatus getStatus() {
-
- if (this instanceof ObjectCreationNotificationXml) {
- return ConnectionLogStatus.Mounted;
-
- } else if (this instanceof ObjectDeletionNotificationXml) {
- return ConnectionLogStatus.Unmounted;
-
- } else if (this instanceof AttributeValueChangedNotificationXml) {
- String pnx = ((AttributeValueChangedNotificationXml)this).getNewValue();
- if (pnx.equals(ConnectionStatus.Connected.getName())) {
- return ConnectionLogStatus.Connected;
-
- } else if (pnx.equals(ConnectionStatus.Connecting.getName())) {
- return ConnectionLogStatus.Connecting;
-
- } else if (pnx.equals(ConnectionStatus.UnableToConnect.getName())) {
- return ConnectionLogStatus.UnableToConnect;
- }
- }
- return ConnectionLogStatus.Undefined;
- }
-
- /**
- * Type for the Database to document the the same name that is used in the websockets.
- * @return String with type name of child class
- */
- @JsonProperty("type")
- public String getType() {
- return this.getClass().getSimpleName();
- }
-
- @Override
- public String toString() {
- return "MwtNotificationBase [getType()="+ getType() + ", nodeName=" + nodeName + ", counter=" + counter + ", timeStamp=" + timeStamp
- + ", objectId=" + objectId + "]";
- }
-
-
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/ObjectCreationNotificationXml.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/ObjectCreationNotificationXml.java
deleted file mode 100644
index a64919fa4..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/ObjectCreationNotificationXml.java
+++ /dev/null
@@ -1,70 +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.impl.xml;
-
-import javax.xml.bind.annotation.XmlRootElement;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
-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.rev190801.Eventlog;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.EventlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.SourceType;
-
-@XmlRootElement(name = "ObjectCreationNotification")
-public class ObjectCreationNotificationXml extends MwtNotificationBase implements GetEventType {
-
- private static String EVENTTYPE = "ObjectCreationNotification";
- private static String ACTION = "creation";
-
- public ObjectCreationNotificationXml() {
-
- }
-
- /**
- * Normalized notification
- * @param nodeName name of mountpoint or instance that owns the problem
- * @param counter of notification
- * @param timeStamp from ne
- * @param objectIdRef from ne
- */
- public ObjectCreationNotificationXml(String nodeName, Integer counter, InternalDateAndTime timeStamp, String objectIdRef) {
- super(nodeName, counter, timeStamp, objectIdRef);
- }
-
- /*public ObjectCreationNotificationXml(String nodeName, org.opendaylight.yang.gen.v1.uri.onf.microwavemodel.notifications.rev160809.ObjectCreationNotification notification) {
- super(nodeName, notification.getCounter().toString(), InternalDateAndTime.valueOf(notification.getTimeStamp()),
- notification.getObjectIdRef().getValue());
- }
-
- public ObjectCreationNotificationXml(String nodeName, org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ObjectCreationNotification notification) {
- super(nodeName, notification.getCounter().toString(), InternalDateAndTime.valueOf(notification.getTimeStamp()),
- notification.getObjectIdRef().getValue());
- }*/
-
- @Override
- public String getEventType() {
- return EVENTTYPE;
- }
-
- public Eventlog getEventlogEntity() {
- return new EventlogBuilder().setAttributeName(ACTION).setNewValue(ACTION)
- .setCounter(Integer.valueOf(this.getCounter()))
- .setNodeId(this.getNodeName()).setObjectId(this.getObjectId())
- .setTimestamp(new DateAndTime(this.getTimeStamp())).setSourceType(SourceType.Netconf).build();
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/ObjectDeletionNotificationXml.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/ObjectDeletionNotificationXml.java
deleted file mode 100644
index 2b50411fe..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/ObjectDeletionNotificationXml.java
+++ /dev/null
@@ -1,73 +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.impl.xml;
-
-import javax.xml.bind.annotation.XmlRootElement;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
-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.rev190801.Eventlog;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.EventlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.SourceType;
-
-@XmlRootElement(name = "ObjectDeletionNotification")
-public class ObjectDeletionNotificationXml extends MwtNotificationBase implements GetEventType {
-
- private static String EVENTTYPE = "ObjectDeletionNotification";
- private static String ACTION = "deletion";
-
- public ObjectDeletionNotificationXml() {
-
- }
-
- /**
- * Normalized notification
- * @param nodeName name of mountpoint or instance that owns the problem
- * @param counter of notification
- * @param timeStamp from ne
- * @param objectIdRef from ne
- */
- public ObjectDeletionNotificationXml(String nodeName, Integer counter, InternalDateAndTime timeStamp, String objectIdRef) {
- super(nodeName, counter, timeStamp, objectIdRef);
- }
-
- /*
- public ObjectDeletionNotificationXml(String nodeName, ObjectDeletionNotification notification) {
- super(nodeName, notification.getCounter().toString(), InternalDateAndTime.valueOf(notification.getTimeStamp()),
-// notification.getObjectId().getValue());
- notification.getObjectIdRef().getValue());
- }*/
-/*
- public ObjectDeletionNotificationXml(String nodeName, org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ObjectDeletionNotification notification) {
- super(nodeName, notification.getCounter().toString(), InternalDateAndTime.valueOf(notification.getTimeStamp()),
-// notification.getObjectId().getValue());
- notification.getObjectIdRef().getValue());
- }
-*/
- @Override
- public String getEventType() {
- return EVENTTYPE;
- }
-
- public Eventlog getEventlogEntity() {
- return new EventlogBuilder().setAttributeName(ACTION).setNewValue(ACTION)
- .setCounter(Integer.valueOf(this.getCounter()))
- .setNodeId(this.getNodeName()).setObjectId(this.getObjectId())
- .setTimestamp(new DateAndTime(this.getTimeStamp())).setSourceType(SourceType.Netconf).build();
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/ProblemNotificationXml.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/ProblemNotificationXml.java
deleted file mode 100644
index dcb299a8e..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/ProblemNotificationXml.java
+++ /dev/null
@@ -1,146 +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.impl.xml;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.database.FaultEntityManager;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalDateAndTime;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.util.InternalSeverity;
-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.rev190801.Faultcurrent;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.FaultcurrentBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Faultlog;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.FaultlogBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.FaultlogEntity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.SourceType;
-import org.slf4j.Logger;
-
-@XmlRootElement(name = "ProblemNotification")
-public class ProblemNotificationXml extends MwtNotificationBase implements GetEventType {
-
- private static String EVENTTYPE = "ProblemNotification";
-
- @XmlElement(name = "problem")
- private String problem;
-
- @XmlElement(name = "severity")
- private InternalSeverity severity;
-
- public ProblemNotificationXml() {
-
- }
-
- /**
- * Generic Problem. All the parameters are of type Strings according to YANG
- * specification.
- *
- * @param nodeName Name of mountpoint
- * @param uuId Name of Interface Pac
- * @param problemNameString Name of the problem
- * @param problemSeverityString Severitycode of the problem
- * @param counter Counter from device
- * @param internaltimeStampString Timestamp according to internal format.
- */
- public ProblemNotificationXml(String nodeName, String uuId, String problemNameString,
- InternalSeverity problemSeverityString, Integer counter, InternalDateAndTime internaltimeStampString) {
- super(nodeName, counter, internaltimeStampString, uuId);
- this.problem = problemNameString;
- this.severity = problemSeverityString;
- }
-
- public ProblemNotificationXml(FaultlogEntity input) {
- this(input.getNodeId(), input.getObjectId(), input.getProblem(), InternalSeverity.valueOf(input.getSeverity()),
- input.getCounter(), InternalDateAndTime.valueOf(input.getTimestamp()));
- }
-
- public String getProblem() {
- return problem;
- }
-
- public InternalSeverity getSeverity() {
- return severity;
- }
-
- public boolean isNotManagedAsCurrentProblem() {
- return ! FaultEntityManager.isManagedAsCurrentProblem(getProblem());
- }
-
- public boolean isNoAlarmIndication() {
- return severity.isNoAlarmIndication();
- }
-
- /**
- * Create a specific ES id for the current log.
- * @return a string with the generated ES Id
- */
- @JsonIgnore
- public String genSpecificEsId() {
- return FaultEntityManager.genSpecificEsId(getNodeName(), getObjectId(), getProblem());
- }
-
- @JsonIgnore
- public Faultlog getFaultlog(SourceType sourceType) {
- return new FaultlogBuilder().setNodeId(getNodeName()).setCounter(Integer.parseInt(getCounter()))
- .setObjectId(getObjectId()).setProblem(getProblem()).setSourceType(sourceType)
- .setSeverity(getSeverity().toDataProviderSeverityType()).setTimestamp(new DateAndTime(getTimeStamp()))
- .build();
- }
-
- @JsonIgnore
- public Faultcurrent getFaultcurrent() {
- return new FaultcurrentBuilder().setNodeId(getNodeName()).setCounter(Integer.parseInt(getCounter()))
- .setObjectId(genSpecificEsId()).setProblem(getProblem())
- .setSeverity(getSeverity().toDataProviderSeverityType()).setTimestamp(new DateAndTime(getTimeStamp()))
- .build();
- }
-
- @Override
- public String toString() {
- return "ProblemNotificationXml [problem=" + problem + ", severity=" + severity + ", toString()="
- + super.toString() + "]";
- }
-
- @Override
- public String getEventType() {
- return EVENTTYPE;
- }
-
- /**
- * LOG the newly added problems of the interface pac
- * @param log of logger
- * @param uuid as log info
- * @param resultList with all problems
- * @param idxStart start of listing till end
- */
- public static void debugResultList(Logger log, String uuid, List<ProblemNotificationXml> resultList, int idxStart) {
- if (log.isDebugEnabled()) {
- StringBuffer sb = new StringBuffer();
- 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.toString());
- }
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientDummyImpl.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientDummyImpl.java
deleted file mode 100644
index b4dd874b9..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientDummyImpl.java
+++ /dev/null
@@ -1,42 +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.impl.xml;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.handler.ODLEventListenerHandler;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * WrapperMock class for web-socket notifications to the web-socket service.
- */
-public class WebSocketServiceClientDummyImpl implements WebSocketServiceClientInternal {
-
- private static final Logger LOG = LoggerFactory.getLogger(ODLEventListenerHandler.class);
-
- public WebSocketServiceClientDummyImpl() {
- }
-
- @Override
- public <T extends MwtNotificationBase & GetEventType> void sendViaWebsockets(String nodeName, T notificationXml) {
- LOG.info("Dummy to send websocket event {} for mountpoint {}", notificationXml.getClass().getSimpleName(), nodeName);
- }
-
- @Override
- public void close() throws Exception {
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientImpl.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientImpl.java
deleted file mode 100644
index b3c177efa..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientImpl.java
+++ /dev/null
@@ -1,42 +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.impl.xml;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.handler.ODLEventListenerHandler;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * WrapperMock class for web-socket notifications to the web-socket service.
- */
-public class WebSocketServiceClientImpl implements WebSocketServiceClientInternal {
-
- private static final Logger LOG = LoggerFactory.getLogger(ODLEventListenerHandler.class);
-
- public WebSocketServiceClientImpl() {
- }
-
- @Override
- public <T extends MwtNotificationBase & GetEventType> void sendViaWebsockets(String nodeName, T notificationXml) {
- LOG.info("Dummy to send websocket event {} for mountpoint {}", notificationXml.getClass().getSimpleName(), nodeName);
- }
-
- @Override
- public void close() throws Exception {
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientImpl2.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientImpl2.java
deleted file mode 100644
index ba2a5b18b..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientImpl2.java
+++ /dev/null
@@ -1,83 +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.impl.xml;
-
-import java.util.concurrent.Future;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.handler.ODLEventListenerHandler;
-import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.websocketmanager.rev150105.WebsocketEventInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.websocketmanager.rev150105.WebsocketEventOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.websocketmanager.rev150105.WebsocketmanagerService;
-import org.opendaylight.yangtools.yang.common.RpcResult;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Wrapper for forwarding web-socket notifications to the web-socket service, that is running as
- * bundle.
- */
-@SuppressWarnings("deprecation")
-public class WebSocketServiceClientImpl2 implements WebSocketServiceClientInternal {
-
- private static final Logger LOG = LoggerFactory.getLogger(ODLEventListenerHandler.class);
-
- private final WebsocketmanagerService websocketmanagerService;
- private final XmlMapper xmlMapper;
-
- /**
- * Implementation of Websocket notification processor.
- * @param rpcProviderRegistry to get MDSAL services.
- */
- @Deprecated
- public WebSocketServiceClientImpl2(RpcProviderRegistry rpcProviderRegistry) {
- super();
- this.websocketmanagerService = rpcProviderRegistry.getRpcService(WebsocketmanagerService.class);
- this.xmlMapper = new XmlMapper();
- }
-
- /**
- * New: Implementation of Websocket notification processor.
- * @param websocketmanagerService2 to be used
- */
- public WebSocketServiceClientImpl2(WebsocketmanagerService websocketmanagerService2) {
- super();
- this.websocketmanagerService = websocketmanagerService2;
- this.xmlMapper = new XmlMapper();
- }
-
- @Override
- public <T extends MwtNotificationBase & GetEventType> void sendViaWebsockets(String nodeName, T notificationXml) {
- LOG.info("Send websocket event {} for mountpoint {}", notificationXml.getClass().getSimpleName(), nodeName);
-
- try {
- WebsocketEventInputBuilder wsBuilder = new WebsocketEventInputBuilder();
- wsBuilder.setNodeName(nodeName);
- wsBuilder.setEventType(notificationXml.getEventType());
- wsBuilder.setXmlEvent(xmlMapper.getXmlString(notificationXml));
- Future<RpcResult<WebsocketEventOutput>> result = websocketmanagerService.websocketEvent(wsBuilder.build());
- LOG.info("Send websocket result: {}", result.get().getResult().getResponse());
- } catch (Exception e) {
- LOG.warn("Can not send websocket event {} for mountpoint {} {}", notificationXml.getClass().getSimpleName(),
- nodeName, e.toString());
- }
- }
-
- @Override
- public void close() throws Exception {
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientInternal.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientInternal.java
deleted file mode 100644
index 9b3e674eb..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/WebSocketServiceClientInternal.java
+++ /dev/null
@@ -1,33 +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.impl.xml;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.WebSocketServiceClient;
-
-/**
- * Wrapper for forwarding websocket notifications to the websocket service, that is running as container.
- * @author herbert
- */
-public interface WebSocketServiceClientInternal extends WebSocketServiceClient, AutoCloseable {
-
- public <T extends MwtNotificationBase & GetEventType> void sendViaWebsockets(String nodeName, T notificationXml);
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/XmlMapper.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/XmlMapper.java
deleted file mode 100644
index 897795a0e..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/impl/xml/XmlMapper.java
+++ /dev/null
@@ -1,49 +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.impl.xml;
-
-import java.io.StringWriter;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class XmlMapper {
- private static final Logger LOG = LoggerFactory.getLogger(XmlMapper.class);
-
- public String getXmlString(MwtNotificationBase base) {
- String xml;
- JAXBContext jaxbContext;
- try {
- jaxbContext = JAXBContext.newInstance(AttributeValueChangedNotificationXml.class,
- ObjectCreationNotificationXml.class, ObjectDeletionNotificationXml.class,
- ProblemNotificationXml.class);
- Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
- jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
-
- StringWriter stringWriter = new StringWriter();
- jaxbMarshaller.marshal(base, stringWriter);
- xml = stringWriter.toString();
- } catch (JAXBException e) {
- LOG.warn("Problem in marshalling xml file {}", e);
- xml = null;
- }
- return xml;
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/MaintenanceRPCServiceAPI.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/MaintenanceRPCServiceAPI.java
deleted file mode 100644
index 3687625a0..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/MaintenanceRPCServiceAPI.java
+++ /dev/null
@@ -1,42 +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.maintenance;
-
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.GetMaintenanceModeInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.GetMaintenanceModeOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.GetRequiredNetworkElementKeysOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.SetMaintenanceModeInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.SetMaintenanceModeOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.ShowRequiredNetworkElementInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.ShowRequiredNetworkElementOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.TestMaintenanceModeInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.TestMaintenanceModeOutputBuilder;
-
-public interface MaintenanceRPCServiceAPI {
-
- public GetRequiredNetworkElementKeysOutputBuilder getRequiredNetworkElementKeys();
-
- public ShowRequiredNetworkElementOutputBuilder showRequiredNetworkElement(ShowRequiredNetworkElementInput input);
-
- public GetMaintenanceModeOutputBuilder getMaintenanceMode(GetMaintenanceModeInput input);
-
- public SetMaintenanceModeOutputBuilder setMaintenanceMode(SetMaintenanceModeInput input);
-
- public TestMaintenanceModeOutputBuilder testMaintenanceMode(TestMaintenanceModeInput input);
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/MaintenanceService.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/MaintenanceService.java
deleted file mode 100644
index dabcfd052..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/MaintenanceService.java
+++ /dev/null
@@ -1,33 +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.maintenance;
-
-public interface MaintenanceService {
-
- /**
- * Verify maintenance state of given object according to the filter settings.
- * The object is specified by the criteria provided in the parameters.
- * The data _id (uuid) is equal to the mountpointReference.
- * @param mountpointReference used as reference, to query the data from database.
- * @param objectIdRef first level id in onf core model, delivered by notification objectid
- * @param problem problem name of device, delivered in problem notification
- * @return boolean indication
- */
- boolean isONFObjectInMaintenance(String mountpointReference, String objectIdRef, String problem);
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/impl/HtDatabaseMaintenanceService.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/impl/HtDatabaseMaintenanceService.java
deleted file mode 100644
index 4d0a56fd3..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/impl/HtDatabaseMaintenanceService.java
+++ /dev/null
@@ -1,131 +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.maintenance.impl;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.common.HtAssert;
-import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
-import org.onap.ccsdk.features.sdnr.wt.database.EsDataObjectReaderWriter2;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.Entity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.MaintenanceBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.MaintenanceEntity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementConnectionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementConnectionEntity;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class HtDatabaseMaintenanceService {
-
- private static final Logger LOG = LoggerFactory.getLogger(HtDatabaseMaintenanceService.class);
-
- private final EsDataObjectReaderWriter2<MaintenanceEntity> maintenanceRW;
- private final EsDataObjectReaderWriter2<NetworkElementConnectionEntity> requiredNeRW;
-
- HtDatabaseMaintenanceService(@NonNull HtDatabaseClient client) throws ClassNotFoundException {
- HtAssert.nonnull(client);
-
- // Create control structure
- maintenanceRW = new EsDataObjectReaderWriter2<>(client, Entity.Maintenancemode, MaintenanceEntity.class,
- MaintenanceBuilder.class).setEsIdAttributeName("_id");
-
- requiredNeRW = new EsDataObjectReaderWriter2<>(client, Entity.NetworkelementConnection,
- NetworkElementConnectionEntity.class, NetworkElementConnectionBuilder.class)
- .setEsIdAttributeName("_id");
-
- }
-
- /**
- * Get existing object for mountpoint to manage maintenance mode
- * @return Object with configuration
- */
- @Nullable MaintenanceEntity getMaintenance(String mountpointId) {
- MaintenanceEntity deviceMaintenanceMode = null;
- if (maintenanceRW != null || mountpointId != null) {
- deviceMaintenanceMode = maintenanceRW.read(mountpointId);
- }
- return deviceMaintenanceMode;
- }
-
- MaintenanceEntity setMaintenance(MaintenanceEntity m) {
- if (maintenanceRW != null) {
- if (maintenanceRW.write(m, m.getNodeId() ) == null) {
- throw new IllegalArgumentException("Problem writing to database: "+m.getId());
- }
- LOG.info("Wrote maintenance object {}", m.toString());
- }
- return m;
- }
-
- List<MaintenanceEntity> getAll() {
- return maintenanceRW != null ? maintenanceRW.doReadAll().getHits() : new ArrayList<>();
- }
-
- MaintenanceEntity createIfNotExists(String mountpointId) {
- MaintenanceEntity deviceMaintenanceMode = null;
- if (maintenanceRW != null) {
- deviceMaintenanceMode = maintenanceRW.read(mountpointId);
- if (deviceMaintenanceMode == null) {
- LOG.debug("creating empty maintenance object in database");
- deviceMaintenanceMode = MaintenanceCalculator.getDefaultMaintenance(mountpointId);
- maintenanceRW.write(deviceMaintenanceMode, mountpointId);
- } else {
- LOG.debug("maintenance object already exists in database");
- }
- } else {
- LOG.warn("cannot create maintenance obj. db reader/writer is null");
- }
- return deviceMaintenanceMode;
- }
-
- void deleteIfNotRequired(String mountPointNodeName) {
-
- if (!this.isRequireNe(mountPointNodeName)) {
- if (maintenanceRW != null) {
- LOG.debug("removing maintenance object in database for " + mountPointNodeName);
- maintenanceRW.remove(mountPointNodeName);
- } else {
- LOG.warn("cannot create maintenance obj. db reader/writer is null");
- }
- }
-
- }
-
-
- // -- Private
- /**
- * Check in required ne if entry exists for mountpointNodeName
- *
- * @param mountPointNodeName
- * @return
- */
- private boolean isRequireNe(String mountPointNodeName) {
- NetworkElementConnectionEntity ne = null;
- if (requiredNeRW != null) {
- LOG.debug("searching for entry in required-networkelement for " + mountPointNodeName);
- ne = requiredNeRW.read(mountPointNodeName);
- } else {
- LOG.warn("cannot read db. no db reader writer initialized");
- }
- return ne != null;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/impl/MaintenanceCalculator.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/impl/MaintenanceCalculator.java
deleted file mode 100644
index 5ee846ee6..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/impl/MaintenanceCalculator.java
+++ /dev/null
@@ -1,169 +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.maintenance.impl;
-
-import java.time.Instant;
-import java.time.ZoneId;
-import java.time.ZonedDateTime;
-import java.time.format.DateTimeFormatter;
-import java.time.format.DateTimeParseException;
-import javax.annotation.Nonnull;
-import org.onap.ccsdk.features.sdnr.wt.base.netconf.util.NetconfTimeStamp;
-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.rev190801.MaintenanceBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.MaintenanceEntity;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class MaintenanceCalculator {
-
- private static final Logger LOG = LoggerFactory.getLogger(MaintenanceCalculator.class);
-
- private static ZoneId EsMaintenanceFilterTimeZone = ZoneId.of("UTC");
- //private static DateTimeFormatter FORMAT = DateTimeFormatter.ISO_DATE_TIME; // "1986-04-08T12:30:00"
- private static DateTimeFormatter FORMAT = DateTimeFormatter.ISO_OFFSET_DATE_TIME; // 2011-12-03T10:15:30+01:00
- private static ZonedDateTime EMPTYDATETIME = ZonedDateTime.ofInstant(Instant.EPOCH, EsMaintenanceFilterTimeZone);
-
- /** Intended to be used static **/
- private MaintenanceCalculator() {
- }
-
- /**
- * Provide default maintenanceinformation for a device
- * @param mountpointId nodeId of device
- * @return default data
- */
- static MaintenanceEntity getDefaultMaintenance(String mountpointId) {
-
- DateAndTime now = NetconfTimeStamp.getConverter().getTimeStamp();
-
- MaintenanceBuilder deviceMaintenanceModeBuilder = new MaintenanceBuilder();
- deviceMaintenanceModeBuilder.setNodeId(mountpointId).setId(mountpointId);
- // Use time from mountpoint creation
- deviceMaintenanceModeBuilder.setDescription("");
- // Use time from mountpoint creation
- deviceMaintenanceModeBuilder.setStart(now);
- deviceMaintenanceModeBuilder.setEnd(now);
- // Reference to all
- deviceMaintenanceModeBuilder.setObjectIdRef("");
- deviceMaintenanceModeBuilder.setProblem("");
- deviceMaintenanceModeBuilder.setActive(false);
-
- return deviceMaintenanceModeBuilder.build();
- }
-
-
-
- /**
- * Verify maintenance status
- * @param maintenance if null false, else according to settings
- * @param objectIdRef NETCONF object id
- * @param problem name that was provided
- * @param now time to verify with
- * @return true if in maintenance status
- */
- public static boolean isONFObjectInMaintenance(MaintenanceEntity maintenance, String objectIdRef, String problem,
- ZonedDateTime now) {
-
- if (maintenance != null) {
- Boolean isActive = maintenance.isActive();
- if (isActive != null && isActive && isInMaintenance(maintenance, objectIdRef, problem, now)) {
- return true;
- }
-
- }
- return false;
- }
-
- /** Shortcut **/
- public static boolean isONFObjectInMaintenance(MaintenanceEntity maintenance, String objectIdRef, String problem) {
- return isONFObjectInMaintenance(maintenance, objectIdRef, problem, getNow());
- }
-
-
- /*---------------------------------------------
- * private static helper functions to verify
- */
-
- /**
- * Get the actual time in the Filter time zone.
- * @return actual Time
- */
- private static ZonedDateTime getNow() {
- return ZonedDateTime.now(EsMaintenanceFilterTimeZone);
- }
-
-
- /**
- * Verify if the filter is active for an object
- *
- * @param now point of time to verify
- * @return if the object is covered by filter and now within point of time
- */
- private static boolean isInMaintenance(MaintenanceEntity maintenance, String objectIdRef, String problem, ZonedDateTime now) {
- return appliesToObjectReference(maintenance, objectIdRef, problem) && isInPeriod(maintenance.getStart(), maintenance.getEnd(), now);
- }
-
- /**
- * Compare the if probe is within the range of start and end.
- *
- * @param start of range
- * @param end of range
- * @param probe time to verify
- * @return boolean result true if (start <= probe <= end)
- */
- public static boolean isInPeriod(DateAndTime start, DateAndTime end, ZonedDateTime probe) {
- ZonedDateTime startZT = valueOf(start.getValue());
- ZonedDateTime endZT = valueOf(end.getValue());
- return startZT.compareTo(endZT) < 0 && startZT.compareTo(probe) <= 0 && endZT.compareTo(probe) >= 0;
- }
-
- /**
- * Verify if the definied object is matching to the referenced object
- * @param definition definition with parameters
- * @param pObjectIdRef If empty considered as true
- * @param pProblem if empty considered as true
- * @return true if if referenced
- */
- private static boolean appliesToObjectReference(@Nonnull MaintenanceEntity definition, @Nonnull String pObjectIdRef, @Nonnull String pProblem) {
- boolean res = (pObjectIdRef.isEmpty() || pObjectIdRef.contains(definition.getObjectIdRef()))
- && (pProblem.isEmpty() || pProblem.contains(definition.getProblem()));
- LOG.debug("Check result applies {}: {} {} against: {}", res, pObjectIdRef, pProblem, definition);
- return res;
- }
-
- /**
- * Convert String to time value
- * @param zoneTimeString with time
- * @return ZonedDateTime string
- */
- static ZonedDateTime valueOf(String zoneTimeString) {
- if (zoneTimeString == null || zoneTimeString.isEmpty()) {
- LOG.warn("Null or empty zoneTimeString");
- return EMPTYDATETIME;
- }
- try {
- return ZonedDateTime.parse(zoneTimeString, FORMAT);
- } catch (DateTimeParseException e) {
- LOG.warn("Can not parse zoneTimeString '{}'",zoneTimeString);
- return EMPTYDATETIME;
- }
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/impl/MaintenanceServiceImpl.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/impl/MaintenanceServiceImpl.java
deleted file mode 100644
index fb306b6cd..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/maintenance/impl/MaintenanceServiceImpl.java
+++ /dev/null
@@ -1,167 +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.maintenance.impl;
-
-import java.time.ZonedDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.maintenance.MaintenanceRPCServiceAPI;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.maintenance.MaintenanceService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.MaintenanceBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.MaintenanceEntity;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.GetMaintenanceModeInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.GetMaintenanceModeOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.GetRequiredNetworkElementKeysOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.SetMaintenanceModeInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.SetMaintenanceModeOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.ShowRequiredNetworkElementInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.ShowRequiredNetworkElementOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.TestMaintenanceModeInput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.TestMaintenanceModeOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.devicemanager.rev190109.show.required.network.element.output.RequiredNetworkElementBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class MaintenanceServiceImpl implements MaintenanceService, MaintenanceRPCServiceAPI, AutoCloseable {
-
- private static final Logger LOG = LoggerFactory.getLogger(MaintenanceServiceImpl.class);
-
- private final HtDatabaseMaintenanceService database;
-
- public MaintenanceServiceImpl(HtDatabaseClient client) throws ClassNotFoundException {
-
- LOG.info("Create {} start", MaintenanceServiceImpl.class);
- database = new HtDatabaseMaintenanceService(client);
- LOG.info("Create {} finished. DB Service {} started.", MaintenanceServiceImpl.class, client != null ? "sucessfully" : "not" );
-
- }
-
- public void createIfNotExists(String mountPointNodeName) {
- database.createIfNotExists(mountPointNodeName);
- }
-
- public void deleteIfNotRequired(String mountPointNodeName) {
- database.deleteIfNotRequired(mountPointNodeName);
- }
-
- /*-------------------------------------------------
- * Interface AutoClosable
- */
-
- @Override
- public void close() throws Exception {
- }
-
- /*-------------------------------------------------
- * Interface MaintenanceRPCServiceAPI
- */
-
- @Override
- public GetRequiredNetworkElementKeysOutputBuilder getRequiredNetworkElementKeys() {
- List<MaintenanceEntity> all = database.getAll();
-
- List<String> mountpointList = new ArrayList<>();
- for (MaintenanceEntity oneOfAll : all) {
- mountpointList.add(oneOfAll.getNodeId());
-
- }
- GetRequiredNetworkElementKeysOutputBuilder outputBuilder = new GetRequiredNetworkElementKeysOutputBuilder();
- outputBuilder.setMountpointNames(mountpointList);
- return outputBuilder;
- }
-
- @Override
- public ShowRequiredNetworkElementOutputBuilder showRequiredNetworkElement(ShowRequiredNetworkElementInput input) {
- ShowRequiredNetworkElementOutputBuilder outputBuilder = new ShowRequiredNetworkElementOutputBuilder();
- MaintenanceEntity maintenanceMode = database.getMaintenance(input.getMountpointName());
- if (maintenanceMode != null) {
- RequiredNetworkElementBuilder valueBuilder = new RequiredNetworkElementBuilder();
-
- valueBuilder.setMountpointName(maintenanceMode.getNodeId());
- valueBuilder.setStatus(String.valueOf(MaintenanceCalculator.isONFObjectInMaintenance(maintenanceMode, "","")));
- valueBuilder.setDescription("Pretty description here");
- outputBuilder.setRequiredNetworkElement(valueBuilder.build());
- } else {
- LOG.warn("No info in database for {}",input.getMountpointName());
- }
- return outputBuilder;
- }
-
- @Override
- public GetMaintenanceModeOutputBuilder getMaintenanceMode(GetMaintenanceModeInput input) {
-
- GetMaintenanceModeOutputBuilder outputBuilder;
- MaintenanceEntity maintenanceMode = database.getMaintenance(input.getMountpointName());
- if (maintenanceMode != null) {
- outputBuilder = new GetMaintenanceModeOutputBuilder(maintenanceMode);
- } else {
- throw new IllegalArgumentException("No info in database for "+input.getMountpointName());
- }
- return outputBuilder;
- }
-
- @Override
- public SetMaintenanceModeOutputBuilder setMaintenanceMode(SetMaintenanceModeInput input) {
-
- SetMaintenanceModeOutputBuilder outputBuilder = new SetMaintenanceModeOutputBuilder();
- MaintenanceBuilder mb = new MaintenanceBuilder(input);
- MaintenanceEntity m = mb.build();
- database.setMaintenance(m);
- return outputBuilder;
-
- }
-
- @Override
- public TestMaintenanceModeOutputBuilder testMaintenanceMode(TestMaintenanceModeInput input) {
-
- StringBuffer resultString = new StringBuffer();
-
- MaintenanceEntity maintenanceMode = database.getMaintenance(input.getMountpointName());
-
- ZonedDateTime now = MaintenanceCalculator.valueOf(input.getTestDate());
-
- resultString.append("In database table: ");
- resultString.append(maintenanceMode != null);
- resultString.append(" Maintenance active: ");
- resultString.append(MaintenanceCalculator.isONFObjectInMaintenance(maintenanceMode, input.getObjectIdRef(),
- input.getProblemName(), now));
- resultString.append(" at Timestamp: ");
- resultString.append(now);
- TestMaintenanceModeOutputBuilder outputBuilder = maintenanceMode != null
- ? new TestMaintenanceModeOutputBuilder(maintenanceMode)
- : new TestMaintenanceModeOutputBuilder();
- outputBuilder.setResultString(resultString.toString());
- return outputBuilder;
-
- }
-
- /*-------------------------------------------------
- * Interface MaintenaceService
- */
-
- @Override
- public boolean isONFObjectInMaintenance(String mountpointReference, String objectIdRef, String problem) {
- MaintenanceEntity maintenanceMode = database.getMaintenance(mountpointReference);
- boolean res = MaintenanceCalculator.isONFObjectInMaintenance(maintenanceMode, objectIdRef, problem);
- LOG.debug("inMaintenance={} for mountpoint/id/problem:{} {} {} Definition: {}",res, mountpointReference, objectIdRef, problem, this );
- return res;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/MicrowaveModelPerformanceDataProvider.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/MicrowaveModelPerformanceDataProvider.java
deleted file mode 100644
index c3e4c1e4e..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/MicrowaveModelPerformanceDataProvider.java
+++ /dev/null
@@ -1,42 +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.performancemanager.impl;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.AllPm;
-
-
-/**
- * Identify the NE as provider for performance data according to microwave model.
- *
- * @author herbert
- */
-
-public interface MicrowaveModelPerformanceDataProvider {
-
- public void resetPMIterator();
-
- public boolean hasNext();
-
- public void next();
-
- public AllPm getHistoricalPM();
-
- public String pmStatusToString();
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/PerformanceManagerImpl.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/PerformanceManagerImpl.java
deleted file mode 100644
index 9ad1b2578..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/PerformanceManagerImpl.java
+++ /dev/null
@@ -1,85 +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.performancemanager.impl;
-
-import org.eclipse.jdt.annotation.Nullable;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.DeviceManagerService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.ONFCoreNetworkElementRepresentation;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.performancemanager.impl.config.PmConfig;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.performancemanager.impl.database.service.MicrowaveHistoricalPerformanceWriterService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class PerformanceManagerImpl implements DeviceManagerService, AutoCloseable {
-
- private static final Logger LOG = LoggerFactory.getLogger(PerformanceManagerImpl.class);
-
- private @Nullable PerformanceManagerTask task;
-
- public PerformanceManagerImpl(long seconds, MicrowaveHistoricalPerformanceWriterService databaseService, ConfigurationFileRepresentation config) {
-
- LOG.info("Construct {}", PerformanceManagerImpl.class.getSimpleName());
-
- this.task = null;
- PmConfig configurationPM = new PmConfig(config);
- LOG.info("Performance manager configuration: {}", configurationPM);
-
- if (!configurationPM.isPerformanceManagerEnabled()) {
- LOG.info("Don't start performance manager");
-
- } else {
- LOG.info("{} Seconds", seconds);
- if (MicrowaveHistoricalPerformanceWriterService.isAvailable(databaseService)) {
-
- LOG.info("Start of PM task");
- task = new PerformanceManagerTask(seconds, databaseService);
- task.start();
- LOG.info("PM task scheduled");
-
- } else {
- LOG.info("Database not available. Do not start PM task");
- }
- }
-
- LOG.info("Construct end {}", PerformanceManagerImpl.class.getSimpleName());
- }
-
- @Override
- public void close() {
- LOG.info("Close {}", PerformanceManagerImpl.class.getSimpleName());
- if (task != null) {
- task.stop();
- }
- }
-
- public void registration(String mountPointNodeName, ONFCoreNetworkElementRepresentation ne) {
- LOG.debug("Register {}",mountPointNodeName);
- if (task != null) {
- task.registration(mountPointNodeName, ne);
- }
- }
-
- public void deRegistration(String mountPointNodeName) {
- LOG.debug("Deregister {}",mountPointNodeName);
- if (task != null) {
- task.deRegistration(mountPointNodeName);
- }
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/PerformanceManagerTask.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/PerformanceManagerTask.java
deleted file mode 100644
index 3d8116816..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/PerformanceManagerTask.java
+++ /dev/null
@@ -1,238 +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.performancemanager.impl;
-
-import java.util.Iterator;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledFuture;
-import java.util.concurrent.TimeUnit;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.ONFCoreNetworkElementRepresentation;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.AllPm;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.performancemanager.impl.database.service.MicrowaveHistoricalPerformanceWriterService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class PerformanceManagerTask implements Runnable {
-
- private static final Logger LOG = LoggerFactory.getLogger(PerformanceManagerTask.class);
- private static final String LOGMARKER = "PMTick";
-
- private int tickCounter = 0;
-
- private final ConcurrentHashMap<String, ONFCoreNetworkElementRepresentation> queue = new ConcurrentHashMap<>();
- private final MicrowaveHistoricalPerformanceWriterService databaseService;
- private final ScheduledExecutorService scheduler;
- private final long seconds;
-
- private ScheduledFuture<?> taskHandle = null;
- private Iterator<ONFCoreNetworkElementRepresentation> neIterator = null;
- private ONFCoreNetworkElementRepresentation actualNE = null;
-
- /**
- * Constructor of PM Task
- * @param seconds seconds to call PM Task
- * @param databaseService DB Service to load PM data to
- */
-
- public PerformanceManagerTask(long seconds, MicrowaveHistoricalPerformanceWriterService databaseService) {
-
- LOG.debug("Init task {}", PerformanceManagerTask.class.getSimpleName());
- this.seconds = seconds;
- this.databaseService = databaseService;
- this.scheduler = Executors.newSingleThreadScheduledExecutor();
-
- }
-
- /**
- * Start PM Task
- */
- public void start() {
- LOG.info("PM task created");
- taskHandle = this.scheduler.scheduleAtFixedRate(this, 0, seconds, TimeUnit.SECONDS);
- LOG.info("PM task scheduled");
- }
-
- /**
- * Stop everything
- */
- public void stop() {
- LOG.info("Stop {}", PerformanceManagerImpl.class.getSimpleName());
- if (taskHandle != null) {
- taskHandle.cancel(true);
- try {
- scheduler.awaitTermination(10, TimeUnit.SECONDS);
- } catch (InterruptedException e) {
- LOG.debug("Schdule stopped.",e);
- // Restore interrupted state...
- Thread.currentThread().interrupt();
- }
- }
- }
-
- /**
- * Add NE/Mountpoint to PM Processig
- * @param mountPointNodeName to be added
- * @param ne that is connected to the mountpoint
- */
- public void registration(String mountPointNodeName, ONFCoreNetworkElementRepresentation ne) {
- queue.put(mountPointNodeName, ne);
- }
-
- /**
- * Remove mountpoint/NE from PM process
- * @param mountPointNodeName that has to be removed
- */
- public void deRegistration(String mountPointNodeName) {
- LOG.debug("Deregister {}",mountPointNodeName);
- ONFCoreNetworkElementRepresentation removedNE = queue.remove(mountPointNodeName);
-
- if ( removedNE == null) {
- LOG.warn("Couldn't delete {}",mountPointNodeName);
- }
- }
-
-
- /*--------------------------------------------------------------
- * Task to read PM data from NE
- */
-
- /**
- * Task runner to read all performance data from Network Elements.
- * Catch exceptions to make sure, that the Task is not stopped.
- */
- @Override
- public void run() {
-
- LOG.debug("{} start {} Start with mountpoint {}",LOGMARKER, tickCounter, actualNE == null ? "No NE" : actualNE.getMountPointNodeName());
-
- //Proceed to next NE/Interface
- getNextInterface();
-
- LOG.debug("{} {} Next interface to handle {}", LOGMARKER, tickCounter,
- actualNE == null ? "No NE/IF" : actualNE.getMountPointNodeName() + " " + actualNE.pmStatusToString());
-
- if (actualNE != null) {
- try {
- LOG.debug("{} Start to read PM from NE ({})", LOGMARKER, tickCounter);
- AllPm allPm = actualNE.getHistoricalPM();
- LOG.debug("{} {} Got PM list. Start write to DB", LOGMARKER, tickCounter);
- databaseService.writePM(allPm);
- LOG.debug("{} {} PM List end.", LOGMARKER, tickCounter);
- } catch (Exception e) {
- LOG.warn("{} {} PM read/write failed. Write log entry {}", LOGMARKER, tickCounter, e);
- String msg = e.getMessage();
- if (msg == null || msg.isEmpty()) {
- if (e.getCause() != null) {
- msg = e.getCause().toString();
- }
- if (msg == null || msg.isEmpty()){
- msg = "No message or cause";
- }
- }
- databaseService.writePMLog(actualNE.getMountPointNodeName(), actualNE.pmStatusToString(), msg);
- }
- }
-
- LOG.debug("{} end {}",LOGMARKER, tickCounter);
- tickCounter++;
- }
-
- /**
- * Reset queue to start from beginning
- */
- private void resetQueue() {
- actualNE = null;
- neIterator = null;
- }
-
- /**
- * Get then next interface in the list.
- * First try to find a next on the actual NE.
- * If not available search next interface at a NE
- * Special Situations to handle: Empty queue, NEs, but no interfaces
- */
- private void getNextInterface() {
- boolean started = false;
- int loopCounter = 0;
-
- LOG.debug("{} {} getNextInterface enter. Queue size {} ", LOGMARKER, tickCounter, queue.size());
-
- if (actualNE != null && !queue.containsValue(actualNE)) {
- LOG.debug("{} {} NE Removed duringprocessing A",LOGMARKER, tickCounter);
- resetQueue();
- }
-
- while (true) {
-
- if (loopCounter++ >= 1000) {
- LOG.error("{} {} Problem in PM iteration. endless condition reached", LOGMARKER, tickCounter);
- resetQueue();
- break;
- }
-
- LOG.debug("{} {} Loop ne {}:neiterator {}:Interfaceiterator:{} Loop:{}",
- LOGMARKER,
- tickCounter,
- actualNE == null? "null" : actualNE.getMountPointNodeName(),
- neIterator == null ? "null" : neIterator.hasNext(),
- actualNE == null ? "null" : actualNE.hasNext(),
- loopCounter);
-
- if (actualNE != null && actualNE.hasNext()) {
- // Yes, there is an interface, deliver back
- LOG.debug("{} {} getNextInterface yes A",LOGMARKER, tickCounter);
- actualNE.next();
- break;
-
- } else {
- // No element in neInterfaceInterator .. get next NE and try
- if (neIterator != null && neIterator.hasNext()) {
- // Set a new NE
- LOG.debug("{} {} Next NE A",LOGMARKER, tickCounter);
- actualNE = neIterator.next();
- actualNE.resetPMIterator();
-
- } else {
- // Goto start condition 1) first entry 2) end of queue reached
- LOG.debug("{} {} Reset",LOGMARKER, tickCounter);
- resetQueue();
-
- if (queue.isEmpty()) {
- LOG.debug("{} {} no nextInterfac. queue empty",LOGMARKER, tickCounter);
- break;
- } else if (!started){
- LOG.debug("{} {} getNextInterface start condition. Get interator.",LOGMARKER, tickCounter);
- neIterator = queue.values().iterator();
- started = true;
- } else {
- LOG.debug("{} {} no nextInterface",LOGMARKER, tickCounter);
- break;
- }
- }
- }
- } //while
-
- if (actualNE != null && !queue.containsValue(actualNE)) {
- LOG.debug("{} {} NE Removed duringprocessing B",LOGMARKER, tickCounter);
- resetQueue();
- }
-
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/config/PmConfig.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/config/PmConfig.java
deleted file mode 100644
index e4d06c6fb..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/config/PmConfig.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.performancemanager.impl.config;
-
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.Configuration;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-
-public class PmConfig implements Configuration {
-
- private static final String SECTION_MARKER_PM = "pm";
-
- private static final String PROPERTY_KEY_ENABLED = "pmEnabled";
- private static final String DEFAULT_VALUE_ENABLED = String.valueOf(true);
-
-
- private final ConfigurationFileRepresentation configuration;
-
- public PmConfig(ConfigurationFileRepresentation configuration) {
- this.configuration = configuration;
- this.configuration.addSection(SECTION_MARKER_PM);
- defaults();
- }
-
- public boolean isPerformanceManagerEnabled() {
- return configuration.getPropertyBoolean(SECTION_MARKER_PM, PROPERTY_KEY_ENABLED);
- }
-
- @Override
- public String getSectionName() {
- return SECTION_MARKER_PM;
- }
-
- @Override
- public void defaults() {
- //Add default if not available
- configuration.setPropertyIfNotAvailable(SECTION_MARKER_PM, PROPERTY_KEY_ENABLED, DEFAULT_VALUE_ENABLED);
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/service/MicrowaveHistoricalPerformanceWriterService.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/service/MicrowaveHistoricalPerformanceWriterService.java
deleted file mode 100644
index ef57b1088..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/service/MicrowaveHistoricalPerformanceWriterService.java
+++ /dev/null
@@ -1,95 +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.performancemanager.impl.database.service;
-
-import org.onap.ccsdk.features.sdnr.wt.base.netconf.util.NetconfTimeStamp;
-import org.onap.ccsdk.features.sdnr.wt.common.database.HtDatabaseClient;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.AllPm;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.database.HtDataBaseReaderAndWriter;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.performancemanager.impl.database.types.EsHistoricalPerformance15Minutes;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.performancemanager.impl.database.types.EsHistoricalPerformance24Hours;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.performancemanager.impl.database.types.EsHistoricalPerformanceLogEntry;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class MicrowaveHistoricalPerformanceWriterService {
-
- private static final Logger LOG = LoggerFactory.getLogger(MicrowaveHistoricalPerformanceWriterService.class);
- private static final NetconfTimeStamp NETCONFTIME_CONVERTER = NetconfTimeStamp.getConverter();
-
-
- private final HtDatabaseClient client;
- private HtDataBaseReaderAndWriter<EsHistoricalPerformance15Minutes> historicalPerformance15mRW;
- private HtDataBaseReaderAndWriter<EsHistoricalPerformance24Hours> historicalPerformance24hRW;
- private HtDataBaseReaderAndWriter<EsHistoricalPerformanceLogEntry> historicalPerformanceLogRW;
-
- public MicrowaveHistoricalPerformanceWriterService(HtDatabaseClient client) {
-
- LOG.info("Create {} start", MicrowaveHistoricalPerformanceWriterService.class);
- this.client = client;
- try {
-
- historicalPerformance15mRW = new HtDataBaseReaderAndWriter<>(client,
- EsHistoricalPerformance15Minutes.ESDATATYPENAME, EsHistoricalPerformance15Minutes.class);
- historicalPerformance24hRW = new HtDataBaseReaderAndWriter<>(client,
- EsHistoricalPerformance24Hours.ESDATATYPENAME, EsHistoricalPerformance24Hours.class);
- historicalPerformanceLogRW = new HtDataBaseReaderAndWriter<>(client,
- EsHistoricalPerformanceLogEntry.ESDATATYPENAME, EsHistoricalPerformanceLogEntry.class);
-
- } catch (Exception e) {
- client = null;
- LOG.error("Can not start database client. Exception: {}", e.getMessage());
- }
-
- LOG.info("Create {} finished. DB Service {} started.", MicrowaveHistoricalPerformanceWriterService.class,
- client != null ? "sucessfully" : "not");
- }
-
-
- public void writePM(AllPm pm) {
-
- LOG.debug("Write {} pm records", pm.size());
-
- LOG.debug("Write 15m write to DB");
- historicalPerformance15mRW.doWrite(pm.getPm15());
- LOG.debug("Write 15m done, Write 24h write to DB");
- historicalPerformance24hRW.doWrite(pm.getPm24());
- LOG.debug("Write 24h done");
-
- }
-
- public void writePMLog(String mountpointName, String layerProtocolName, String msg) {
-
- LOG.debug("Write PM Log: {}", msg);
- EsHistoricalPerformanceLogEntry logEntry = new EsHistoricalPerformanceLogEntry(mountpointName,
- layerProtocolName, NETCONFTIME_CONVERTER.getTimeStamp().getValue(), msg);
- historicalPerformanceLogRW.doWrite(logEntry);
- LOG.debug("Write PM Log done");
-
- }
-
-
- static public boolean isAvailable(MicrowaveHistoricalPerformanceWriterService s) {
-
- if (s == null || s.client == null) {
- return false;
- }
- return true;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformance15Minutes.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformance15Minutes.java
deleted file mode 100644
index 6754fced9..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformance15Minutes.java
+++ /dev/null
@@ -1,43 +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.performancemanager.impl.database.types;
-
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.OtnHistoryDataG;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class EsHistoricalPerformance15Minutes extends EsHistoricalPerformanceBase {
-
- public static final String ESDATATYPENAME = "historicalperformance15min";
-
- private static final Logger LOG = LoggerFactory.getLogger(EsHistoricalPerformance15Minutes.class);
-
- public EsHistoricalPerformance15Minutes(String nodeName, Lp lp) {
- super(nodeName, lp);
- }
-
- public <T extends OtnHistoryDataG> EsHistoricalPerformance15Minutes setHistoricalRecord15Minutes(OtnHistoryDataG record) {
- if (record.getGranularityPeriod() != org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType.Period15Min) {
- LOG.warn("Granularity mismatch for {} expected {} found {}", getNodeName(),getUuidInterface(), org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType.Period15Min, record.getGranularityPeriod());
- }
- set(record);
- return this;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformance24Hours.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformance24Hours.java
deleted file mode 100644
index 03c68451d..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformance24Hours.java
+++ /dev/null
@@ -1,36 +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.performancemanager.impl.database.types;
-
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.OtnHistoryDataG;
-
-public class EsHistoricalPerformance24Hours extends EsHistoricalPerformanceBase {
-
- public static final String ESDATATYPENAME = "historicalperformance24h";
-
- public EsHistoricalPerformance24Hours(String nodeName, Lp lp) {
- super(nodeName, lp);
- }
-
- public <T extends OtnHistoryDataG> EsHistoricalPerformance24Hours setHistoricalRecord24Hours(T record) {
- set(record);
- return this;
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformanceBase.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformanceBase.java
deleted file mode 100644
index 544e46cbe..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformanceBase.java
+++ /dev/null
@@ -1,165 +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.performancemanager.impl.database.types;
-
-import org.onap.ccsdk.features.sdnr.wt.base.netconf.util.NetconfTimeStamp;
-import org.onap.ccsdk.features.sdnr.wt.common.database.data.EsObject;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.impl.LinkIdentifyingObject;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.core.model.rev170320.logical.termination.point.g.Lp;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.OtnHistoryDataG;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.annotation.JsonGetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
-public class EsHistoricalPerformanceBase extends EsObject {
-
- private static final Logger LOG = LoggerFactory.getLogger(EsHistoricalPerformanceBase.class);
- private static final NetconfTimeStamp NETCONFTIME_CONVERTER = NetconfTimeStamp.getConverter();
-
- @JsonIgnore private final String nodeName;
- @JsonIgnore private final String uuidInterface;
- @JsonIgnore private final String layerProtocolName;
-
- @JsonIgnore private String radioSignalId = null; //Meaning of connection Id
- @JsonIgnore private String timeStamp = null;
- @JsonIgnore private Boolean suspectIntervalFlag = null;
- @JsonIgnore private String granularityPeriod = null; //Representation of GranularityPeriodType
- @JsonIgnore private String scannerId = null;
- @JsonIgnore private Object performanceData = null;
-
-
- public EsHistoricalPerformanceBase(String nodeName, Lp actualInterface) {
- this.nodeName = nodeName;
- this.uuidInterface = actualInterface.getUuid().getValue();
- this.layerProtocolName = actualInterface.getLayerProtocolName().getValue();
-
- }
-
- protected <T extends OtnHistoryDataG> void set(T record) {
- if (record == null) {
- LOG.warn("PM Record: null record. Can not handle");
- return;
- }
-
- if (LOG.isTraceEnabled()) {
- LOG.trace("PM Record: class {} '{}' ", record.getClass().getSimpleName(), record);
- }
-
- timeStamp = NETCONFTIME_CONVERTER.getTimeStampFromNetconf(record.getPeriodEndTime().getValue());
- suspectIntervalFlag = record.isSuspectIntervalFlag();
- granularityPeriod = getYangGranularityPeriodString( record.getGranularityPeriod() );
- scannerId = record.getHistoryDataId();
-
- if (record instanceof LinkIdentifyingObject) {
- radioSignalId = ((LinkIdentifyingObject) record).getSignalId();
- }
-
- performanceData = new EsPerformanceData(record);
- setEsId(genSpecificEsId(record.getPeriodEndTime().getValue()));
- }
-
-
- @JsonGetter("node-name")
- public String getNodeName() {
- return nodeName;
- }
-
- @JsonGetter("uuid-interface")
- public String getUuidInterface() {
- return uuidInterface;
- }
-
- @JsonGetter("layer-protocol-name")
- public String getLayerProtocolName() {
- return layerProtocolName;
- }
-
- @JsonGetter("radio-signal-id")
- public String getRadioSignalId() {
- return radioSignalId;
- }
-
- @JsonGetter("time-stamp")
- public String getTimeStamp() {
- return timeStamp;
- }
-
- @JsonGetter("suspect-interval-flag")
- public Boolean getSuspect() {
- return suspectIntervalFlag;
- }
-
- @JsonGetter("granularity-period")
- public String getGranularityPeriod() {
- return granularityPeriod;
- }
-
- @JsonGetter("scanner-id")
- public String getScannerId() {
- return scannerId;
- }
-
- @JsonGetter("performance-data")
- public Object getData() {
- return performanceData;
- }
-
-
-
- //Adapt JSON Text
- //@JsonGetter("granularityPeriod")
-
- private static String getYangGranularityPeriodString(org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType yangGanularityPeriod) {
- switch(yangGanularityPeriod == null ? org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.GranularityPeriodType.Unknown : yangGanularityPeriod) {
- case Period15Min:
- return "PERIOD_15MIN";
- case Period24Hours:
- return "PERIOD_24HOURS";
- default:
- return "PERIOD_UNKOWN";
- }
- }
-
- /**
- * Create a specific ES id for the current log.
- * @param time is the input.
- * @return a string with the generated ES Id
- */
- protected String genSpecificEsId(String time) {
-
- StringBuffer strBuf = new StringBuffer();
- strBuf.append(nodeName);
- strBuf.append("/");
- strBuf.append(uuidInterface);
- strBuf.append("/");
- strBuf.append(time == null || time.isEmpty() ? "Empty" : time);
-
- return strBuf.toString();
- }
-
- @Override
- public String toString() {
- return "EsHistoricalPerformanceBase [nodeName=" + nodeName + ", uuidInterface=" + uuidInterface
- + ", layerProtocolName=" + layerProtocolName + ", radioSignalId=" + radioSignalId + ", timeStamp="
- + timeStamp + ", suspectIntervalFlag=" + suspectIntervalFlag + ", granularityPeriod="
- + granularityPeriod + ", scannerId=" + scannerId + ", performanceData=" + performanceData + "]";
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformanceLogEntry.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformanceLogEntry.java
deleted file mode 100644
index 57872d8af..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsHistoricalPerformanceLogEntry.java
+++ /dev/null
@@ -1,92 +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.performancemanager.impl.database.types;
-
-import org.onap.ccsdk.features.sdnr.wt.common.database.data.EsObject;
-
-/**
- *
- * Event from Network to be recorded in the database
- *
- */
-
-public class EsHistoricalPerformanceLogEntry extends EsObject {
-
- public static final String ESDATATYPENAME = "performancelog";
-
- private String mountpoint;
- private String interfaceIdx;
- private String timeStamp;
- private String logText;
-
- /**
- * Create Log entry for NE/Interfaceproblems during PM execution
- * @param mountpoint Name of
- * @param interfaceIdx Name of
- * @param timeStamp Time and date of occurence
- * @param logText to write
- */
- public EsHistoricalPerformanceLogEntry(String mountpoint, String interfaceIdx, String timeStamp, String logText) {
- super();
- this.mountpoint = mountpoint;
- this.interfaceIdx = interfaceIdx;
- this.timeStamp = timeStamp;
- this.logText = logText;
- }
-
- /**
- * For jackson purpose
- */
- EsHistoricalPerformanceLogEntry() {
- }
-
- /**
- * @return the mountpoint
- */
- public String getMountpoint() {
- return mountpoint;
- }
-
- /**
- * @return the interfaceIdx
- */
- public String getInterfaceIdx() {
- return interfaceIdx;
- }
-
- /**
- * @return the timeStamp
- */
- public String getTimeStamp() {
- return timeStamp;
- }
-
- /**
- * @return the logText
- */
- public String getLogText() {
- return logText;
- }
-
-
-
- public static String getEsdatatypename() {
- return ESDATATYPENAME;
- }
-
- }
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsPerformanceData.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsPerformanceData.java
deleted file mode 100644
index 607d1900a..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/performancemanager/impl/database/types/EsPerformanceData.java
+++ /dev/null
@@ -1,445 +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.performancemanager.impl.database.types;
-
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.ExtendedAirInterfaceHistoricalPerformanceType12;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.ExtendedAirInterfaceHistoricalPerformanceType1211;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.base.onfcore.container.ExtendedAirInterfaceHistoricalPerformanceType1211p;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.g._874._1.model.rev170320.OtnHistoryDataG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.AirInterfaceHistoricalPerformanceTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.AirInterfacePerformanceTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ContainerHistoricalPerformanceTypeG;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev170324.ContainerPerformanceTypeG;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.annotation.JsonGetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class EsPerformanceData {
-
- @JsonIgnore
- private static final Logger LOG = LoggerFactory.getLogger(EsPerformanceData.class);
-
- @JsonIgnore
- private AirInterfacePerformanceTypeG dataAirInterface12 = null;
- @JsonIgnore
- private ContainerPerformanceTypeG dataEthContainer12 = null;
-
- @JsonIgnore
- private org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.AirInterfacePerformanceTypeG dataAirInterface1211 = null;
- @JsonIgnore
- private org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ContainerPerformanceTypeG dataEthContainer1211 = null;
-
- @JsonIgnore
- private org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.AirInterfacePerformanceTypeG dataAirInterface1211p = null;
- @JsonIgnore
- private org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ContainerPerformanceTypeG dataEthContainer1211p = null;
-
- public <T extends OtnHistoryDataG> EsPerformanceData(T otnHistoryData) {
-
- if (otnHistoryData instanceof AirInterfaceHistoricalPerformanceTypeG) {
- this.dataAirInterface12 = ((AirInterfaceHistoricalPerformanceTypeG) otnHistoryData).getPerformanceData();
- } else if (otnHistoryData instanceof ContainerHistoricalPerformanceTypeG) {
- this.dataEthContainer12 = ((ContainerHistoricalPerformanceTypeG) otnHistoryData).getPerformanceData();
- } else if (otnHistoryData instanceof ExtendedAirInterfaceHistoricalPerformanceType12) {
- this.dataAirInterface12 = ((ExtendedAirInterfaceHistoricalPerformanceType12) otnHistoryData)
- .getAirInterfaceHistoricalPerformanceType().getPerformanceData();
- } else if (otnHistoryData instanceof org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.AirInterfaceHistoricalPerformanceTypeG) {
- this.dataAirInterface1211 = ((org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.AirInterfaceHistoricalPerformanceTypeG) otnHistoryData)
- .getPerformanceData();
- } else if (otnHistoryData instanceof org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ContainerHistoricalPerformanceTypeG) {
- this.dataEthContainer1211 = ((org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev180907.ContainerHistoricalPerformanceTypeG) otnHistoryData)
- .getPerformanceData();
- } else if (otnHistoryData instanceof ExtendedAirInterfaceHistoricalPerformanceType1211) {
- this.dataAirInterface1211 = ((ExtendedAirInterfaceHistoricalPerformanceType1211) otnHistoryData)
- .getAirInterfaceHistoricalPerformanceType().getPerformanceData();
- } else if (otnHistoryData instanceof org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.AirInterfaceHistoricalPerformanceTypeG) {
- this.dataAirInterface1211p = ((org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.AirInterfaceHistoricalPerformanceTypeG) otnHistoryData)
- .getPerformanceData();
- } else if (otnHistoryData instanceof org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ContainerHistoricalPerformanceTypeG) {
- this.dataEthContainer1211p = ((org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.microwave.model.rev181010.ContainerHistoricalPerformanceTypeG) otnHistoryData)
- .getPerformanceData();
- } else if (otnHistoryData instanceof ExtendedAirInterfaceHistoricalPerformanceType1211p) {
- this.dataAirInterface1211p = ((ExtendedAirInterfaceHistoricalPerformanceType1211p) otnHistoryData)
- .getAirInterfaceHistoricalPerformanceType().getPerformanceData();
- } else {
- LOG.warn("Can not assign historical performance type {}", otnHistoryData.getClass().getName());
- }
- }
-
- @JsonGetter("es")
- public java.lang.Integer getEs() {
- return dataAirInterface12 != null ? dataAirInterface12.getEs()
- : dataAirInterface1211 != null ? dataAirInterface1211.getEs()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getEs() : null;
- }
-
- @JsonGetter("ses")
- java.lang.Integer getSes() {
- return dataAirInterface12 != null ? dataAirInterface12.getSes()
- : dataAirInterface1211 != null ? dataAirInterface1211.getSes()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getSes() : null;
- }
-
- @JsonGetter("cses")
- java.lang.Integer getCses() {
- return dataAirInterface12 != null ? dataAirInterface12.getCses()
- : dataAirInterface1211 != null ? dataAirInterface1211.getCses()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getCses() : null;
- }
-
- @JsonGetter("unavailability")
- java.lang.Integer getUnavailability() {
- return dataAirInterface12 != null ? dataAirInterface12.getUnavailability()
- : dataAirInterface1211 != null ? dataAirInterface1211.getUnavailability()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getUnavailability() : null;
- }
-
- @JsonGetter("tx-level-min")
- java.lang.Byte getTxLevelMin() {
- return dataAirInterface12 != null ? dataAirInterface12.getTxLevelMin()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTxLevelMin()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTxLevelMin() : null;
- }
-
- @JsonGetter("tx-level-max")
- java.lang.Byte getTxLevelMax() {
- return dataAirInterface12 != null ? dataAirInterface12.getTxLevelMax()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTxLevelMax()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTxLevelMax() : null;
- }
-
- @JsonGetter("tx-level-avg")
- java.lang.Byte getTxLevelAvg() {
- return dataAirInterface12 != null ? dataAirInterface12.getTxLevelAvg()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTxLevelAvg()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTxLevelAvg() : null;
- }
-
- @JsonGetter("rx-level-min")
- java.lang.Byte getRxLevelMin() {
- return dataAirInterface12 != null ? dataAirInterface12.getRxLevelMin()
- : dataAirInterface1211 != null ? dataAirInterface1211.getRxLevelMin()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getRxLevelMin() : null;
- }
-
- @JsonGetter("rx-level-max")
- java.lang.Byte getRxLevelMax() {
- return dataAirInterface12 != null ? dataAirInterface12.getRxLevelMax()
- : dataAirInterface1211 != null ? dataAirInterface1211.getRxLevelMax()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getRxLevelMax() : null;
- }
-
- @JsonGetter("rx-level-avg")
- java.lang.Byte getRxLevelAvg() {
- return dataAirInterface12 != null ? dataAirInterface12.getRxLevelAvg()
- : dataAirInterface1211 != null ? dataAirInterface1211.getRxLevelAvg()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getRxLevelAvg() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time2-states")
- java.lang.Integer getTime2States() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime2States()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime2States()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime2States() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time4-states-s")
- java.lang.Integer getTime4StatesS() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime4StatesS()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime4StatesS()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime4StatesS() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time4-states")
- java.lang.Integer getTime4States() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime4States()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime4States()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime4States() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time8-states")
- java.lang.Integer getTime8States() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime8States()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime8States()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime8States() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time16-states-s")
- java.lang.Integer getTime16StatesS() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime16StatesS()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime16StatesS()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime16StatesS() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time16-states")
- java.lang.Integer getTime16States() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime16States()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime16States()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime16States() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time32-states")
- java.lang.Integer getTime32States() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime32States()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime32States()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime32States() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time64-states")
- java.lang.Integer getTime64States() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime64States()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime64States()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime64States() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time128-states")
- java.lang.Integer getTime128States() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime128States()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime128States()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime128States() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time256-states")
- java.lang.Integer getTime256States() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime256States()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime256States()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime256States() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time512-states")
- java.lang.Integer getTime512States() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime512States()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime512States()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime512States() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time512-states-l")
- java.lang.Integer getTime512StatesL() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime512StatesL()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime512StatesL()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime512StatesL() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time1024-states")
- java.lang.Integer getTime1024States() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime1024States()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime1024States()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime1024States() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time1024-states-l")
- java.lang.Integer getTime1024StatesL() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime1024StatesL()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime1024StatesL()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime1024StatesL() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time2048-states")
- java.lang.Integer getTime2048States() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime2048States()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime2048States()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime2048States() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time2048-states-l")
- java.lang.Integer getTime2048StatesL() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime2048StatesL()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime2048StatesL()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime2048StatesL() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time4096-states")
- java.lang.Integer getTime4096States() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime4096States()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime4096States()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime4096States() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time4096-states-l")
- java.lang.Integer getTime4096StatesL() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime4096StatesL()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime4096StatesL()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime4096StatesL() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time8192-states")
- java.lang.Integer getTime8192States() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime8192States()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime8192States()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTime8192States() : null;
- }
-
- @SuppressWarnings("deprecation")
- @JsonGetter("time8192-states-l")
- java.lang.Integer getTime8192StatesL() {
- return dataAirInterface12 != null ? dataAirInterface12.getTime8192StatesL()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTime8192StatesL()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getEs() : null;
- }
-
- @JsonGetter("snir-min")
- java.lang.Byte getSnirMin() {
- return dataAirInterface12 != null ? dataAirInterface12.getSnirMin()
- : dataAirInterface1211 != null ? dataAirInterface1211.getSnirMin()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getSnirMin() : null;
- }
-
- @JsonGetter("snir-max")
- java.lang.Byte getSnirMax() {
- return dataAirInterface12 != null ? dataAirInterface12.getSnirMax()
- : dataAirInterface1211 != null ? dataAirInterface1211.getSnirMax()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getSnirMax() : null;
- }
-
- @JsonGetter("snir-avg")
- java.lang.Byte getSnirAvg() {
- return dataAirInterface12 != null ? dataAirInterface12.getSnirAvg()
- : dataAirInterface1211 != null ? dataAirInterface1211.getSnirAvg()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getSnirAvg() : null;
- }
-
- @JsonGetter("xpd-min")
- java.lang.Byte getXpdMin() {
- return dataAirInterface12 != null ? dataAirInterface12.getXpdMin()
- : dataAirInterface1211 != null ? dataAirInterface1211.getXpdMin()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getXpdMin() : null;
- }
-
- @JsonGetter("xpd-max")
- java.lang.Byte getXpdMax() {
- return dataAirInterface12 != null ? dataAirInterface12.getXpdMax()
- : dataAirInterface1211 != null ? dataAirInterface1211.getXpdMax()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getXpdMax() : null;
- }
-
- @JsonGetter("xpd-avg")
- java.lang.Byte getXpdAvg() {
- return dataAirInterface12 != null ? dataAirInterface12.getXpdAvg()
- : dataAirInterface1211 != null ? dataAirInterface1211.getXpdAvg()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getXpdAvg() : null;
- }
-
- @JsonGetter("rf-temp-min")
- java.lang.Byte getRfTempMin() {
- return dataAirInterface12 != null ? dataAirInterface12.getRfTempMin()
- : dataAirInterface1211 != null ? dataAirInterface1211.getRfTempMin()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getRfTempMin() : null;
- }
-
- @JsonGetter("rf-temp-max")
- java.lang.Byte getRfTempMax() {
- return dataAirInterface12 != null ? dataAirInterface12.getRfTempMax()
- : dataAirInterface1211 != null ? dataAirInterface1211.getRfTempMax()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getRfTempMax() : null;
- }
-
- @JsonGetter("rf-temp-avg")
- java.lang.Byte getRfTempAvg() {
- return dataAirInterface12 != null ? dataAirInterface12.getRfTempAvg()
- : dataAirInterface1211 != null ? dataAirInterface1211.getRfTempAvg()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getRfTempAvg() : null;
- }
-
- @JsonGetter("defect-blocks-sum")
- java.lang.Short getDefectBlocksSum() {
- return dataAirInterface12 != null ? dataAirInterface12.getDefectBlocksSum()
- : dataAirInterface1211 != null ? dataAirInterface1211.getDefectBlocksSum()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getDefectBlocksSum() : null;
- }
-
- @JsonGetter("time-period")
- java.lang.Integer getTimePeriod() {
- return dataAirInterface12 != null ? dataAirInterface12.getTimePeriod()
- : dataEthContainer12 != null ? dataEthContainer12.getTimePeriod()
- : dataAirInterface1211 != null ? dataAirInterface1211.getTimePeriod()
- : dataEthContainer1211 != null ? dataEthContainer1211.getTimePeriod()
- : dataAirInterface1211p != null ? dataAirInterface1211p.getTimePeriod()
- : dataEthContainer1211p != null ? dataEthContainer1211p.getTimePeriod()
- : null;
- }
-
- @JsonGetter("tx-ethernet-bytes-max-s")
- java.lang.Integer getTxEthernetBytesMaxS() {
- return dataEthContainer12 != null ? dataEthContainer12.getTxEthernetBytesMaxS()
- : dataEthContainer1211 != null ? dataEthContainer1211.getTxEthernetBytesMaxS()
- : dataEthContainer1211p != null ? dataEthContainer1211p.getTxEthernetBytesMaxS() : null;
- }
-
- @JsonGetter("tx-ethernet-bytes-max-m")
- java.lang.Long getTxEthernetBytesMaxM() {
- return dataEthContainer12 != null ? dataEthContainer12.getTxEthernetBytesMaxM()
- : dataEthContainer1211 != null ? dataEthContainer1211.getTxEthernetBytesMaxM()
- : dataEthContainer1211p != null ? dataEthContainer1211p.getTxEthernetBytesMaxM() : null;
- }
-
- @JsonGetter("tx-ethernet-bytes-sum")
- public java.lang.Long getTxEthernetBytesSum() {
- return dataEthContainer12 != null ? dataEthContainer12.getTxEthernetBytesSum()
- : dataEthContainer1211 != null ? dataEthContainer1211.getTxEthernetBytesSum()
- : dataEthContainer1211p != null ? dataEthContainer1211p.getTxEthernetBytesSum() : null;
- }
-
- @Override
- public String toString() {
- return "EsPerformanceData [getEs()=" + getEs() + ", getSes()=" + getSes() + ", getCses()=" + getCses()
- + ", getUnavailability()=" + getUnavailability() + ", getTxLevelMin()=" + getTxLevelMin()
- + ", getTxLevelMax()=" + getTxLevelMax() + ", getTxLevelAvg()=" + getTxLevelAvg() + ", getRxLevelMin()="
- + getRxLevelMin() + ", getRxLevelMax()=" + getRxLevelMax() + ", getRxLevelAvg()=" + getRxLevelAvg()
- + ", getTime2States()=" + getTime2States() + ", getTime4StatesS()=" + getTime4StatesS()
- + ", getTime4States()=" + getTime4States() + ", getTime8States()=" + getTime8States()
- + ", getTime16StatesS()=" + getTime16StatesS() + ", getTime16States()=" + getTime16States()
- + ", getTime32States()=" + getTime32States() + ", getTime64States()=" + getTime64States()
- + ", getTime128States()=" + getTime128States() + ", getTime256States()=" + getTime256States()
- + ", getTime512States()=" + getTime512States() + ", getTime512StatesL()=" + getTime512StatesL()
- + ", getTime1024States()=" + getTime1024States() + ", getTime1024StatesL()=" + getTime1024StatesL()
- + ", getTime2048States()=" + getTime2048States() + ", getTime2048StatesL()=" + getTime2048StatesL()
- + ", getTime4096States()=" + getTime4096States() + ", getTime4096StatesL()=" + getTime4096StatesL()
- + ", getTime8192States()=" + getTime8192States() + ", getTime8192StatesL()=" + getTime8192StatesL()
- + ", getSnirMin()=" + getSnirMin() + ", getSnirMax()=" + getSnirMax() + ", getSnirAvg()=" + getSnirAvg()
- + ", getXpdMin()=" + getXpdMin() + ", getXpdMax()=" + getXpdMax() + ", getXpdAvg()=" + getXpdAvg()
- + ", getRfTempMin()=" + getRfTempMin() + ", getRfTempMax()=" + getRfTempMax() + ", getRfTempAvg()="
- + getRfTempAvg() + ", getDefectBlocksSum()=" + getDefectBlocksSum() + ", getTimePeriod()="
- + getTimePeriod() + ", getTxEthernetBytesMaxS()=" + getTxEthernetBytesMaxS()
- + ", getTxEthernetBytesMaxM()=" + getTxEthernetBytesMaxM() + ", getTxEthernetBytesSum()="
- + getTxEthernetBytesSum() + "]";
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationDelayFilter.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationDelayFilter.java
deleted file mode 100644
index 92af68bc0..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationDelayFilter.java
+++ /dev/null
@@ -1,181 +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.toggleAlarmFilter;
-
-import java.util.Map.Entry;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class NotificationDelayFilter<T> implements AutoCloseable {
-
- private static final Logger LOG = LoggerFactory.getLogger(NotificationDelayFilter.class);
-
- private final ConcurrentHashMap <String, NotificationWithServerTimeStamp<T>> problemItems;
-// private final HashMap<String, NotificationWithServerTimeStamp<T>> nonProblemItems;
- private final NotificationDelayedListener<T> timeoutListener;
-
- private static long delay;
- private static boolean enabled;
-
- public static void setDelay(long l) {
- NotificationDelayFilter.delay = l;
- }
-
- public static long getDelay() {
- return NotificationDelayFilter.delay;
- }
-
- public static boolean isEnabled() {
- return NotificationDelayFilter.enabled;
- }
-
- public static void setEnabled(boolean enabled) {
- NotificationDelayFilter.enabled = enabled;
- }
-
- private final ScheduledExecutorService scheduler;
- private final Runnable timerRunner = () -> onTick();
-
- private final String nodeName;
-
- public NotificationDelayFilter(String nodeName, NotificationDelayedListener<T> timeoutListener) {
- this.nodeName = nodeName;
- this.timeoutListener = timeoutListener;
- this.problemItems = new ConcurrentHashMap <>();
- this.scheduler = Executors.newScheduledThreadPool(1);
- this.startTimer();
- }
-
- /**
- * If process the notification
- * @return true if other processing is required, false if not
- */
- public boolean processNotification(boolean cleared, String problemName, T notificationXml) {
- // ToggleAlarmFilter functionality
- if (NotificationDelayFilter.isEnabled()) {
- if (cleared) {
- clearAlarmNotification(problemName, notificationXml);
- } else {
- pushAlarmNotification(problemName, notificationXml);
- }
- return false;
- } else {
- return true;
- }
- // end of ToggleAlarmFilter
- }
-
- /**
- * Push notification with a specific severity (everything except non-alarmed)
- * @param problemName key
- * @param notification related notification
- */
- public void pushAlarmNotification(String problemName, T notification) {
- synchronized (problemItems) {
-
- boolean cp = this.problemItems.containsKey(problemName);
- if (!cp) {
- // no alarm in entries => create entry and push the alarm currently
- NotificationWithServerTimeStamp<T> item = new NotificationWithServerTimeStamp<>(
- notification);
- LOG.debug("add event into list for node " + this.nodeName + " for alarm " + problemName + ": "
- + item.toString());
- this.problemItems.put(problemName, item);
- if (this.timeoutListener != null) {
- this.timeoutListener.onNotificationDelay(notification);
- }
- } else {
- LOG.debug("clear contra event for node " + this.nodeName + " for alarm " + problemName);
- this.problemItems.get(problemName).clrContraEvent();
- }
-
- }
- }
-
- /**
- * Push notification with severity non-alarmed
- * @param problemName key
- * @param notification related notification
- */
- public void clearAlarmNotification(String problemName, T notification) {
- synchronized (problemItems) {
-
- boolean cp = this.problemItems.containsKey(problemName);
- if (cp) {
- LOG.debug("set contra event for alarm " + problemName);
- this.problemItems.get(problemName).setContraEvent(notification);
- } else {
- // not in list => push directly through
- if (this.timeoutListener != null) {
- this.timeoutListener.onNotificationDelay(notification);
- }
- }
- }
- }
-
- private void startTimer() {
- scheduler.scheduleAtFixedRate(timerRunner, 0, 1, TimeUnit.SECONDS);
- }
-
- private void stopTimer() {
- scheduler.shutdown();
- }
-
- /**
- * check for clearing item out of the list
- */
- private void onTick() {
- long now = System.currentTimeMillis();
- try {
-
- synchronized (problemItems) {
-
- for (Entry<String, NotificationWithServerTimeStamp<T>> entry : problemItems
- .entrySet()) {
- NotificationWithServerTimeStamp<T> value = entry.getValue();
- if (value.isStable(now)) {
- // send contra Alarm if exists
- if (value.getContraAlarmNotification() != null) {
- if (this.timeoutListener != null) {
- this.timeoutListener.onNotificationDelay(value.getContraAlarmNotification());
- }
- }
- problemItems.remove(entry.getKey());
- LOG.debug("removing entry for "+this.nodeName+" for alarm " + entry.getKey());
- } else {
- LOG.trace("currently state is still unstable for alarm " + entry.getKey());
- }
- }
-
- }
- } catch (Exception e) {
- //Prevent stopping the task
- LOG.warn("Exception during NotificationDelayFilter Task", e);
- }
- }
-
- @Override
- public void close() throws Exception {
- this.stopTimer();
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationDelayService.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationDelayService.java
deleted file mode 100644
index a9a04595a..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationDelayService.java
+++ /dev/null
@@ -1,67 +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.toggleAlarmFilter;
-
-import java.util.HashMap;
-
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.filechange.IConfigChangedListener;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.DeviceManagerService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.toggleAlarmFilter.conf.ToggleAlarmConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class NotificationDelayService<T> implements DeviceManagerService, AutoCloseable, IConfigChangedListener {
- private static final Logger LOG = LoggerFactory.getLogger(NotificationDelayService.class);
-
- private final HashMap<String, NotificationDelayFilter<T>> filters;
- private final ToggleAlarmConfig config;
-
- public NotificationDelayService(ConfigurationFileRepresentation htconfig) {
- this.filters = new HashMap<>();
- htconfig.registerConfigChangedListener(this);
- config = new ToggleAlarmConfig(htconfig);
- onConfigChanged();
- }
-
- public NotificationDelayFilter<T> getInstance(String nodeName, NotificationDelayedListener<T> eventListener) {
- NotificationDelayFilter<T> filter = filters.getOrDefault(nodeName, null);
-
- LOG.trace("nodeName={}, filter!=null? {}", nodeName, filter != null);
- if (filter == null) {
- filter = new NotificationDelayFilter<>(nodeName, eventListener);
- this.filters.put(nodeName, filter);
- }
- return filter;
- }
-
- @Override
- public void onConfigChanged() {
- NotificationDelayFilter.setDelay(config.getDelay());
- NotificationDelayFilter.setEnabled(config.isEnabled());
- }
-
- @Override
- public void close() throws Exception {
- // close all filters
- for (NotificationDelayFilter<T> filter : this.filters.values()) {
- filter.close();
- }
- }
-
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationDelayedListener.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationDelayedListener.java
deleted file mode 100644
index eab541d13..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationDelayedListener.java
+++ /dev/null
@@ -1,25 +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.toggleAlarmFilter;
-
-public interface NotificationDelayedListener<T> {
-
- public void onNotificationDelay(T notification);
-
-}
-
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationWithServerTimeStamp.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationWithServerTimeStamp.java
deleted file mode 100644
index 1cf32cffc..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/NotificationWithServerTimeStamp.java
+++ /dev/null
@@ -1,78 +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.toggleAlarmFilter;
-
-public class NotificationWithServerTimeStamp<T2> {
- private final T2 alarmNotification;
- private T2 contraAlarmNotification;
- private final long timestampStart;
- private long timestamp;
-
- public NotificationWithServerTimeStamp(T2 n) {
- this(n, System.currentTimeMillis());
- }
-
- public NotificationWithServerTimeStamp(T2 n, long ts) {
- this.alarmNotification = n;
- this.contraAlarmNotification = null;
- this.timestamp = ts;
- this.timestampStart=ts;
- }
-
- @SuppressWarnings("unused")
- public long getStartTime() {
- return this.timestampStart;
- }
- public void refresh() {
- this.refresh(System.currentTimeMillis());
- }
-
- public void refresh(long ts) {
- this.timestamp = ts;
- }
-
- public void setContraEvent(T2 notification) {
- this.contraAlarmNotification = notification;
- this.refresh();
- }
-
- public void clrContraEvent() {
- this.contraAlarmNotification = null;
- this.refresh();
- }
-
- public boolean isStable(long now) {
- return this.timestamp + NotificationDelayFilter.getDelay() < now;
- }
-
- @SuppressWarnings("unused")
- public T2 getAlarmNotification() {
- return this.alarmNotification;
- }
-
- public T2 getContraAlarmNotification() {
- return this.contraAlarmNotification;
- }
-
- @Override
- public String toString() {
- return "NotificationWithServerTimeStamp [alarmNotification=" + alarmNotification
- + ", contraAlarmNotification=" + contraAlarmNotification + ", timestampStart=" + timestampStart
- + ", timestamp=" + timestamp + "]";
- }
-}
diff --git a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/conf/ToggleAlarmConfig.java b/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/conf/ToggleAlarmConfig.java
deleted file mode 100644
index e7c6c7a2d..000000000
--- a/sdnr/wt/devicemanager/provider/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/toggleAlarmFilter/conf/ToggleAlarmConfig.java
+++ /dev/null
@@ -1,59 +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.toggleAlarmFilter.conf;
-
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.Configuration;
-import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
-
-public class ToggleAlarmConfig implements Configuration {
-
- private static final String SECTION_MARKER_TA = "toggleAlarmFilter";
-
- private static final String PROPERTY_KEY_ENABLED = "taEnabled";
- private static final String PROPERTY_KEY_DELAY = "taDelay";
-
- private static final boolean DEFAULT_VALUE_ENABLED = true;
- private static final long DEFAULT_VALUE_DELAY = 3000; //in ms
-
- private final ConfigurationFileRepresentation configuration;
-
- public ToggleAlarmConfig(ConfigurationFileRepresentation configuration) {
- this.configuration = configuration;
- this.configuration.addSection(SECTION_MARKER_TA);
- defaults();
- }
-
- public boolean isEnabled() {
- return configuration.getPropertyBoolean(SECTION_MARKER_TA, PROPERTY_KEY_ENABLED);
- }
- public long getDelay() {
- return configuration.getPropertyLong(SECTION_MARKER_TA, PROPERTY_KEY_DELAY).orElse(DEFAULT_VALUE_DELAY);
- }
-
- @Override
- public String getSectionName() {
- return SECTION_MARKER_TA;
- }
-
- @Override
- public void defaults() {
- //Add default if not available
- configuration.setPropertyIfNotAvailable(SECTION_MARKER_TA, PROPERTY_KEY_ENABLED, DEFAULT_VALUE_ENABLED);
- configuration.setPropertyIfNotAvailable(SECTION_MARKER_TA, PROPERTY_KEY_DELAY, DEFAULT_VALUE_DELAY);
- }
-}