aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/devicemanager/model/src/main
diff options
context:
space:
mode:
authorRavi Pendurty <ravi.pendurty@highstreet-technologies.com>2021-03-29 09:04:05 +0200
committerRavi Pendurty <ravi.pendurty@highstreet-technologies.com>2021-03-29 09:04:33 +0200
commit9fb395380431345b7da7a765651185815a9ac91d (patch)
treee9915a557d158c3f446c5dcd108afba9e307633a /sdnr/wt/devicemanager/model/src/main
parent38c3dd74dc9c43a6606680cc6df82062cd7cbd81 (diff)
Map ORAN alarm-notif to VES fault
O-RAN (FrontHaul) deviceManager: o-ran-fm.yang/alarm-notif to VES:fault Issue-ID: CCSDK-3161 Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com> Change-Id: I3c0854ac3096160119220c341a2d8f2010facd8b Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com>
Diffstat (limited to 'sdnr/wt/devicemanager/model/src/main')
-rw-r--r--sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/NotificationProxyParser.java49
-rw-r--r--sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESCollectorCfgService.java9
-rw-r--r--sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESCollectorService.java69
-rw-r--r--sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESEventMapper.java121
-rw-r--r--sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESCommonEventHeaderPOJO.java196
-rw-r--r--sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESFaultFieldsPOJO.java111
-rw-r--r--sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESMessage.java35
-rw-r--r--sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESNotificationFieldsPOJO.java116
-rw-r--r--sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESPNFRegistrationFieldsPOJO.java148
9 files changed, 850 insertions, 4 deletions
diff --git a/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/NotificationProxyParser.java b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/NotificationProxyParser.java
new file mode 100644
index 000000000..ea16f20bb
--- /dev/null
+++ b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/NotificationProxyParser.java
@@ -0,0 +1,49 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+ * All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.service;
+
+import java.time.Instant;
+import java.util.HashMap;
+import org.opendaylight.yangtools.yang.binding.Notification;
+
+public interface NotificationProxyParser {
+
+ /**
+ * parses the Notification proxy object created by ODL
+ * Returns a Map with class members as keys and the member values as values.
+ * The keys are in xpath notation.
+ * Ex: key = /notification/VALUECHANGE[@xmlns=\"urn:org:onap:ccsdk:features:sdnr:northbound:onecell-notification\"]/device/device-info/serial-number"
+ * value = "0005B94238A0"
+ * References: https://stackoverflow.com/questions/19633534/what-is-com-sun-proxy-proxy
+ */
+ public HashMap<String, String> parseNotificationProxy(Notification notification);
+
+ /**
+ * Gets the time at which the Event occurred if the notification is an instance of EventInstantAware. If not, then returns the current time
+ * Read notification time via {@link #EventInstantAware } interface.
+ *
+ * @param notification
+ * @return
+ */
+ public Instant getTime(Notification notification);
+
+}
diff --git a/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESCollectorCfgService.java b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESCollectorCfgService.java
index c274ff91c..5025b5bba 100644
--- a/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESCollectorCfgService.java
+++ b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESCollectorCfgService.java
@@ -21,9 +21,18 @@
*/
package org.onap.ccsdk.features.sdnr.wt.devicemanager.service;
+/*
+ * Interface that exposes a subset of the VES Collector configuration properties to clients that require them
+ */
+
public interface VESCollectorCfgService {
+ /* gets the reportingEntityName (REPORTING_ENTITY_NAME) configured in the etc/devicemanager.properties configuration file */
String getReportingEntityName();
+
+ /* gets the log detail configuration (EVENTLOG_MSG_DETAIL) property value configured in the etc/devicemanager.properties configuration file */
String getEventLogMsgDetail();
+
+ /* gets the VES Collector enabled property (VES_COLLECTOR_ENABLED) value configured in the etc/devicemanager.properties configuration file */
boolean isVESCollectorEnabled();
}
diff --git a/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESCollectorService.java b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESCollectorService.java
index 287f0f622..f93b599bf 100644
--- a/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESCollectorService.java
+++ b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESCollectorService.java
@@ -21,7 +21,13 @@
*/
package org.onap.ccsdk.features.sdnr.wt.devicemanager.service;
-
+import com.fasterxml.jackson.core.JsonProcessingException;
+import org.eclipse.jdt.annotation.NonNull;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESFaultFieldsPOJO;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESMessage;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESNotificationFieldsPOJO;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESPNFRegistrationFieldsPOJO;
/**
* Interface used for publishing VES messages to the VES Collector
@@ -31,9 +37,64 @@ package org.onap.ccsdk.features.sdnr.wt.devicemanager.service;
*/
public interface VESCollectorService extends DeviceManagerService {
+ /**
+ * Gets the VES Collector configuration from etc/devicemanager.properties configuration file
+ */
VESCollectorCfgService getConfig();
- boolean publishVESMessage(String vesMsg);
- public void registerForChanges(VESCollectorConfigChangeListener o);
- public void deregister(VESCollectorConfigChangeListener o);
+
+ /**
+ * publishes a VES message to the VES Collector by sending a REST request
+ * @param vesMsg
+ * @return
+ */
+ boolean publishVESMessage(VESMessage vesMsg);
+
+ /**
+ * clients interested in VES Collector configuration changes can call the registerForChanges method so as to be notified when configuration changes are made
+ */
+ void registerForChanges(VESCollectorConfigChangeListener o);
+
+ /**
+ * de-registering clients as part of cleanup
+ * @param o
+ */
+ void deregister(VESCollectorConfigChangeListener o);
+
+ /**
+ * Get a parser to parse {@link #org.opendaylight.yangtools.yang.binding.Notification } messages
+ * @return NotificationProxyParser object
+ */
+ @NonNull
+ NotificationProxyParser getNotificationProxyParser();
+
+ /**
+ * Generates VES Event JSON containing commonEventHeader and notificationFields fields
+ *
+ * @param commonEventHeader
+ * @param notifFields
+ * @return VESMessage - representing the VESEvent JSON
+ * @throws JsonProcessingException
+ */
+ VESMessage generateVESEvent(VESCommonEventHeaderPOJO commonEventHeader, VESNotificationFieldsPOJO notifFields) throws JsonProcessingException;
+
+ /**
+ * Generates VES Event JSON containing commonEventHeader and faultFields fields
+ *
+ * @param commonEventHeader
+ * @param faultFields
+ * @return VESMessage - representing the VES Event JSON
+ * @throws JsonProcessingException
+ */
+ VESMessage generateVESEvent(VESCommonEventHeaderPOJO commonEventHeader, VESFaultFieldsPOJO faultFields) throws JsonProcessingException;
+
+ /**
+ * Generates VES Event JSON containing commonEventHeader and pnfRegistration fields
+ *
+ * @param commonEventHeader
+ * @param faultFields
+ * @return VESMessage - representing the VES Event JSON
+ * @throws JsonProcessingException
+ */
+ VESMessage generateVESEvent(VESCommonEventHeaderPOJO commonEventHeader, VESPNFRegistrationFieldsPOJO faultFields) throws JsonProcessingException;
}
diff --git a/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESEventMapper.java b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESEventMapper.java
new file mode 100644
index 000000000..76c8305a2
--- /dev/null
+++ b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/service/VESEventMapper.java
@@ -0,0 +1,121 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+ * All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.service;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import java.time.Instant;
+import java.util.HashMap;
+import java.util.Map;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESFaultFieldsPOJO;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESNotificationFieldsPOJO;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESPNFRegistrationFieldsPOJO;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfBindingAccessor;
+import org.opendaylight.yangtools.yang.binding.Notification;
+
+/*
+ * Interface for mapping ODL notification to VES event fields grouped by event type.
+ * Also includes the commonEventHeader which is applicable for all events.
+ * Ex: fault event, notification event.
+ *
+ * No base implementation exists for this interface. Clients that need to map their data into VES formats must implement this interface.
+ */
+
+public abstract class VESEventMapper<N extends Notification,F extends Notification,T extends Notification> {
+
+ /**
+ * Creates VESEvent mapping
+ */
+ public abstract String createMapping(NetconfBindingAccessor netconfAccessor,
+ VESCollectorService vesCollectorService, Notification notification, String notifName, int sequenceNo,
+ Instant eventTime);
+
+ /**
+ * Returns VES commonEventHeader fields
+ */
+ public abstract VESCommonEventHeaderPOJO mapCommonEventHeader(N notification);
+
+ /**
+ * Returns VES faultFields
+ */
+ public abstract VESFaultFieldsPOJO mapFaultFields(F notification);
+
+ /**
+ * Returns VES Notification Fields
+ */
+ public abstract VESNotificationFieldsPOJO mapNotificationFields(T notification);
+
+ /**
+ * Returns VES pnfRegistration domain fields
+ *
+ * @return
+ */
+ public abstract VESPNFRegistrationFieldsPOJO mapPNFRegistrationFields();
+
+ /**
+ * Generates VES Event JSON containing commonEventHeader and notificationFields fields
+ *
+ * @param commonEventHeader
+ * @param notifFields
+ * @return String - representing the VESEvent JSON
+ */
+ String generateVESEvent(VESCommonEventHeaderPOJO commonEventHeader, VESNotificationFieldsPOJO notifFields) {
+ Map<String, Object> innerEvent = new HashMap<String, Object>();
+ innerEvent.put("commonEventHeader", commonEventHeader);
+ innerEvent.put("notificationFields", notifFields);
+
+ Map<String, Object> outerEvent = new HashMap<String, Object>();
+ outerEvent.put("event", innerEvent);
+ try {
+ ObjectMapper objMapper = new ObjectMapper();
+ return objMapper.writeValueAsString(outerEvent);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * Generates VES Event JSON containing commonEventHeader and faultFields fields
+ *
+ * @param commonEventHeader
+ * @param faultFields
+ * @return String - representing the VES Event JSON
+ */
+ String generateVESEvent(VESCommonEventHeaderPOJO commonEventHeader, VESFaultFieldsPOJO faultFields) {
+ Map<String, Object> innerEvent = new HashMap<String, Object>();
+ innerEvent.put("commonEventHeader", commonEventHeader);
+ innerEvent.put("faultFields", faultFields);
+
+ Map<String, Object> outerEvent = new HashMap<String, Object>();
+ outerEvent.put("event", innerEvent);
+ try {
+ ObjectMapper objMapper = new ObjectMapper();
+ return objMapper.writeValueAsString(outerEvent);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+}
diff --git a/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESCommonEventHeaderPOJO.java b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESCommonEventHeaderPOJO.java
new file mode 100644
index 000000000..db76b84c7
--- /dev/null
+++ b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESCommonEventHeaderPOJO.java
@@ -0,0 +1,196 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+ * All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.types;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonPropertyOrder({"domain", "eventId", "eventName", "eventType", "lastEpochMicrosec", "nfcNamingCode", "nfNamingCode",
+ "nfVendorName", "priority", "reportingEntityId", "reportingEntityName", "sequence", "sourceId", "sourceName",
+ "startEpochMicrosec", "timeZoneOffset", "version", "vesEventListenerVersion"})
+
+public class VESCommonEventHeaderPOJO {
+
+ private String domain = "";
+ private String eventId = "";
+ private String eventName = "";
+ private String eventType = "";
+ private long sequence = 0L;
+ private String priority = "";
+ @JsonIgnore
+ private String reportingEntityId = "";
+ private String reportingEntityName = "";
+ private String sourceId = "";
+ private String sourceName = "";
+ private long startEpochMicrosec = 0L;
+ private long lastEpochMicrosec = 0L;
+ private String nfcNamingCode = "";
+ private String nfNamingCode = "";
+ private String nfVendorName = "";
+ private String timeZoneOffset = "+00:00";
+ private String version = "4.1";
+ private String vesEventListenerVersion = "7.1.1";
+
+ public String getDomain() {
+ return domain;
+ }
+
+ public void setDomain(String domain) {
+ this.domain = domain;
+ }
+
+ public String getEventId() {
+ return eventId;
+ }
+
+ public void setEventId(String eventId) {
+ this.eventId = eventId;
+ }
+
+ public String getEventName() {
+ return eventName;
+ }
+
+ public void setEventName(String eventName) {
+ this.eventName = eventName;
+ }
+
+ public String getEventType() {
+ return eventType;
+ }
+
+ public void setEventType(String eventType) {
+ this.eventType = eventType;
+ }
+
+ public Long getSequence() {
+ return sequence;
+ }
+
+ public void setSequence(long sequenceNo) {
+ this.sequence = sequenceNo;
+ }
+
+ public String getPriority() {
+ return priority;
+ }
+
+ public void setPriority(String priority) {
+ this.priority = priority;
+ }
+
+ public String getReportingEntityId() {
+ return reportingEntityId;
+ }
+
+ public void setReportingEntityId(String reportingEntityId) {
+ this.reportingEntityId = reportingEntityId;
+ }
+
+ public String getReportingEntityName() {
+ return reportingEntityName;
+ }
+
+ public void setReportingEntityName(String reportingEntityName) {
+ this.reportingEntityName = reportingEntityName;
+ }
+
+ public String getSourceId() {
+ return sourceId;
+ }
+
+ public void setSourceId(String sourceId) {
+ this.sourceId = sourceId;
+ }
+
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ public void setSourceName(String sourceName) {
+ this.sourceName = sourceName;
+ }
+
+ public long getStartEpochMicrosec() {
+ return startEpochMicrosec;
+ }
+
+ public void setStartEpochMicrosec(long startEpochMicrosec) {
+ this.startEpochMicrosec = startEpochMicrosec;
+ }
+
+ public long getLastEpochMicrosec() {
+ return lastEpochMicrosec;
+ }
+
+ public void setLastEpochMicrosec(long lastEpochMicrosec) {
+ this.lastEpochMicrosec = lastEpochMicrosec;
+ }
+
+ public String getNfcNamingCode() {
+ return nfcNamingCode;
+ }
+
+ public void setNfcNamingCode(String nfcNamingCode) {
+ this.nfcNamingCode = nfcNamingCode;
+ }
+
+ public String getNfNamingCode() {
+ return nfNamingCode;
+ }
+
+ public void setNfNamingCode(String nfNamingCode) {
+ this.nfNamingCode = nfNamingCode;
+ }
+
+ public String getNfVendorName() {
+ return nfVendorName;
+ }
+
+ public void setNfVendorName(String nfVendorName) {
+ this.nfVendorName = nfVendorName;
+ }
+
+ public String getTimeZoneOffset() {
+ return timeZoneOffset;
+ }
+
+ public void setTimeZoneOffset(String timeZoneOffset) {
+ this.timeZoneOffset = timeZoneOffset;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ public String getVesEventListenerVersion() {
+ return vesEventListenerVersion;
+ }
+
+ public void setVesEventListenerVersion(String vesEventListenerVersion) {
+ this.vesEventListenerVersion = vesEventListenerVersion;
+ }
+}
diff --git a/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESFaultFieldsPOJO.java b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESFaultFieldsPOJO.java
new file mode 100644
index 000000000..0f40ed3a4
--- /dev/null
+++ b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESFaultFieldsPOJO.java
@@ -0,0 +1,111 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+ * All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.types;
+
+import java.util.HashMap;
+
+public class VESFaultFieldsPOJO {
+
+ //fault domain Fields
+ private String alarmCondition = "";
+ private String alarmInterfaceA = "";
+ private String eventCategory = "";
+ private String eventSeverity = "";
+ private String eventSourceType = "";
+ private String faultFieldsVersion = "4.0";
+ private String specificProblem = "";
+ private String vfStatus = "";
+ private HashMap<String, Object> alarmAdditionalInformation = new HashMap<String, Object>();
+
+ public String getAlarmCondition() {
+ return alarmCondition;
+ }
+
+ public void setAlarmCondition(String alarmCondition) {
+ this.alarmCondition = alarmCondition;
+ }
+
+ public String getAlarmInterfaceA() {
+ return alarmInterfaceA;
+ }
+
+ public void setAlarmInterfaceA(String alarmInterfaceA) {
+ this.alarmInterfaceA = alarmInterfaceA;
+ }
+
+ public String getEventCategory() {
+ return eventCategory;
+ }
+
+ public void setEventCategory(String eventCategory) {
+ this.eventCategory = eventCategory;
+ }
+
+ public String getEventSeverity() {
+ return eventSeverity;
+ }
+
+ public void setEventSeverity(String eventSeverity) {
+ this.eventSeverity = eventSeverity;
+ }
+
+ public String getEventSourceType() {
+ return eventSourceType;
+ }
+
+ public void setEventSourceType(String eventSourceType) {
+ this.eventSourceType = eventSourceType;
+ }
+
+ public String getFaultFieldsVersion() {
+ return faultFieldsVersion;
+ }
+
+ public void setFaultFieldsVersion(String faultFieldsVersion) {
+ this.faultFieldsVersion = faultFieldsVersion;
+ }
+
+ public String getSpecificProblem() {
+ return specificProblem;
+ }
+
+ public void setSpecificProblem(String specificProblem) {
+ this.specificProblem = specificProblem;
+ }
+
+ public String getVfStatus() {
+ return vfStatus;
+ }
+
+ public void setVfStatus(String vfStatus) {
+ this.vfStatus = vfStatus;
+ }
+
+ public HashMap<String, Object> getAlarmAdditionalInformation() {
+ return alarmAdditionalInformation;
+ }
+
+ public void setAlarmAdditionalInformation(HashMap<String, Object> alarmAdditionalInformation) {
+ this.alarmAdditionalInformation = alarmAdditionalInformation;
+ }
+
+}
diff --git a/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESMessage.java b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESMessage.java
new file mode 100644
index 000000000..2c5266f97
--- /dev/null
+++ b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESMessage.java
@@ -0,0 +1,35 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+ * All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.types;
+
+public class VESMessage {
+
+ private String message;
+
+ public VESMessage(String vesMessage) {
+ this.message = vesMessage;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+}
diff --git a/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESNotificationFieldsPOJO.java b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESNotificationFieldsPOJO.java
new file mode 100644
index 000000000..6beb04751
--- /dev/null
+++ b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESNotificationFieldsPOJO.java
@@ -0,0 +1,116 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+ * All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.types;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+@JsonPropertyOrder({"arrayOfNamedHashMap", "changeContact", "changeIdentifier", "changeType", "newState", "oldState",
+ "notificationFieldsVersion"})
+
+public class VESNotificationFieldsPOJO {
+
+ private ArrayList<HashMap<String, Object>> arrayOfNamedHashMap = new ArrayList<HashMap<String, Object>>();
+ @JsonIgnore
+ private HashMap<String, Object> namedHashMap = new HashMap<String, Object>();
+ @JsonIgnore
+ private HashMap<String, String> hashMap = new HashMap<String, String>();
+ @JsonIgnore
+ private String changeContact = "";
+ private String changeIdentifier = "";
+ private String changeType = "";
+ @JsonIgnore
+ private String newState = "";
+ @JsonIgnore
+ private String oldState = "";
+ @JsonIgnore
+ private String stateInterface = "";
+ private String notificationFieldsVersion = "2.0";
+
+ public ArrayList<HashMap<String, Object>> getArrayOfNamedHashMap() {
+ return arrayOfNamedHashMap;
+ }
+
+ public void setArrayOfNamedHashMap(ArrayList<HashMap<String, Object>> arrayOfNamedHashMap) {
+ this.arrayOfNamedHashMap = arrayOfNamedHashMap;
+ }
+
+ public String getChangeContact() {
+ return changeContact;
+ }
+
+ public void setChangeContact(String changeContact) {
+ this.changeContact = changeContact;
+ }
+
+ public String getChangeIdentifier() {
+ return changeIdentifier;
+ }
+
+ public void setChangeIdentifier(String changeIdentifier) {
+ this.changeIdentifier = changeIdentifier;
+ }
+
+ public String getChangeType() {
+ return changeType;
+ }
+
+ public void setChangeType(String changeType) {
+ this.changeType = changeType;
+ }
+
+ public String getNewState() {
+ return newState;
+ }
+
+ public void setNewState(String newState) {
+ this.newState = newState;
+ }
+
+ public String getOldState() {
+ return oldState;
+ }
+
+ public void setOldState(String oldState) {
+ this.oldState = oldState;
+ }
+
+ public String getStateInterface() {
+ return stateInterface;
+ }
+
+ public void setStateInterface(String stateInterface) {
+ this.stateInterface = stateInterface;
+ }
+
+ public String getNotificationFieldsVersion() {
+ return notificationFieldsVersion;
+ }
+
+ public void setNotificationFieldsVersion(String notificationFieldsVersion) {
+ this.notificationFieldsVersion = notificationFieldsVersion;
+ }
+
+
+} \ No newline at end of file
diff --git a/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESPNFRegistrationFieldsPOJO.java b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESPNFRegistrationFieldsPOJO.java
new file mode 100644
index 000000000..e564914da
--- /dev/null
+++ b/sdnr/wt/devicemanager/model/src/main/java/org/onap/ccsdk/features/sdnr/wt/devicemanager/types/VESPNFRegistrationFieldsPOJO.java
@@ -0,0 +1,148 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+ * All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.types;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class VESPNFRegistrationFieldsPOJO {
+
+ private Map<String, String> additionalFields = new HashMap<String, String>();
+ private String lastServiceDate = "";
+ private String macAddress = "";
+ private String manufactureDate = "";
+ private String modelNumber = "";
+ private String oamV4IpAddress = "";
+ private String oamV6IpAddress = "";
+ private String pnfRegistrationFieldsVersion = "2.0";
+ private String serialNumber = "";
+ private String softwareVersion = "";
+ private String unitFamily = "";
+ private String unitType = "";
+ private String vendorName = "";
+
+ public Map<String, String> getAdditionalFields() {
+ return additionalFields;
+ }
+
+ public void setAdditionalFields(Map<String, String> additionalFields) {
+ this.additionalFields = additionalFields;
+ }
+
+ public String getLastServiceDate() {
+ return lastServiceDate;
+ }
+
+ public void setLastServiceDate(String lastServiceDate) {
+ this.lastServiceDate = lastServiceDate;
+ }
+
+ public String getMacAddress() {
+ return macAddress;
+ }
+
+ public void setMacAddress(String macAddress) {
+ this.macAddress = macAddress;
+ }
+
+ public String getManufactureDate() {
+ return manufactureDate;
+ }
+
+ public void setManufactureDate(String manufactureDate) {
+ this.manufactureDate = manufactureDate;
+ }
+
+ public String getModelNumber() {
+ return modelNumber;
+ }
+
+ public void setModelNumber(String modelNumber) {
+ this.modelNumber = modelNumber;
+ }
+
+ public String getOamV4IpAddress() {
+ return oamV4IpAddress;
+ }
+
+ public void setOamV4IpAddress(String oamV4IpAddress) {
+ this.oamV4IpAddress = oamV4IpAddress;
+ }
+
+ public String getOamV6IpAddress() {
+ return oamV6IpAddress;
+ }
+
+ public void setOamV6IpAddress(String oamV6IpAddress) {
+ this.oamV6IpAddress = oamV6IpAddress;
+ }
+
+ public String getPnfRegistrationFieldsVersion() {
+ return pnfRegistrationFieldsVersion;
+ }
+
+ public void setPnfRegistrationFieldsVersion(String pnfRegistrationFieldsVersion) {
+ this.pnfRegistrationFieldsVersion = pnfRegistrationFieldsVersion;
+ }
+
+ public String getSerialNumber() {
+ return serialNumber;
+ }
+
+ public void setSerialNumber(String serialNumber) {
+ this.serialNumber = serialNumber;
+ }
+
+ public String getSoftwareVersion() {
+ return softwareVersion;
+ }
+
+ public void setSoftwareVersion(String softwareVersion) {
+ this.softwareVersion = softwareVersion;
+ }
+
+ public String getUnitFamily() {
+ return unitFamily;
+ }
+
+ public void setUnitFamily(String unitFamily) {
+ this.unitFamily = unitFamily;
+ }
+
+ public String getUnitType() {
+ return unitType;
+ }
+
+ public void setUnitType(String unitType) {
+ this.unitType = unitType;
+ }
+
+ public String getVendorName() {
+ return vendorName;
+ }
+
+ public void setVendorName(String vendorName) {
+ this.vendorName = vendorName;
+
+ }
+
+}