summaryrefslogtreecommitdiffstats
path: root/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models
diff options
context:
space:
mode:
authordhebeha <dhebeha.mj71@wipro.com>2020-09-08 13:02:32 +0530
committerdhebeha <dhebeha.mj71@wipro.com>2020-09-15 22:11:14 +0530
commit8882e23eedce9e9236e1d979b2056b62dd974d91 (patch)
treeff7bce29e94a814c340df73607b9d0da59a1329a /components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models
parent2c6ad52e8d0e29b8037776fff035f031558cc4b0 (diff)
Add support to consume, process pm message from DB
- Add support for analysing pm data - Add support to trigger closed loop - Add support for configDb Interface Implementation - Add support for Intelligent slicing Issue-ID: DCAEGEN2-2255 Signed-off-by: dhebeha <dhebeha.mj71@wipro.com> Change-Id: I185dbb6da45ae6ee74f0a090e2d604914163588b
Diffstat (limited to 'components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models')
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/CUModel.java101
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/CellCUList.java80
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/ConfigData.java94
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/ConfigPolicy.java72
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/Configuration.java265
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/MLOutputModel.java82
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/MeasurementObject.java96
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/SubCounter.java76
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/configdb/CellsModel.java51
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/configdb/NetworkFunctionModel.java52
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/CommonEventHeader.java138
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/Event.java47
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasDataCollection.java77
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasInfoId.java39
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasInfoList.java59
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasResult.java48
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasTypes.java41
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasValuesList.java58
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/Perf3gppFields.java48
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/PmNotification.java39
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/AAI.java61
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/AdditionalProperties.java75
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/OnsetMessage.java136
-rw-r--r--components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/Payload.java95
24 files changed, 1930 insertions, 0 deletions
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/CUModel.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/CUModel.java
new file mode 100644
index 00000000..6473ab23
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/CUModel.java
@@ -0,0 +1,101 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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;
+
+import java.util.List;
+
+/**
+ * Model class for CU model
+ */
+public class CUModel {
+
+ private String gNBCUName;
+ private String nearRTRICId;
+ private List<CellCUList> cellCUList;
+
+ public String getgNBCUName() {
+ return gNBCUName;
+ }
+
+ public void setgNBCUName(String gNBCUName) {
+ this.gNBCUName = gNBCUName;
+ }
+
+ public String getNearRTRICId() {
+ return nearRTRICId;
+ }
+
+ public void setNearRTRICId(String nearRTRICId) {
+ this.nearRTRICId = nearRTRICId;
+ }
+
+ public List<CellCUList> getCellCUList() {
+ return cellCUList;
+ }
+
+ public void setCellCUList(List<CellCUList> cellCUList) {
+ this.cellCUList = cellCUList;
+ }
+
+ @Override
+ public String toString() {
+ return "CUModel [gNBCUName=" + gNBCUName + ", nearRTRICId=" + nearRTRICId + ", cellCUList=" + cellCUList + "]";
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((cellCUList == null) ? 0 : cellCUList.hashCode());
+ result = prime * result + ((gNBCUName == null) ? 0 : gNBCUName.hashCode());
+ result = prime * result + ((nearRTRICId == null) ? 0 : nearRTRICId.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;
+ CUModel other = (CUModel) obj;
+ if (cellCUList == null) {
+ if (other.cellCUList != null)
+ return false;
+ } else if (!cellCUList.equals(other.cellCUList))
+ return false;
+ if (gNBCUName == null) {
+ if (other.gNBCUName != null)
+ return false;
+ } else if (!gNBCUName.equals(other.gNBCUName))
+ return false;
+ if (nearRTRICId == null) {
+ if (other.nearRTRICId != null)
+ return false;
+ } else if (!nearRTRICId.equals(other.nearRTRICId))
+ return false;
+ return true;
+ }
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/CellCUList.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/CellCUList.java
new file mode 100644
index 00000000..cd566778
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/CellCUList.java
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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;
+
+/**
+ * Model class for cell information
+ */
+public class CellCUList {
+
+ private Integer cellLocalId;
+ private ConfigData configData;
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((cellLocalId == null) ? 0 : cellLocalId.hashCode());
+ result = prime * result + ((configData == null) ? 0 : configData.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;
+ CellCUList other = (CellCUList) obj;
+ if (cellLocalId == null) {
+ if (other.cellLocalId != null)
+ return false;
+ } else if (!cellLocalId.equals(other.cellLocalId))
+ return false;
+ if (configData == null) {
+ if (other.configData != null)
+ return false;
+ } else if (!configData.equals(other.configData))
+ return false;
+ return true;
+ }
+
+ public Integer getCellLocalId() {
+ return cellLocalId;
+ }
+
+ public void setCellLocalId(Integer cellLocalId) {
+ this.cellLocalId = cellLocalId;
+ }
+
+ public ConfigData getConfigData() {
+ return configData;
+ }
+
+ public void setConfigData(ConfigData configData) {
+ this.configData = configData;
+ }
+
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/ConfigData.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/ConfigData.java
new file mode 100644
index 00000000..f8711154
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/ConfigData.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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;
+
+/**
+ * Model class for the config data
+ */
+public class ConfigData {
+
+ private String maxNumberofConns;
+ private String predictedMaxNumberofConns;
+ private String lastUpdatedTS;
+
+ public String getMaxNumberofConns() {
+ return maxNumberofConns;
+ }
+
+ public void setMaxNumberofConns(String maxNumberofConns) {
+ this.maxNumberofConns = maxNumberofConns;
+ }
+
+ public String getPredictedMaxNumberofConns() {
+ return predictedMaxNumberofConns;
+ }
+
+ public void setPredictedMaxNumberofConns(String predictedMaxNumberofConns) {
+ this.predictedMaxNumberofConns = predictedMaxNumberofConns;
+ }
+
+ public String getLastUpdatedTS() {
+ return lastUpdatedTS;
+ }
+
+ public void setLastUpdatedTS(String lastUpdatedTS) {
+ this.lastUpdatedTS = lastUpdatedTS;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((lastUpdatedTS == null) ? 0 : lastUpdatedTS.hashCode());
+ result = prime * result + ((maxNumberofConns == null) ? 0 : maxNumberofConns.hashCode());
+ result = prime * result + ((predictedMaxNumberofConns == null) ? 0 : predictedMaxNumberofConns.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;
+ ConfigData other = (ConfigData) obj;
+ if (lastUpdatedTS == null) {
+ if (other.lastUpdatedTS != null)
+ return false;
+ } else if (!lastUpdatedTS.equals(other.lastUpdatedTS))
+ return false;
+ if (maxNumberofConns == null) {
+ if (other.maxNumberofConns != null)
+ return false;
+ } else if (!maxNumberofConns.equals(other.maxNumberofConns))
+ return false;
+ if (predictedMaxNumberofConns == null) {
+ if (other.predictedMaxNumberofConns != null)
+ return false;
+ } else if (!predictedMaxNumberofConns.equals(other.predictedMaxNumberofConns))
+ return false;
+ return true;
+ }
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/ConfigPolicy.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/ConfigPolicy.java
new file mode 100644
index 00000000..6f2b4ec6
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/ConfigPolicy.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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;
+
+import java.util.Map;
+
+/**
+ *
+ * Model class for configuration policy
+ *
+ */
+
+public class ConfigPolicy {
+
+ private static ConfigPolicy instance = null;
+ private Map<String, Object> config;
+
+ protected ConfigPolicy() {
+
+ }
+
+ /**
+ * Get instance of class.
+ */
+ public static ConfigPolicy getInstance() {
+ if (instance == null) {
+ instance = new ConfigPolicy();
+ }
+ return instance;
+ }
+
+ /**
+ * Get config param of ConfigPolicy
+ */
+ public Map<String, Object> getConfig() {
+ return config;
+ }
+
+ /**
+ * set config param of ConfigPolicy
+ */
+ public void setConfig(Map<String, Object> config) {
+ this.config = config;
+ }
+
+ /**
+ * Return ConfigPolicy instance as String
+ */
+ @Override
+ public String toString() {
+ return "ConfigPolicy [config=" + config + "]";
+ }
+}
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
new file mode 100644
index 00000000..25a80463
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/Configuration.java
@@ -0,0 +1,265 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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;
+
+import java.lang.reflect.Type;
+import java.util.List;
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonObject;
+import com.google.gson.reflect.TypeToken;
+
+/**
+ * Model class for the application Configuration
+ */
+public class Configuration {
+ private static Logger log = LoggerFactory.getLogger(Configuration.class);
+
+ private static Configuration instance = null;
+ private String pgHost;
+ private int pgPort;
+ private String pgUsername;
+ private String pgPassword;
+ private List<String> dmaapServers;
+ private String configDbService;
+ private String cg;
+ private String cid;
+ private int pollingInterval;
+ private int pollingTimeout;
+ private String aafUsername;
+ private String aafPassword;
+ private Map<String, Object> streamsSubscribes;
+ private Map<String, Object> streamsPublishes;
+ private int samples;
+ private int minPercentageChange;
+ private long initialDelaySeconds;
+ /**
+ * Check if topic is secure.
+ */
+ 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<String, Object> getStreamsSubscribes() {
+ return streamsSubscribes;
+ }
+
+ public void setStreamsSubscribes(Map<String, Object> streamsSubscribes) {
+ this.streamsSubscribes = streamsSubscribes;
+ }
+
+ public Map<String, Object> getStreamsPublishes() {
+ return streamsPublishes;
+ }
+
+ public void setStreamsPublishes(Map<String, Object> streamsPublishes) {
+ this.streamsPublishes = streamsPublishes;
+ }
+
+ protected Configuration() {
+
+ }
+
+ /**
+ * Get instance of class.
+ */
+ public static Configuration getInstance() {
+ if (instance == null) {
+ instance = new 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<String> getDmaapServers() {
+ return dmaapServers;
+ }
+
+ public void setDmaapServers(List<String> dmaapServers) {
+ this.dmaapServers = dmaapServers;
+ }
+
+ public String getConfigDbService() {
+ return configDbService;
+ }
+
+ public void setConfigDbService(String configDbService) {
+ this.configDbService = configDbService;
+ }
+
+ 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;
+ }
+
+ @Override
+ public String toString() {
+ return "Configuration [pgHost=" + pgHost + ", pgPort=" + pgPort + ", pgUsername=" + pgUsername + ", pgPassword="
+ + pgPassword + ", dmaapServers=" + dmaapServers + ", configDbService=" + configDbService + ", cg=" + cg
+ + ", cid=" + cid + ", pollingInterval=" + pollingInterval + ", pollingTimeout=" + pollingTimeout
+ + ", aafUsername=" + aafUsername + ", aafPassword=" + aafPassword + ", streamsSubscribes="
+ + streamsSubscribes + ", streamsPublishes=" + streamsPublishes + ", samples=" + samples
+ + ", minPercentageChange=" + minPercentageChange + ", initialDelaySeconds=" + initialDelaySeconds + "]";
+ }
+
+ /**
+ * updates application configuration.
+ */
+ public void updateConfigurationFromJsonObject(JsonObject jsonObject) {
+
+ log.info("Updating configuration from CBS");
+
+ Type mapType = new TypeToken<Map<String, Object>>() {
+ }.getType();
+
+ JsonObject subscribes = jsonObject.getAsJsonObject("streams_subscribes");
+ streamsSubscribes = new Gson().fromJson(subscribes, mapType);
+
+ JsonObject publishes = jsonObject.getAsJsonObject("streams_publishes");
+ streamsPublishes = new Gson().fromJson(publishes, mapType);
+
+ pgPort = jsonObject.get("postgres.port").getAsInt();
+ pollingInterval = jsonObject.get("sliceanalysisms.pollingInterval").getAsInt();
+ pgPassword = jsonObject.get("postgres.password").getAsString();
+ pgUsername = jsonObject.get("postgres.username").getAsString();
+ pgHost = jsonObject.get("postgres.host").getAsString();
+
+ JsonArray servers = jsonObject.getAsJsonArray("sliceanalysisms.dmaap.server");
+ Type listType = new TypeToken<List<String>>() {}.getType();
+ dmaapServers = new Gson().fromJson(servers, listType);
+
+ cg = jsonObject.get("sliceanalysisms.cg").getAsString();
+ cid = jsonObject.get("sliceanalysisms.cid").getAsString();
+ configDbService = jsonObject.get("sliceanalysisms.configDb.service").getAsString();
+
+ pollingTimeout = jsonObject.get("sliceanalysisms.pollingTimeout").getAsInt();
+ samples = jsonObject.get("sliceanalysisms.samples").getAsInt();
+ minPercentageChange = jsonObject.get("sliceanalysisms.minPercentageChange").getAsInt();
+ initialDelaySeconds = jsonObject.get("sliceanalysisms.initialDelaySeconds").getAsLong();
+
+ log.info("configuration from CBS {}", this);
+ }
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/MLOutputModel.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/MLOutputModel.java
new file mode 100644
index 00000000..7533d215
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/MLOutputModel.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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;
+
+import java.util.List;
+
+/**
+ * Model class for ML output object
+ */
+public class MLOutputModel {
+ private String snssai;
+ private List<CUModel> data;
+ public String getSnssai() {
+ return snssai;
+ }
+ public void setSnssai(String snssai) {
+ this.snssai = snssai;
+ }
+ public List<CUModel> getData() {
+ return data;
+ }
+ public void setData(List<CUModel> data) {
+ this.data = data;
+ }
+
+ @Override
+ public String toString() {
+ return "MLOutputModel [snssai=" + snssai + ", data=" + data + "]";
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((data == null) ? 0 : data.hashCode());
+ result = prime * result + ((snssai == null) ? 0 : snssai.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;
+ MLOutputModel other = (MLOutputModel) obj;
+ if (data == null) {
+ if (other.data != null)
+ return false;
+ } else if (!data.equals(other.data))
+ return false;
+ if (snssai == null) {
+ if (other.snssai != null)
+ return false;
+ } else if (!snssai.equals(other.snssai))
+ return false;
+ return true;
+ }
+
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/MeasurementObject.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/MeasurementObject.java
new file mode 100644
index 00000000..047c9856
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/MeasurementObject.java
@@ -0,0 +1,96 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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;
+
+import java.util.Map;
+
+/**
+ * Model class for the Measurement Object
+ */
+public class MeasurementObject {
+ private String measurementObjectId;
+ private Map<String, Integer> pmData;
+
+ public String getMeasurementObjectId() {
+ return measurementObjectId;
+ }
+
+ public void setMeasurementObjectId(String measurementObjectId) {
+ this.measurementObjectId = measurementObjectId;
+ }
+
+ public Map<String, Integer> getPmData() {
+ return pmData;
+ }
+
+ public void setPmData(Map<String, Integer> pmData) {
+ this.pmData = pmData;
+ }
+
+ public MeasurementObject(String measurementObjectId, Map<String, Integer> pmData) {
+ super();
+ this.measurementObjectId = measurementObjectId;
+ this.pmData = pmData;
+ }
+
+ public MeasurementObject(String measurementObjectId) {
+ super();
+ this.measurementObjectId = measurementObjectId;
+ }
+
+ public MeasurementObject() {
+
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((measurementObjectId == null) ? 0 : measurementObjectId.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;
+ MeasurementObject other = (MeasurementObject) obj;
+ if (measurementObjectId == null) {
+ if (other.measurementObjectId != null)
+ return false;
+ } else if (!measurementObjectId.equals(other.measurementObjectId))
+ return false;
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "MeasurementObject [measurementObjectId=" + measurementObjectId + ", pmData=" + pmData + "]";
+ }
+
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/SubCounter.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/SubCounter.java
new file mode 100644
index 00000000..2990d365
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/SubCounter.java
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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;
+
+/**
+ * Model class for the SubCounter Object which servers as key for PM data Queue
+ */
+public final class SubCounter {
+ final String networkFunction;
+ final String measuredObject;
+
+ public SubCounter(String networkFunction, String measuredObject) {
+ super();
+ this.networkFunction = networkFunction;
+ this.measuredObject = measuredObject;
+ }
+
+ public String getNetworkFunction() {
+ return networkFunction;
+ }
+
+ public String getMeasuredObject() {
+ return measuredObject;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((networkFunction == null) ? 0 : networkFunction.hashCode());
+ result = prime * result + ((measuredObject == null) ? 0 : measuredObject.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;
+ SubCounter other = (SubCounter) obj;
+ if (networkFunction == null) {
+ if (other.networkFunction != null)
+ return false;
+ } else if (!networkFunction.equals(other.networkFunction))
+ return false;
+ if (measuredObject == null) {
+ if (other.measuredObject != null)
+ return false;
+ } else if (!measuredObject.equals(other.measuredObject))
+ return false;
+ return true;
+ }
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/configdb/CellsModel.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/configdb/CellsModel.java
new file mode 100644
index 00000000..e024bf7c
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/configdb/CellsModel.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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.configdb;
+
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+/**
+ * Model class for the CellsModel Object
+ */
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class CellsModel {
+
+ private String cellLocalId;
+
+
+ public String getCellLocalId() {
+ return cellLocalId;
+ }
+
+ public void setCellLocalId(String cellLocalId) {
+ this.cellLocalId = cellLocalId;
+ }
+
+ @Override
+ public String toString() {
+ return "CellsModel [cellLocalId=" + cellLocalId + "]";
+ }
+
+
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/configdb/NetworkFunctionModel.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/configdb/NetworkFunctionModel.java
new file mode 100644
index 00000000..46291d51
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/configdb/NetworkFunctionModel.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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.configdb;
+
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+/**
+ * Model class for the NetworkFunction Object
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class NetworkFunctionModel {
+
+ private String gNBDUId;
+
+
+ public String getgNBDUId() {
+ return gNBDUId;
+ }
+
+ public void setgNBDUId(String gNBDUId) {
+ this.gNBDUId = gNBDUId;
+ }
+
+ @Override
+ public String toString() {
+ return "NetworkFunctionModel [gNBDUId=" + gNBDUId + "]";
+ }
+
+
+
+
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/CommonEventHeader.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/CommonEventHeader.java
new file mode 100644
index 00000000..08c2b983
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/CommonEventHeader.java
@@ -0,0 +1,138 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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.pmnotification;
+
+/**
+ * Model class for the CommonEventHeader Object
+ */
+public class CommonEventHeader {
+
+ private String domain;
+ private String eventId;
+ private long sequence;
+ private String eventName;
+ private String sourceName;
+ private String reportingEntityName;
+ private String priority;
+ private long startEpochMicrosec;
+ private long lastEpochMicrosec;
+ private String version;
+ private String vesEventListenerVersion;
+ private String timeZoneOffset;
+
+ 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 long getSequence() {
+ return sequence;
+ }
+
+ public void setSequence(long sequence) {
+ this.sequence = sequence;
+ }
+
+ public String getEventName() {
+ return eventName;
+ }
+
+ public void setEventName(String eventName) {
+ this.eventName = eventName;
+ }
+
+ public String getSourceName() {
+ return sourceName;
+ }
+
+ public void setSourceName(String sourceName) {
+ this.sourceName = sourceName;
+ }
+
+ public String getReportingEntityName() {
+ return reportingEntityName;
+ }
+
+ public void setReportingEntityName(String reportingEntityName) {
+ this.reportingEntityName = reportingEntityName;
+ }
+
+ public String getPriority() {
+ return priority;
+ }
+
+ public void setPriority(String priority) {
+ this.priority = priority;
+ }
+
+ 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 getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ public String getVesEventListenerVersion() {
+ return vesEventListenerVersion;
+ }
+
+ public void setVesEventListenerVersion(String vesEventListenerVersion) {
+ this.vesEventListenerVersion = vesEventListenerVersion;
+ }
+
+ public String getTimeZoneOffset() {
+ return timeZoneOffset;
+ }
+
+ public void setTimeZoneOffset(String timeZoneOffset) {
+ this.timeZoneOffset = timeZoneOffset;
+ }
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/Event.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/Event.java
new file mode 100644
index 00000000..4e41e261
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/Event.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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.pmnotification;
+
+/**
+ * Model class for the Event Object
+ */
+public class Event {
+
+ private CommonEventHeader commonEventHeader;
+ private Perf3gppFields perf3gppFields;
+
+ public CommonEventHeader getCommonEventHeader() {
+ return commonEventHeader;
+ }
+
+ public void setCommonEventHeader(CommonEventHeader commonEventHeader) {
+ this.commonEventHeader = commonEventHeader;
+ }
+
+ public Perf3gppFields getPerf3gppFields() {
+ return perf3gppFields;
+ }
+
+ public void setPerf3gppFields(Perf3gppFields perf3gppFields) {
+ this.perf3gppFields = perf3gppFields;
+ }
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasDataCollection.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasDataCollection.java
new file mode 100644
index 00000000..f5e36c28
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasDataCollection.java
@@ -0,0 +1,77 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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.pmnotification;
+
+import java.util.List;
+
+/**
+ * Model class for the MeasDataCollection Object
+ */
+public class MeasDataCollection {
+
+ private long granularityPeriod;
+ private String measuredEntityUserName;
+ private String measuredEntityDn;
+ private String measuredEntitySoftwareVersion;
+ private List<MeasInfoList> measInfoList;
+
+ public long getGranularityPeriod() {
+ return granularityPeriod;
+ }
+
+ public void setGranularityPeriod(long granularityPeriod) {
+ this.granularityPeriod = granularityPeriod;
+ }
+
+ public String getMeasuredEntityUserName() {
+ return measuredEntityUserName;
+ }
+
+ public void setMeasuredEntityUserName(String measuredEntityUserName) {
+ this.measuredEntityUserName = measuredEntityUserName;
+ }
+
+ public String getMeasuredEntityDn() {
+ return measuredEntityDn;
+ }
+
+ public void setMeasuredEntityDn(String measuredEntityDn) {
+ this.measuredEntityDn = measuredEntityDn;
+ }
+
+ public String getMeasuredEntitySoftwareVersion() {
+ return measuredEntitySoftwareVersion;
+ }
+
+ public void setMeasuredEntitySoftwareVersion(String measuredEntitySoftwareVersion) {
+ this.measuredEntitySoftwareVersion = measuredEntitySoftwareVersion;
+ }
+
+ public List<MeasInfoList> getMeasInfoList() {
+ return measInfoList;
+ }
+
+ public void setMeasInfoList(List<MeasInfoList> measInfoList) {
+ this.measInfoList = measInfoList;
+ }
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasInfoId.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasInfoId.java
new file mode 100644
index 00000000..5b8f6b31
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasInfoId.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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.pmnotification;
+
+/**
+ * Model class for the MeasInfoId Object
+ */
+public class MeasInfoId {
+
+ private String sMeasInfoId;
+
+ public String getsMeasInfoId() {
+ return sMeasInfoId;
+ }
+
+ public void setsMeasInfoId(String sMeasInfoId) {
+ this.sMeasInfoId = sMeasInfoId;
+ }
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasInfoList.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasInfoList.java
new file mode 100644
index 00000000..34283a7d
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasInfoList.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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.pmnotification;
+
+import java.util.List;
+
+/**
+ * Model class for the MeasInfoList Object
+ */
+public class MeasInfoList {
+
+ private MeasInfoId measInfoId;
+ private MeasTypes measTypes;
+ private List<MeasValuesList> measValuesList = null;
+
+ public MeasInfoId getMeasInfoId() {
+ return measInfoId;
+ }
+
+ public void setMeasInfoId(MeasInfoId measInfoId) {
+ this.measInfoId = measInfoId;
+ }
+
+ public MeasTypes getMeasTypes() {
+ return measTypes;
+ }
+
+ public void setMeasTypes(MeasTypes measTypes) {
+ this.measTypes = measTypes;
+ }
+
+ public List<MeasValuesList> getMeasValuesList() {
+ return measValuesList;
+ }
+
+ public void setMeasValuesList(List<MeasValuesList> measValuesList) {
+ this.measValuesList = measValuesList;
+ }
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasResult.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasResult.java
new file mode 100644
index 00000000..1e418001
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasResult.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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.pmnotification;
+
+/**
+ * Model class for the MeasResult Object
+ */
+public class MeasResult {
+
+ private int p;
+ private String sValue;
+
+ public int getP() {
+ return p;
+ }
+
+ public void setP(int p) {
+ this.p = p;
+ }
+
+ public String getsValue() {
+ return sValue;
+ }
+
+ public void setsValue(String sValue) {
+ this.sValue = sValue;
+ }
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasTypes.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasTypes.java
new file mode 100644
index 00000000..f441166d
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasTypes.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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.pmnotification;
+
+import java.util.List;
+
+/**
+ * Model class for the MeasTypes Object
+ */
+public class MeasTypes {
+
+ private List<String> sMeasTypesList;
+
+ public List<String> getsMeasTypesList() {
+ return sMeasTypesList;
+ }
+
+ public void setsMeasTypesList(List<String> sMeasTypesList) {
+ this.sMeasTypesList = sMeasTypesList;
+ }
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasValuesList.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasValuesList.java
new file mode 100644
index 00000000..38b7c23c
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/MeasValuesList.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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.pmnotification;
+
+import java.util.List;
+
+/**
+ * Model class for the MeasValuesList Object
+ */
+public class MeasValuesList {
+
+ private String measObjInstId;
+ private String suspectFlag;
+ private List<MeasResult> measResults = null;
+
+ public String getMeasObjInstId() {
+ return measObjInstId;
+ }
+
+ public void setMeasObjInstId(String measObjInstId) {
+ this.measObjInstId = measObjInstId;
+ }
+
+ public String getSuspectFlag() {
+ return suspectFlag;
+ }
+
+ public void setSuspectFlag(String suspectFlag) {
+ this.suspectFlag = suspectFlag;
+ }
+
+ public List<MeasResult> getMeasResults() {
+ return measResults;
+ }
+
+ public void setMeasResults(List<MeasResult> measResults) {
+ this.measResults = measResults;
+ }
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/Perf3gppFields.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/Perf3gppFields.java
new file mode 100644
index 00000000..dfe9cbca
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/Perf3gppFields.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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.pmnotification;
+
+/**
+ * Model class for the Perf3gppFields Object
+ */
+public class Perf3gppFields {
+
+ private String perf3gppFieldsVersion;
+ private MeasDataCollection measDataCollection;
+
+ public String getPerf3gppFieldsVersion() {
+ return perf3gppFieldsVersion;
+ }
+
+ public void setPerf3gppFieldsVersion(String perf3gppFieldsVersion) {
+ this.perf3gppFieldsVersion = perf3gppFieldsVersion;
+ }
+
+ public MeasDataCollection getMeasDataCollection() {
+ return measDataCollection;
+ }
+
+ public void setMeasDataCollection(MeasDataCollection measDataCollection) {
+ this.measDataCollection = measDataCollection;
+ }
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/PmNotification.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/PmNotification.java
new file mode 100644
index 00000000..a2dc49e8
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/pmnotification/PmNotification.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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.pmnotification;
+
+/**
+ * Model class for the PmNotification Object
+ */
+public class PmNotification {
+
+ Event event;
+
+ public Event getEvent() {
+ return event;
+ }
+
+ public void setEvent(Event event) {
+ this.event = event;
+ }
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/AAI.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/AAI.java
new file mode 100644
index 00000000..73d94d75
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/AAI.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Model class for the AAI Object
+ */
+public class AAI {
+ @JsonProperty("vserver.is-closed-loop-disabled")
+ private String vserverIsClosedLoopDisabled;
+ @JsonProperty("vserver.prov-status")
+ private String vserverProvStatus;
+ @JsonProperty("vserver.vserver-name")
+ private String vserverVserverName;
+
+ public String getVserverIsClosedLoopDisabled() {
+ return vserverIsClosedLoopDisabled;
+ }
+
+ public void setVserverIsClosedLoopDisabled(String vserverIsClosedLoopDisabled) {
+ this.vserverIsClosedLoopDisabled = vserverIsClosedLoopDisabled;
+ }
+
+ public String getVserverProvStatus() {
+ return vserverProvStatus;
+ }
+
+ public void setVserverProvStatus(String vserverProvStatus) {
+ this.vserverProvStatus = vserverProvStatus;
+ }
+
+ public String getVserverVserverName() {
+ return vserverVserverName;
+ }
+
+ public void setVserverVserverName(String vserverVserverName) {
+ this.vserverVserverName = vserverVserverName;
+ }
+
+}
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
new file mode 100644
index 00000000..0d4e4bd8
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/AdditionalProperties.java
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Model class for the AdditionalProperties Object
+ */
+public class AdditionalProperties<T> {
+ private String modifyAction;
+ private List<String> snssaiList;
+ private String sliceProfileId;
+ private T resourceConfig;
+ private Map<String, String> nsiInfo;
+ private String scriptName;
+ public String getModifyAction() {
+ return modifyAction;
+ }
+ public void setModifyAction(String modifyAction) {
+ this.modifyAction = modifyAction;
+ }
+ public List<String> getSnssaiList() {
+ return snssaiList;
+ }
+ public void setSnssaiList(List<String> 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<String, String> getNsiInfo() {
+ return nsiInfo;
+ }
+ public void setNsiInfo(Map<String, String> nsiInfo) {
+ this.nsiInfo = nsiInfo;
+ }
+ public String getScriptName() {
+ return scriptName;
+ }
+ public void setScriptName(String scriptName) {
+ this.scriptName = scriptName;
+ }
+
+
+}
diff --git a/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/OnsetMessage.java b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/OnsetMessage.java
new file mode 100644
index 00000000..671a9561
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/OnsetMessage.java
@@ -0,0 +1,136 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Model class for the OnsetMessage Object
+ */
+public class OnsetMessage {
+
+ private String closedLoopControlName;
+ private Long closedLoopAlarmStart;
+ private String closedLoopEventClient;
+ private String closedLoopEventStatus;
+ private String requestID;
+
+ @JsonProperty("target_type")
+ private String targetType;
+
+ @JsonProperty("AAI")
+ private AAI aai;
+
+ private String target;
+ private Payload payload;
+ private String from;
+ private String version;
+
+ public String getClosedLoopControlName() {
+ return closedLoopControlName;
+ }
+
+ public void setClosedLoopControlName(String closedLoopControlName) {
+ this.closedLoopControlName = closedLoopControlName;
+ }
+
+ public Long getClosedLoopAlarmStart() {
+ return closedLoopAlarmStart;
+ }
+
+ public void setClosedLoopAlarmStart(Long closedLoopAlarmStart) {
+ this.closedLoopAlarmStart = closedLoopAlarmStart;
+ }
+
+ public String getClosedLoopEventClient() {
+ return closedLoopEventClient;
+ }
+
+ public void setClosedLoopEventClient(String closedLoopEventClient) {
+ this.closedLoopEventClient = closedLoopEventClient;
+ }
+
+ public String getClosedLoopEventStatus() {
+ return closedLoopEventStatus;
+ }
+
+ public void setClosedLoopEventStatus(String closedLoopEventStatus) {
+ this.closedLoopEventStatus = closedLoopEventStatus;
+ }
+
+ public String getRequestID() {
+ return requestID;
+ }
+
+ public void setRequestID(String requestID) {
+ this.requestID = requestID;
+ }
+
+ public String getTargetType() {
+ return targetType;
+ }
+
+ public void setTargetType(String targetType) {
+ this.targetType = targetType;
+ }
+
+ public String getTarget() {
+ return target;
+ }
+
+ public void setTarget(String target) {
+ this.target = target;
+ }
+
+ public AAI getAai() {
+ return aai;
+ }
+
+ public void setAai(AAI aAI) {
+ this.aai = aAI;
+ }
+
+ public Payload getPayload() {
+ return payload;
+ }
+
+ public void setPayload(Payload payload) {
+ this.payload = payload;
+ }
+
+ public String getFrom() {
+ return from;
+ }
+
+ public void setFrom(String from) {
+ this.from = from;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+}
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
new file mode 100644
index 00000000..57aab994
--- /dev/null
+++ b/components/slice-analysis-ms/src/main/java/org/onap/slice/analysis/ms/models/policy/Payload.java
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro 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 the Paylaod Object
+ */
+public class Payload {
+
+ private String name;
+ private String serviceInstanceID;
+ private String globalSubscriberId;
+ private String subscriptionServiceType;
+ private String networkType;
+ private AdditionalProperties<?> additionalProperties;
+
+
+ public String getName() {
+ return name;
+ }
+
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
+ public String getServiceInstanceID() {
+ return serviceInstanceID;
+ }
+
+
+ public void setServiceInstanceID(String serviceInstanceId) {
+ this.serviceInstanceID = serviceInstanceId;
+ }
+
+
+ public String getGlobalSubscriberId() {
+ return globalSubscriberId;
+ }
+
+
+ public void setGlobalSubscriberId(String globalSubscriberId) {
+ this.globalSubscriberId = globalSubscriberId;
+ }
+
+
+ public String getSubscriptionServiceType() {
+ return subscriptionServiceType;
+ }
+
+
+ public void setSubscriptionServiceType(String subscriptionServiceType) {
+ this.subscriptionServiceType = subscriptionServiceType;
+ }
+
+
+ public String getNetworkType() {
+ return networkType;
+ }
+
+
+ public void setNetworkType(String networkType) {
+ this.networkType = networkType;
+ }
+
+
+ public AdditionalProperties<?> getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+
+ public void setAdditionalProperties(AdditionalProperties<?> additionalProperties) {
+ this.additionalProperties = additionalProperties;
+ }
+
+}