From cddd15db0fd07d28939de80177de6cb67a7bcc62 Mon Sep 17 00:00:00 2001
From: jananib <janani.b@huawei.com>
Date: Tue, 25 Feb 2020 12:37:06 +0530
Subject: Allocate CN Bean

Bean addition for NSSM adapter

Change-Id: Ia63e34ab2be025c3abb0cb2877ee182591c45a2e
Issue-ID: SO-2544
Signed-off-by: jananib <janani.b@huawei.com>
---
 .../org/onap/so/beans/nsmf/AllocateCnNssi.java     | 110 +++++++++++++++++
 .../org/onap/so/beans/nsmf/CnSliceProfile.java     | 120 ++++++++++++++++++
 .../main/java/org/onap/so/beans/nsmf/PerfReq.java  |  48 ++++++++
 .../org/onap/so/beans/nsmf/PerfReqEmbbList.java    |  82 +++++++++++++
 .../org/onap/so/beans/nsmf/PerfReqUrllcList.java   | 135 +++++++++++++++++++++
 .../onap/so/beans/nsmf/ResourceSharingLevel.java   |  56 +++++++++
 .../org/onap/so/beans/nsmf/UeMobilityLevel.java    |  60 +++++++++
 7 files changed, 611 insertions(+)
 create mode 100644 common/src/main/java/org/onap/so/beans/nsmf/AllocateCnNssi.java
 create mode 100644 common/src/main/java/org/onap/so/beans/nsmf/CnSliceProfile.java
 create mode 100644 common/src/main/java/org/onap/so/beans/nsmf/PerfReq.java
 create mode 100644 common/src/main/java/org/onap/so/beans/nsmf/PerfReqEmbbList.java
 create mode 100644 common/src/main/java/org/onap/so/beans/nsmf/PerfReqUrllcList.java
 create mode 100644 common/src/main/java/org/onap/so/beans/nsmf/ResourceSharingLevel.java
 create mode 100644 common/src/main/java/org/onap/so/beans/nsmf/UeMobilityLevel.java

(limited to 'common/src')

