From 7f2e4aa47f56085be6c95cb81b6a8bea8126d56d Mon Sep 17 00:00:00 2001 From: decheng zhang Date: Mon, 28 Feb 2022 11:15:20 -0500 Subject: Jakarta changes in slice-analysis-ms for IBN Cloud leased line update and CCVPN closed-loop. This commit contains work in sub-task: 1) AAI monitor thread; 2) bandwidth evaluator; 3) policy notification code. Issue-ID: DCAEGEN2-3063 Signed-off-by: decheng zhang Change-Id: I9029ffd7563e65be59f7fd76adc2a749ff624172 Signed-off-by: decheng zhang --- .../slice/analysis/ms/models/Configuration.java | 239 +++------------------ .../ms/models/policy/AdditionalProperties.java | 111 ++++++---- .../slice/analysis/ms/models/policy/Payload.java | 98 +++++---- .../onap/slice/analysis/ms/models/policy/Sla.java | 66 ++++++ .../ms/models/policy/TransportNetwork.java | 65 ++++++ .../vesnotification/ArrayOfNamedHashMap.java | 50 +++++ .../ms/models/vesnotification/HashMap.java | 68 ++++++ .../models/vesnotification/NotificationFields.java | 70 ++++++ 8 files changed, 474 insertions(+), 293 deletions(-) create mode 100644 components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/Sla.java create mode 100644 components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/TransportNetwork.java create mode 100644 components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/vesnotification/ArrayOfNamedHashMap.java create mode 100644 components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/vesnotification/HashMap.java create mode 100644 components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/vesnotification/NotificationFields.java (limited to 'components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models') diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/Configuration.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/Configuration.java index 2f3f6c2a..d5aeb7b4 100644 --- a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/Configuration.java +++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/Configuration.java @@ -3,6 +3,7 @@ * slice-analysis-ms * ================================================================================ * Copyright (C) 2020-2022 Wipro Limited. + * Copyright (C) 2022 Huawei Canada Limited. * ============================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,12 +32,16 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import lombok.Getter; +import lombok.Setter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Model class for the application Configuration */ +@Getter +@Setter public class Configuration { private static Logger log = LoggerFactory.getLogger(Configuration.class); @@ -65,48 +70,22 @@ public class Configuration { private String desUrl; private int pmDataDurationInWeeks; + private int vesNotifPollingInterval; + private String vesNotifChangeIdentifier; + private String vesNotifChangeType; + private int ccvpnEvalInterval; + private double ccvpnEvalThreshold; + private double ccvpnEvalPrecision; + private String aaiNotifTargetAction; + private String aaiNotifTargetSource; + private String aaiNotifTargetEntity; + private boolean ccvpnEvalPeriodicCheckOn; + private boolean ccvpnEvalOnDemandCheckOn; + /** - * Check if topic is secure. + * No args constructor */ - public boolean isSecured() { - return (aafUsername != null); - - } - - public String getAafUsername() { - return aafUsername; - } - - public void setAafUsername(String aafUsername) { - this.aafUsername = aafUsername; - } - - public String getAafPassword() { - return aafPassword; - } - - public void setAafPassword(String aafPassword) { - this.aafPassword = aafPassword; - } - - public Map getStreamsSubscribes() { - return streamsSubscribes; - } - - public void setStreamsSubscribes(Map streamsSubscribes) { - this.streamsSubscribes = streamsSubscribes; - } - - public Map getStreamsPublishes() { - return streamsPublishes; - } - - public void setStreamsPublishes(Map streamsPublishes) { - this.streamsPublishes = streamsPublishes; - } - protected Configuration() { - } /** @@ -119,174 +98,11 @@ public class Configuration { return instance; } - public String getCg() { - return cg; - } - - public void setCg(String cg) { - this.cg = cg; - } - - public String getCid() { - return cid; - } - - public void setCid(String cid) { - this.cid = cid; - } - - public int getPollingInterval() { - return pollingInterval; - } - - public void setPollingInterval(int pollingInterval) { - this.pollingInterval = pollingInterval; - } - - public int getPollingTimeout() { - return pollingTimeout; - } - - public void setPollingTimeout(int pollingTimeout) { - this.pollingTimeout = pollingTimeout; - } - - public String getPgHost() { - return pgHost; - } - - public void setPgHost(String pgHost) { - this.pgHost = pgHost; - } - - public int getPgPort() { - return pgPort; - } - - public void setPgPort(int pgPort) { - this.pgPort = pgPort; - } - - public String getPgUsername() { - return pgUsername; - } - - public void setPgUsername(String pgUsername) { - this.pgUsername = pgUsername; - } - - public String getPgPassword() { - return pgPassword; - } - - public void setPgPassword(String pgPassword) { - this.pgPassword = pgPassword; - } - - public List getDmaapServers() { - return dmaapServers; - } - - public void setDmaapServers(List dmaapServers) { - this.dmaapServers = dmaapServers; - } - - public String getConfigDbService() { - return configDbService; - } - - public void setConfigDbService(String configDbService) { - this.configDbService = configDbService; - } - - public String getCpsUrl() { - return cpsUrl; - } - - public void setCpsUrl(String cpsUrl) { - this.cpsUrl = cpsUrl; - } - - public String getAaiUrl() { - return aaiUrl; - } - - public void setAaiUrl(String aaiUrl) { - this.aaiUrl = aaiUrl; - } - - public Boolean getConfigDbEnabled() { - return configDbEnabled; - } - - public void setConfigDbEnabled(Boolean configDbEnabled) { - this.configDbEnabled = configDbEnabled; - } - - public int getSamples() { - return samples; - } - - public void setSamples(int samples) { - this.samples = samples; - } - - public int getMinPercentageChange() { - return minPercentageChange; - } - - public void setMinPercentageChange(int minPercentageChange) { - this.minPercentageChange = minPercentageChange; - } - - public long getInitialDelaySeconds() { - return initialDelaySeconds; - } - - public void setInitialDelaySeconds(long initialDelaySeconds) { - this.initialDelaySeconds = initialDelaySeconds; - } - - /** - * Get RannfnssiDetails TemplateId from Configuration - */ - public String getRannfnssiDetailsTemplateId() { - return rannfnssiDetailsTemplateId; - } - - /** - * Set RannfnssiDetails TemplateId - */ - public void setRannfnssiDetailsTemplateId(String rannfnssiDetailsTemplateId) { - this.rannfnssiDetailsTemplateId = rannfnssiDetailsTemplateId; - } - - /** - * Get Data Extraction Service Url - */ - public String getDesUrl() { - return desUrl; - } - - /** - * Set Data Extraction Service Url - */ - public void setDesUrl(String desUrl) { - this.desUrl = desUrl; - } - - /** - * Get duration for which PM data is to be fetched from DES - */ - public int getPmDataDurationInWeeks() { - return pmDataDurationInWeeks; - } - /** - * Set duration for which PM data is to be fetched from DES + * Check if topic is secure. */ - public void setPmDataDurationInWeeks(int pmDataDurationInWeeks) { - this.pmDataDurationInWeeks = pmDataDurationInWeeks; + public boolean isSecured() { + return (aafUsername != null); } @Override @@ -340,6 +156,19 @@ public class Configuration { desUrl = jsonObject.get("sliceanalysisms.desUrl").getAsString(); pmDataDurationInWeeks = jsonObject.get("sliceanalysisms.pmDataDurationInWeeks").getAsInt(); + vesNotifChangeIdentifier = jsonObject.get("sliceanalysisms.vesNotifChangeIdentifier").getAsString(); + vesNotifChangeType = jsonObject.get("sliceanalysisms.vesNotifChangeType").getAsString(); + vesNotifPollingInterval = jsonObject.get("sliceanalysisms.vesNotifPollingInterval").getAsInt(); + + aaiNotifTargetAction = jsonObject.get("sliceanalysisms.aaiNotif.targetAction").getAsString(); + aaiNotifTargetSource = jsonObject.get("sliceanalysisms.aaiNotif.targetSource").getAsString(); + aaiNotifTargetSource = jsonObject.get("sliceanalysisms.aaiNotif.targetEntity").getAsString(); + ccvpnEvalInterval = jsonObject.get("sliceanalysisms.ccvpnEvalInterval").getAsInt(); + ccvpnEvalThreshold = jsonObject.get("sliceanalysisms.ccvpnEvalThreshold").getAsDouble(); + ccvpnEvalPrecision = jsonObject.get("sliceanalysisms.ccvpnEvalPrecision").getAsDouble(); + ccvpnEvalPeriodicCheckOn = jsonObject.get("sliceanalysisms.ccvpnEvalPeriodicCheckOn").getAsBoolean(); + ccvpnEvalOnDemandCheckOn = jsonObject.get("sliceanalysisms.ccvpnEvalOnDemandCheckOn").getAsBoolean(); + if (Objects.isNull(jsonObject.get("aafUsername"))) { aafUsername = null; } else { diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/AdditionalProperties.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/AdditionalProperties.java index 24c1dd2f..30d1b357 100644 --- a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/AdditionalProperties.java +++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/AdditionalProperties.java @@ -3,6 +3,7 @@ * slice-analysis-ms * ================================================================================ * Copyright (C) 2020 Wipro Limited. + * Copyright (C) 2022 Huawei Canada Limited. * ============================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,54 +22,76 @@ package org.onap.slice.analysis.ms.models.policy; +import com.fasterxml.jackson.annotation.JsonInclude; +import java.util.ArrayList; import java.util.List; import java.util.Map; -/** - * Model class for the AdditionalProperties Object +/** + * Model class for the AdditionalProperties Object */ +@JsonInclude(JsonInclude.Include.NON_NULL) public class AdditionalProperties { - private String modifyAction; - private List snssaiList; - private String sliceProfileId; - private T resourceConfig; - private Map nsiInfo; - private String scriptName; - public String getModifyAction() { - return modifyAction; - } - public void setModifyAction(String modifyAction) { - this.modifyAction = modifyAction; - } - public List getSnssaiList() { - return snssaiList; - } - public void setSnssaiList(List snssaiList) { - this.snssaiList = snssaiList; - } - public String getSliceProfileId() { - return sliceProfileId; - } - public void setSliceProfileId(String sliceProfileId) { - this.sliceProfileId = sliceProfileId; - } - public T getResourceConfig() { - return resourceConfig; - } - public void setResourceConfig(T resourceConfig) { - this.resourceConfig = resourceConfig; - } - public Map getNsiInfo() { - return nsiInfo; - } - public void setNsiInfo(Map nsiInfo) { - this.nsiInfo = nsiInfo; - } - public String getScriptName() { - return scriptName; - } - public void setScriptName(String scriptName) { - this.scriptName = scriptName; - } + private String modifyAction; + private List snssaiList; + private String sliceProfileId; + private T resourceConfig; + private Map nsiInfo; + private String scriptName; + // Extra attributes for CCVPN CloseLoop + private String enableSdnc; + private List transportNetworks; + public String getModifyAction() { + return modifyAction; + } + public void setModifyAction(String modifyAction) { + this.modifyAction = modifyAction; + } + public List getSnssaiList() { + return snssaiList; + } + public void setSnssaiList(List snssaiList) { + this.snssaiList = snssaiList; + } + public String getSliceProfileId() { + return sliceProfileId; + } + public void setSliceProfileId(String sliceProfileId) { + this.sliceProfileId = sliceProfileId; + } + public T getResourceConfig() { + return resourceConfig; + } + public void setResourceConfig(T resourceConfig) { + this.resourceConfig = resourceConfig; + } + public Map getNsiInfo() { + return nsiInfo; + } + public void setNsiInfo(Map nsiInfo) { + this.nsiInfo = nsiInfo; + } + public String getScriptName() { + return scriptName; + } + public void setScriptName(String scriptName) { + this.scriptName = scriptName; + } + // Extra attributes setter/getter for CCVPN CloseLoop + public String getEnableSdnc() { + return enableSdnc; + } + + public void setEnableSdnc(String enableSdnc) { + this.enableSdnc = enableSdnc; + } + + public List getTransportNetworks() { + return transportNetworks; + } + + public void setTransportNetworks(List transportNetworks) { + this.transportNetworks = transportNetworks; + } } diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/Payload.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/Payload.java index d96850cb..e3351541 100644 --- a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/Payload.java +++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/Payload.java @@ -3,6 +3,7 @@ * slice-analysis-ms * ================================================================================ * Copyright (C) 2020 Wipro Limited. + * Copyright (C) 2022 Huawei Canada Limited. * ============================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,64 +21,73 @@ *******************************************************************************/ package org.onap.slice.analysis.ms.models.policy; -/** - * Model class for the Paylaod Object +/** + * Model class for the Paylaod Object */ public class Payload { - private String name; - private String serviceInstanceID; - private String globalSubscriberId; - private String subscriptionServiceType; - private String networkType; - private AdditionalProperties additionalProperties; + private String name; + private String serviceInstanceID; + private String globalSubscriberId; + private String subscriptionServiceType; + private String networkType; + private AdditionalProperties additionalProperties; + private String serviceType; - public String getName() { - return name; - } + public String getName() { + return name; + } - public void setName(String name) { - this.name = name; - } + public void setName(String name) { + this.name = name; + } - public String getServiceInstanceID() { - return serviceInstanceID; - } + public String getServiceInstanceID() { + return serviceInstanceID; + } - public void setServiceInstanceID(String serviceInstanceId) { - this.serviceInstanceID = serviceInstanceId; - } + public void setServiceInstanceID(String serviceInstanceId) { + this.serviceInstanceID = serviceInstanceId; + } - public String getGlobalSubscriberId() { - return globalSubscriberId; - } + public String getGlobalSubscriberId() { + return globalSubscriberId; + } - public void setGlobalSubscriberId(String globalSubscriberId) { - this.globalSubscriberId = globalSubscriberId; - } + public void setGlobalSubscriberId(String globalSubscriberId) { + this.globalSubscriberId = globalSubscriberId; + } - public String getSubscriptionServiceType() { - return subscriptionServiceType; - } + public String getSubscriptionServiceType() { + return subscriptionServiceType; + } - public void setSubscriptionServiceType(String subscriptionServiceType) { - this.subscriptionServiceType = subscriptionServiceType; - } + public void setSubscriptionServiceType(String subscriptionServiceType) { + this.subscriptionServiceType = subscriptionServiceType; + } - public String getNetworkType() { - return networkType; - } + public String getNetworkType() { + return networkType; + } - public void setNetworkType(String networkType) { - this.networkType = networkType; - } + public void setNetworkType(String networkType) { + this.networkType = networkType; + } - public AdditionalProperties getAdditionalProperties() { - return additionalProperties; - } + public AdditionalProperties getAdditionalProperties() { + return additionalProperties; + } - public void setAdditionalProperties(AdditionalProperties additionalProperties) { - this.additionalProperties = additionalProperties; - } + public void setAdditionalProperties(AdditionalProperties additionalProperties) { + this.additionalProperties = additionalProperties; + } + + public String getServiceType() { + return serviceType; + } + + public void setServiceType(String serviceType) { + this.serviceType = serviceType; + } } diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/Sla.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/Sla.java new file mode 100644 index 00000000..2d6451aa --- /dev/null +++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/Sla.java @@ -0,0 +1,66 @@ +/******************************************************************************* + * ============LICENSE_START======================================================= + * slice-analysis-ms + * ================================================================================ + * Copyright (C) 2022 Huawei Canada Limited. + * ============================================================================== + * 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.slice.analysis.ms.models.policy; + +/** + * Model class for payload.additionalProperties.transportNetworks.sla + */ +public class Sla { + + private int latency; + private int maxBandwidth; + + /** + * No args constructor for use in serialization + * + */ + public Sla() { + } + + /** + * + * @param maxBandwidth + * @param latency + */ + public Sla(int latency, int maxBandwidth) { + super(); + this.latency = latency; + this.maxBandwidth = maxBandwidth; + } + + public int getLatency() { + return latency; + } + + public void setLatency(int latency) { + this.latency = latency; + } + + public int getMaxBandwidth() { + return maxBandwidth; + } + + public void setMaxBandwidth(int maxBandwidth) { + this.maxBandwidth = maxBandwidth; + } + +} diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/TransportNetwork.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/TransportNetwork.java new file mode 100644 index 00000000..46881806 --- /dev/null +++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/TransportNetwork.java @@ -0,0 +1,65 @@ +/******************************************************************************* + * ============LICENSE_START======================================================= + * slice-analysis-ms + * ================================================================================ + * Copyright (C) 2022 Huawei Canada Limited. + * ============================================================================== + * 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.slice.analysis.ms.models.policy; + +/** + * Model class TransportNetwork inside payload.additionalProperties for CCVPN closeLoop + */ +public class TransportNetwork { + + private String id; + private Sla sla; + + /** + * No args constructor for use in serialization + * + */ + public TransportNetwork() { + } + + /** + * + * @param sla + * @param id + */ + public TransportNetwork(String id, Sla sla) { + this.id = id; + this.sla = sla; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Sla getSla() { + return sla; + } + + public void setSla(Sla sla) { + this.sla = sla; + } + +} diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/vesnotification/ArrayOfNamedHashMap.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/vesnotification/ArrayOfNamedHashMap.java new file mode 100644 index 00000000..fcf7eb09 --- /dev/null +++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/vesnotification/ArrayOfNamedHashMap.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * ============LICENSE_START======================================================= + * slice-analysis-ms + * ================================================================================ + * Copyright (C) 2022 Huawei Canada Limited. + * ============================================================================== + * 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.slice.analysis.ms.models.vesnotification; + +import javax.annotation.Generated; + +/** + * Model class for Ves ccvpnNotification.arrayOfNamedHashMap + */ +@Generated("jsonschema2pojo") +public class ArrayOfNamedHashMap { + + private String name; + private HashMap hashMap; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public HashMap getHashMap() { + return hashMap; + } + + public void setHashMap(HashMap hashMap) { + this.hashMap = hashMap; + } + +} diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/vesnotification/HashMap.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/vesnotification/HashMap.java new file mode 100644 index 00000000..e26f402c --- /dev/null +++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/vesnotification/HashMap.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * ============LICENSE_START======================================================= + * slice-analysis-ms + * ================================================================================ + * Copyright (C) 2022 Huawei Canada Limited. + * ============================================================================== + * 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.slice.analysis.ms.models.vesnotification; + +import javax.annotation.Generated; + +/** + * Model class for Ves ccvpnNotification.arrayOfNamedHashMap.hashMap + */ +@Generated("jsonschema2pojo") +public class HashMap { + + private String cllId; + private String uniId; + private String bandwidthValue; + private String time; + + public String getCllId() { + return cllId; + } + + public void setCllId(String cllId) { + this.cllId = cllId; + } + + public String getUniId() { + return uniId; + } + + public void setUniId(String uniId) { + this.uniId = uniId; + } + + public String getBandwidthValue() { + return bandwidthValue; + } + + public void setBandwidthValue(String bandwidthValue) { + this.bandwidthValue = bandwidthValue; + } + + public String getTime() { + return time; + } + + public void setTime(String time) { + this.time = time; + } + +} diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/vesnotification/NotificationFields.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/vesnotification/NotificationFields.java new file mode 100644 index 00000000..28509a6b --- /dev/null +++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/vesnotification/NotificationFields.java @@ -0,0 +1,70 @@ +/******************************************************************************* + * ============LICENSE_START======================================================= + * slice-analysis-ms + * ================================================================================ + * Copyright (C) 2022 Huawei Canada Limited. + * ============================================================================== + * 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.slice.analysis.ms.models.vesnotification; + +import java.util.ArrayList; +import java.util.List; +import javax.annotation.Generated; + +/** + * Model class for Ves notification message + */ +@Generated("jsonschema2pojo") +public class NotificationFields { + + private String changeIdentifier; + private String changeType; + private String notificationFieldsVersion; + private List arrayOfNamedHashMap = new ArrayList(); + + 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 getNotificationFieldsVersion() { + return notificationFieldsVersion; + } + + public void setNotificationFieldsVersion(String notificationFieldsVersion) { + this.notificationFieldsVersion = notificationFieldsVersion; + } + + public List getArrayOfNamedHashMap() { + return arrayOfNamedHashMap; + } + + public void setArrayOfNamedHashMap(List arrayOfNamedHashMap) { + this.arrayOfNamedHashMap = arrayOfNamedHashMap; + } + +} -- cgit 1.2.3-korg