diff --git a/common/src/main/java/org/onap/so/beans/nsmf/AllocateCnNssi.java b/common/src/main/java/org/onap/so/beans/nsmf/AllocateCnNssi.java
new file mode 100644
index 0000000000..d03673368c
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/AllocateCnNssi.java
@@ -0,0 +1,110 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.beans.nsmf;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import java.io.Serializable;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class AllocateCnNssi implements Serializable {
+
+    public final static String URL = "/api/rest/provMns/v1/NSS/SliceProfiles";
+
+    private String nsstId;
+
+    private String flavorId;
+
+    private String nssiId;
+
+    private String nssiName;
+
+    private CnSliceProfile sliceProfile;
+
+    private String scriptName;
+
+    private Object extension;
+
+    private NsiInfo nsiInfo;
+
+    public NsiInfo getNsiInfo() {
+        return nsiInfo;
+    }
+
+    public void setNsiInfo(NsiInfo nsiInfo) {
+        this.nsiInfo = nsiInfo;
+    }
+
+    public String getNsstId() {
+        return nsstId;
+    }
+
+    public void setNsstId(String nsstId) {
+        this.nsstId = nsstId;
+    }
+
+    public String getScriptName() {
+        return scriptName;
+    }
+
+    public void setScriptName(String scriptName) {
+        this.scriptName = scriptName;
+    }
+
+    public CnSliceProfile getSliceProfile() {
+        return sliceProfile;
+    }
+
+    public void setSliceProfile(CnSliceProfile sliceProfile) {
+        this.sliceProfile = sliceProfile;
+    }
+
+    public String getFlavorId() {
+        return flavorId;
+    }
+
+    public void setFlavorId(String flavorId) {
+        this.flavorId = flavorId;
+    }
+
+    public String getNssiId() {
+        return nssiId;
+    }
+
+    public void setNssiId(String nssiId) {
+        this.nssiId = nssiId;
+    }
+
+    public String getNssiName() {
+        return nssiName;
+    }
+
+    public void setNssiName(String nssiName) {
+        this.nssiName = nssiName;
+    }
+
+    public void setExtension(Object extension) {
+        this.extension = extension;
+    }
+
+    public Object getExtension() {
+        return extension;
+    }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/CnSliceProfile.java b/common/src/main/java/org/onap/so/beans/nsmf/CnSliceProfile.java
new file mode 100644
index 0000000000..3bd155d512
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/CnSliceProfile.java
@@ -0,0 +1,120 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.beans.nsmf;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import java.util.List;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class CnSliceProfile {
+
+    private List<String> snssaiList;
+
+    private String sliceProfileId;
+
+    private List<String> plmnIdList;
+
+    private PerfReq perfReq;
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int maxNumberofUEs;
+
+    private List<String> coverageAreaTAList;
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int latency;
+
+    private UeMobilityLevel ueMobilityLevel;
+
+    private ResourceSharingLevel resourceSharingLevel;
+
+    public String getSliceProfileId() {
+        return sliceProfileId;
+    }
+
+    public void setSliceProfileId(String sliceProfileId) {
+        this.sliceProfileId = sliceProfileId;
+    }
+
+    public List<String> getPlmnIdList() {
+        return plmnIdList;
+    }
+
+    public void setPlmnIdList(List<String> plmnIdList) {
+        this.plmnIdList = plmnIdList;
+    }
+
+    public PerfReq getPerfReq() {
+        return perfReq;
+    }
+
+    public void setPerfReq(PerfReq perfReq) {
+        this.perfReq = perfReq;
+    }
+
+    public int getMaxNumberofUEs() {
+        return maxNumberofUEs;
+    }
+
+    public void setMaxNumberofUEs(int maxNumberofUEs) {
+        this.maxNumberofUEs = maxNumberofUEs;
+    }
+
+    public List<String> getCoverageAreaTAList() {
+        return coverageAreaTAList;
+    }
+
+    public void setCoverageAreaTAList(List<String> coverageAreaTAList) {
+        this.coverageAreaTAList = coverageAreaTAList;
+    }
+
+    public int getLatency() {
+        return latency;
+    }
+
+    public void setLatency(int latency) {
+        this.latency = latency;
+    }
+
+    public UeMobilityLevel getUeMobilityLevel() {
+        return ueMobilityLevel;
+    }
+
+    public void setUeMobilityLevel(UeMobilityLevel ueMobilityLevel) {
+        this.ueMobilityLevel = ueMobilityLevel;
+    }
+
+    public ResourceSharingLevel getResourceSharingLevel() {
+        return resourceSharingLevel;
+    }
+
+    public void setResourceSharingLevel(ResourceSharingLevel resourceSharingLevel) {
+        this.resourceSharingLevel = resourceSharingLevel;
+    }
+
+    public List<String> getSnssaiList() {
+        return snssaiList;
+    }
+
+    public void setSnssaiList(List<String> snssaiList) {
+        this.snssaiList = snssaiList;
+    }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/PerfReq.java b/common/src/main/java/org/onap/so/beans/nsmf/PerfReq.java
new file mode 100644
index 0000000000..4aabc3f26f
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/PerfReq.java
@@ -0,0 +1,48 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.beans.nsmf;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import java.util.List;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class PerfReq {
+
+    private List<PerfReqEmbbList> perfReqEmbbList;
+
+    private List<PerfReqUrllcList> perfReqUrllcList;
+
+    public List<PerfReqEmbbList> getPerfReqEmbbList() {
+        return perfReqEmbbList;
+    }
+
+    public void setPerfReqEmbbList(List<PerfReqEmbbList> perfReqEmbbList) {
+        this.perfReqEmbbList = perfReqEmbbList;
+    }
+
+    public List<PerfReqUrllcList> getPerfReqUrllcList() {
+        return perfReqUrllcList;
+    }
+
+    public void setPerfReqUrllcList(List<PerfReqUrllcList> perfReqUrllcList) {
+        this.perfReqUrllcList = perfReqUrllcList;
+    }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/PerfReqEmbbList.java b/common/src/main/java/org/onap/so/beans/nsmf/PerfReqEmbbList.java
new file mode 100644
index 0000000000..9e9fcaa19e
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/PerfReqEmbbList.java
@@ -0,0 +1,82 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.beans.nsmf;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class PerfReqEmbbList {
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int expDataRateDL;
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int expDataRateUL;
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int areaTrafficCapDL;
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int areaTrafficCapUL;
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int activityFactor;
+
+    public int getExpDataRateDL() {
+        return expDataRateDL;
+    }
+
+    public void setExpDataRateDL(int expDataRateDL) {
+        this.expDataRateDL = expDataRateDL;
+    }
+
+    public int getExpDataRateUL() {
+        return expDataRateUL;
+    }
+
+    public void setExpDataRateUL(int expDataRateUL) {
+        this.expDataRateUL = expDataRateUL;
+    }
+
+    public int getAreaTrafficCapDL() {
+        return areaTrafficCapDL;
+    }
+
+    public void setAreaTrafficCapDL(int areaTrafficCapDL) {
+        this.areaTrafficCapDL = areaTrafficCapDL;
+    }
+
+    public int getAreaTrafficCapUL() {
+        return areaTrafficCapUL;
+    }
+
+    public void setAreaTrafficCapUL(int areaTrafficCapUL) {
+        this.areaTrafficCapUL = areaTrafficCapUL;
+    }
+
+    public int getActivityFactor() {
+        return activityFactor;
+    }
+
+    public void setActivityFactor(int activityFactor) {
+        this.activityFactor = activityFactor;
+    }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/PerfReqUrllcList.java b/common/src/main/java/org/onap/so/beans/nsmf/PerfReqUrllcList.java
new file mode 100644
index 0000000000..00f0a917aa
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/PerfReqUrllcList.java
@@ -0,0 +1,135 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.beans.nsmf;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class PerfReqUrllcList {
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int e2eLatency;
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int jitter;
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int survivalTime;
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private float csAvailability;
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private float reliability;
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int expDataRate;
+
+    private String payloadSize;
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int trafficDensity;
+
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int connDensity;
+
+    private String serviceAreaDimension;
+
+    public int getE2eLatency() {
+        return e2eLatency;
+    }
+
+    public void setE2eLatency(int e2eLatency) {
+        this.e2eLatency = e2eLatency;
+    }
+
+    public int getJitter() {
+        return jitter;
+    }
+
+    public void setJitter(int jitter) {
+        this.jitter = jitter;
+    }
+
+    public int getSurvivalTime() {
+        return survivalTime;
+    }
+
+    public void setSurvivalTime(int survivalTime) {
+        this.survivalTime = survivalTime;
+    }
+
+    public float getReliability() {
+        return reliability;
+    }
+
+    public void setReliability(float reliability) {
+        this.reliability = reliability;
+    }
+
+    public int getExpDataRate() {
+        return expDataRate;
+    }
+
+    public void setExpDataRate(int expDataRate) {
+        this.expDataRate = expDataRate;
+    }
+
+    public String getPayloadSize() {
+        return payloadSize;
+    }
+
+    public void setPayloadSize(String payloadSize) {
+        this.payloadSize = payloadSize;
+    }
+
+    public int getTrafficDensity() {
+        return trafficDensity;
+    }
+
+    public void setTrafficDensity(int trafficDensity) {
+        this.trafficDensity = trafficDensity;
+    }
+
+    public int getConnDensity() {
+        return connDensity;
+    }
+
+    public void setConnDensity(int connDensity) {
+        this.connDensity = connDensity;
+    }
+
+    public String getServiceAreaDimension() {
+        return serviceAreaDimension;
+    }
+
+    public void setServiceAreaDimension(String serviceAreaDimension) {
+        this.serviceAreaDimension = serviceAreaDimension;
+    }
+
+    public float getCsAvailability() {
+        return csAvailability;
+    }
+
+    public void setCsAvailability(float csAvailability) {
+        this.csAvailability = csAvailability;
+    }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/ResourceSharingLevel.java b/common/src/main/java/org/onap/so/beans/nsmf/ResourceSharingLevel.java
new file mode 100644
index 0000000000..405429c34d
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/ResourceSharingLevel.java
@@ -0,0 +1,56 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.beans.nsmf;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+public enum ResourceSharingLevel {
+
+    SHARED("shared"),
+
+    NON_SHARED("non-shared");
+
+    private String resourceSharingLevel;
+
+    ResourceSharingLevel(String resourceSharingLevel) {
+        this.resourceSharingLevel = resourceSharingLevel;
+    }
+
+    @JsonValue
+    public String getResourceSharingLevel() {
+        return resourceSharingLevel;
+    }
+
+    @JsonCreator
+    public ResourceSharingLevel forValue(String value) {
+        return valueOf(value);
+    }
+
+    public static ResourceSharingLevel fromString(String value) {
+        for (ResourceSharingLevel rscLvl : ResourceSharingLevel.values()) {
+            if (rscLvl.resourceSharingLevel.equalsIgnoreCase(value)) {
+                return rscLvl;
+            }
+        }
+        return null;
+    }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/UeMobilityLevel.java b/common/src/main/java/org/onap/so/beans/nsmf/UeMobilityLevel.java
new file mode 100644
index 0000000000..ffb7229838
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/UeMobilityLevel.java
@@ -0,0 +1,60 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.beans.nsmf;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+public enum UeMobilityLevel {
+
+    STATIONARY("stationary"),
+
+    NOMADIC("nomadic"),
+
+    RESTRICTED_MOBILITY("restricted mobility"),
+
+    FULLY_MOBILITY("fully mobility");
+
+    private String ueMobilityLevel;
+
+    UeMobilityLevel(String ueMobilityLevel) {
+        this.ueMobilityLevel = ueMobilityLevel;
+    }
+
+    @JsonValue
+    public String getUeMobilityLevel() {
+        return ueMobilityLevel;
+    }
+
+    @JsonCreator
+    public UeMobilityLevel forValue(String value) {
+        return valueOf(value);
+    }
+
+    public static UeMobilityLevel fromString(String value) {
+        for (UeMobilityLevel ueLvl : UeMobilityLevel.values()) {
+            if (ueLvl.ueMobilityLevel.equalsIgnoreCase(value)) {
+                return ueLvl;
+            }
+        }
+        return null;
+    }
+}
-- 
cgit