summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/pom.xml4
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/ActDeActNssi.java51
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/AllocateAnNssi.java109
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/AllocateCnNssi.java110
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/AllocateTnNssi.java109
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/AnSliceProfile.java61
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/CnSliceProfile.java120
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/CreateCnNssi.java89
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/DeAllocateNssi.java91
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/EsrInfo.java47
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/JobStatusRequest.java70
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/JobStatusResponse.java37
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/NetworkType.java58
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/NewNsst.java47
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/NsiInfo.java47
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/NssiActDeActRequest.java47
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/NssiAllocateRequest.java67
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/NssiCreateRequest.java47
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/NssiDeAllocateRequest.java47
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/NssiResponse.java47
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/NssiTerminateRequest.java47
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/NssiUpdateRequest.java47
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/NssiUpdateRequestById.java47
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/NssmiReqInfo.java57
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/NssmiResInfo.java47
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/PerfReq.java48
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/PerfReqEmbbList.java82
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/PerfReqUrllcList.java135
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/PnfErrorList.java47
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/ResourceSharingLevel.java56
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/ResponseDescriptor.java85
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/ResponseHistory.java94
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/ServiceProfile.java50
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParams.java413
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/TerminateNssi.java59
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/TnSliceProfile.java48
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/UeMobilityLevel.java60
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/UpdateCnNssi.java119
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/UpdateCnNssiById.java89
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/UpdateSliceProfile.java101
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/VnfErrorList.java47
-rw-r--r--common/src/main/java/org/onap/so/client/aai/AAIObjectType.java82
-rw-r--r--common/src/main/java/org/onap/so/client/aai/AAIRestClientI.java2
-rw-r--r--common/src/main/java/org/onap/so/client/aai/AAIRestClientImpl.java5
-rw-r--r--common/src/main/java/org/onap/so/logging/jaxrs/filter/SOAuditLogContainerFilter.java7
-rw-r--r--common/src/main/java/org/onap/so/rest/service/HttpRestServiceProvider.java32
-rw-r--r--common/src/main/java/org/onap/so/rest/service/HttpRestServiceProviderImpl.java62
-rw-r--r--common/src/main/java/org/onap/so/serviceinstancebeans/CloudConfiguration.java12
-rw-r--r--common/src/main/java/org/onap/so/serviceinstancebeans/RequestInfo.java16
-rw-r--r--common/src/main/java/org/onap/so/serviceinstancebeans/ServiceInstancesRequest.java14
50 files changed, 3233 insertions, 82 deletions
diff --git a/common/pom.xml b/common/pom.xml
index 04deacf129..02d2f35545 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -5,7 +5,7 @@
<parent>
<groupId>org.onap.so</groupId>
<artifactId>so</artifactId>
- <version>1.4.0-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
</parent>
<artifactId>common</artifactId>
<name>MSO Common classes</name>
@@ -59,7 +59,7 @@
<dependency>
<groupId>org.onap.aai.schema-service</groupId>
<artifactId>aai-schema</artifactId>
- <version>1.6.3</version>
+ <version>1.6.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.modelmapper</groupId>
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/ActDeActNssi.java b/common/src/main/java/org/onap/so/beans/nsmf/ActDeActNssi.java
new file mode 100644
index 0000000000..8d45048ee4
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/ActDeActNssi.java
@@ -0,0 +1,51 @@
+/*-
+ * ============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 ActDeActNssi {
+
+ public final static String ACT_URL = "/api/rest/provMns/v1/NSS/%s" + "/activation";
+
+ public final static String DE_ACT_URL = "/api/rest/provMns/v1/NSS/%s" + "/deactivation";
+
+ private String nsiId;
+
+ private String nssiId;
+
+ public String getNsiId() {
+ return nsiId;
+ }
+
+ public void setNsiId(String nsiId) {
+ this.nsiId = nsiId;
+ }
+
+ public String getNssiId() {
+ return nssiId;
+ }
+
+ public void setNssiId(String nssiId) {
+ this.nssiId = nssiId;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/AllocateAnNssi.java b/common/src/main/java/org/onap/so/beans/nsmf/AllocateAnNssi.java
new file mode 100644
index 0000000000..484f5b42b1
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/AllocateAnNssi.java
@@ -0,0 +1,109 @@
+/*-
+ * ============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 AllocateAnNssi {
+
+ public final static String URL = "/api/rest/provMns/v1/an/NSS" + "/SliceProfiles";
+
+ private String nsstId;
+
+ private String flavorId;
+
+ private String nssiId;
+
+ private String nssiName;
+
+ private AnSliceProfile sliceProfile;
+
+ private String scriptName;
+
+ private Object extension;
+
+ private NsiInfo nsiInfo;
+
+ public String getNsstId() {
+ return nsstId;
+ }
+
+ public void setNsstId(String nsstId) {
+ this.nsstId = nsstId;
+ }
+
+ 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 AnSliceProfile getSliceProfile() {
+ return sliceProfile;
+ }
+
+ public void setSliceProfile(AnSliceProfile sliceProfile) {
+ this.sliceProfile = sliceProfile;
+ }
+
+ public String getScriptName() {
+ return scriptName;
+ }
+
+ public void setScriptName(String scriptName) {
+ this.scriptName = scriptName;
+ }
+
+ public Object getExtension() {
+ return extension;
+ }
+
+ public void setExtension(Object extension) {
+ this.extension = extension;
+ }
+
+ public NsiInfo getNsiInfo() {
+ return nsiInfo;
+ }
+
+ public void setNsiInfo(NsiInfo nsiInfo) {
+ this.nsiInfo = nsiInfo;
+ }
+}
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/AllocateTnNssi.java b/common/src/main/java/org/onap/so/beans/nsmf/AllocateTnNssi.java
new file mode 100644
index 0000000000..b66fb133d2
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/AllocateTnNssi.java
@@ -0,0 +1,109 @@
+/*-
+ * ============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 AllocateTnNssi {
+
+ public final static String URL = "/api/rest/provMns/v1/tn/NSS" + "/SliceProfiles";
+
+ private String nsstId;
+
+ private String flavorId;
+
+ private String nssiId;
+
+ private String nssiName;
+
+ private TnSliceProfile sliceProfile;
+
+ private String scriptName;
+
+ private Object extension;
+
+ private NsiInfo nsiInfo;
+
+ public String getNsstId() {
+ return nsstId;
+ }
+
+ public void setNsstId(String nsstId) {
+ this.nsstId = nsstId;
+ }
+
+ 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 TnSliceProfile getSliceProfile() {
+ return sliceProfile;
+ }
+
+ public void setSliceProfile(TnSliceProfile sliceProfile) {
+ this.sliceProfile = sliceProfile;
+ }
+
+ public String getScriptName() {
+ return scriptName;
+ }
+
+ public void setScriptName(String scriptName) {
+ this.scriptName = scriptName;
+ }
+
+ public Object getExtension() {
+ return extension;
+ }
+
+ public void setExtension(Object extension) {
+ this.extension = extension;
+ }
+
+ public NsiInfo getNsiInfo() {
+ return nsiInfo;
+ }
+
+ public void setNsiInfo(NsiInfo nsiInfo) {
+ this.nsiInfo = nsiInfo;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/AnSliceProfile.java b/common/src/main/java/org/onap/so/beans/nsmf/AnSliceProfile.java
new file mode 100644
index 0000000000..3d60949385
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/AnSliceProfile.java
@@ -0,0 +1,61 @@
+/*-
+ * ============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 com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class AnSliceProfile {
+
+ @JsonProperty("5QI")
+ private String qi;
+
+ private List<String> coverageAreaTAList;
+
+ @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+ private int latency;
+
+ public String getQi() {
+ return qi;
+ }
+
+ public void setQi(String qi) {
+ this.qi = qi;
+ }
+
+ 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;
+ }
+}
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/CreateCnNssi.java b/common/src/main/java/org/onap/so/beans/nsmf/CreateCnNssi.java
new file mode 100644
index 0000000000..424966948e
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/CreateCnNssi.java
@@ -0,0 +1,89 @@
+/*-
+ * ============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 CreateCnNssi {
+
+ public final static String URL = "/api/rest/provMns/v1/NSS/nssi";
+
+ private String nsstId;
+
+ private String flavorId;
+
+ private String nssiName;
+
+ private String scriptName;
+
+ private String extension;
+
+ private NsiInfo nsiInfo;
+
+ public String getNsstId() {
+ return nsstId;
+ }
+
+ public void setNsstId(String nsstId) {
+ this.nsstId = nsstId;
+ }
+
+ public String getFlavorId() {
+ return flavorId;
+ }
+
+ public void setFlavorId(String flavorId) {
+ this.flavorId = flavorId;
+ }
+
+ public String getNssiName() {
+ return nssiName;
+ }
+
+ public void setNssiName(String nssiName) {
+ this.nssiName = nssiName;
+ }
+
+ public String getScriptName() {
+ return scriptName;
+ }
+
+ public void setScriptName(String scriptName) {
+ this.scriptName = scriptName;
+ }
+
+ public String getExtension() {
+ return extension;
+ }
+
+ public void setExtension(String extension) {
+ this.extension = extension;
+ }
+
+ public NsiInfo getNsiInfo() {
+ return nsiInfo;
+ }
+
+ public void setNsiInfo(NsiInfo nsiInfo) {
+ this.nsiInfo = nsiInfo;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/DeAllocateNssi.java b/common/src/main/java/org/onap/so/beans/nsmf/DeAllocateNssi.java
new file mode 100644
index 0000000000..648fd4985f
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/DeAllocateNssi.java
@@ -0,0 +1,91 @@
+/*-
+ * ============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 DeAllocateNssi {
+
+ public final static String URL = "/api/rest/provMns/v1/NSS" + "/SliceProfiles/%s";
+
+ private String nsiId;
+
+ private String nssiId;
+
+ private List<String> snssaiList;
+
+ @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+ private int terminateNssiOption;
+
+ private String scriptName;
+
+ private String extension;
+
+ public String getNsiId() {
+ return nsiId;
+ }
+
+ public void setNsiId(String nsiId) {
+ this.nsiId = nsiId;
+ }
+
+ public String getNssiId() {
+ return nssiId;
+ }
+
+ public void setNssiId(String nssiId) {
+ this.nssiId = nssiId;
+ }
+
+ public List<String> getSnssaiList() {
+ return snssaiList;
+ }
+
+ public void setSnssaiList(List<String> snssaiList) {
+ this.snssaiList = snssaiList;
+ }
+
+ public int getTerminateNssiOption() {
+ return terminateNssiOption;
+ }
+
+ public void setTerminateNssiOption(int terminateNssiOption) {
+ this.terminateNssiOption = terminateNssiOption;
+ }
+
+ public String getScriptName() {
+ return scriptName;
+ }
+
+ public void setScriptName(String scriptName) {
+ this.scriptName = scriptName;
+ }
+
+ public String getExtension() {
+ return extension;
+ }
+
+ public void setExtension(String extension) {
+ this.extension = extension;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/EsrInfo.java b/common/src/main/java/org/onap/so/beans/nsmf/EsrInfo.java
new file mode 100644
index 0000000000..c124bfa944
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/EsrInfo.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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 EsrInfo {
+
+ private String vendor;
+
+ private NetworkType networkType;
+
+ public String getVendor() {
+ return vendor;
+ }
+
+ public void setVendor(String vendor) {
+ this.vendor = vendor;
+ }
+
+ public NetworkType getNetworkType() {
+ return networkType;
+ }
+
+ public void setNetworkType(NetworkType networkType) {
+ this.networkType = networkType;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/JobStatusRequest.java b/common/src/main/java/org/onap/so/beans/nsmf/JobStatusRequest.java
new file mode 100644
index 0000000000..cc8503c250
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/JobStatusRequest.java
@@ -0,0 +1,70 @@
+/*-
+ * ============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 JobStatusRequest {
+
+ public final static String URL = "/api/rest/provMns/v1/NSS/jobs/%s";
+
+ private String nsiId;
+
+ private String nssiId;
+
+ private String responseId;
+
+ private EsrInfo esrInfo;
+
+ public String getNsiId() {
+ return nsiId;
+ }
+
+ public void setNsiId(String nsiId) {
+ this.nsiId = nsiId;
+ }
+
+ public String getNssiId() {
+ return nssiId;
+ }
+
+ public void setNssiId(String nssiId) {
+ this.nssiId = nssiId;
+ }
+
+
+ public String getResponseId() {
+ return responseId;
+ }
+
+ public void setResponseId(String responseId) {
+ this.responseId = responseId;
+ }
+
+ public EsrInfo getEsrInfo() {
+ return esrInfo;
+ }
+
+ public void setEsrInfo(EsrInfo esrInfo) {
+ this.esrInfo = esrInfo;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/JobStatusResponse.java b/common/src/main/java/org/onap/so/beans/nsmf/JobStatusResponse.java
new file mode 100644
index 0000000000..9259d51591
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/JobStatusResponse.java
@@ -0,0 +1,37 @@
+/*-
+ * ============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 JobStatusResponse {
+
+ private ResponseDescriptor responseDescriptor;
+
+ public ResponseDescriptor getResponseDescriptor() {
+ return responseDescriptor;
+ }
+
+ public void setResponseDescriptor(ResponseDescriptor responseDescriptor) {
+ this.responseDescriptor = responseDescriptor;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NetworkType.java b/common/src/main/java/org/onap/so/beans/nsmf/NetworkType.java
new file mode 100644
index 0000000000..2e10fe5746
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NetworkType.java
@@ -0,0 +1,58 @@
+/*-
+ * ============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 NetworkType {
+
+ ACCESS("an"),
+
+ CORE("cn"),
+
+ TRANSPORT("tn");
+
+ private String networkType;
+
+ NetworkType(String networkType) {
+ this.networkType = networkType;
+ }
+
+ @JsonValue
+ public String getNetworkType() {
+ return networkType;
+ }
+
+ @JsonCreator
+ public NetworkType forValue(String value) {
+ return valueOf(value);
+ }
+
+ public static NetworkType fromString(String value) {
+ for (NetworkType nType : NetworkType.values()) {
+ if (nType.networkType.equalsIgnoreCase(value)) {
+ return nType;
+ }
+ }
+ return null;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NewNsst.java b/common/src/main/java/org/onap/so/beans/nsmf/NewNsst.java
new file mode 100644
index 0000000000..e13aa5000a
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NewNsst.java
@@ -0,0 +1,47 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 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 NewNsst {
+
+ private String nsstId;
+
+ private String flavorId;
+
+ public String getNsstId() {
+ return nsstId;
+ }
+
+ public void setNsstId(String nsstId) {
+ this.nsstId = nsstId;
+ }
+
+ public String getFlavorId() {
+ return flavorId;
+ }
+
+ public void setFlavorId(String flavorId) {
+ this.flavorId = flavorId;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NsiInfo.java b/common/src/main/java/org/onap/so/beans/nsmf/NsiInfo.java
new file mode 100644
index 0000000000..0ff554d10d
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NsiInfo.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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 NsiInfo {
+
+ private String nsiName;
+
+ private String nsiId;
+
+ public String getNsiName() {
+ return nsiName;
+ }
+
+ public void setNsiName(String nsiName) {
+ this.nsiName = nsiName;
+ }
+
+ public void setNsiId(String nsiId) {
+ this.nsiId = nsiId;
+ }
+
+ public String getNsiId() {
+ return nsiId;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NssiActDeActRequest.java b/common/src/main/java/org/onap/so/beans/nsmf/NssiActDeActRequest.java
new file mode 100644
index 0000000000..fbba8c77b1
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NssiActDeActRequest.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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 NssiActDeActRequest {
+
+ private EsrInfo esrInfo;
+
+ private ActDeActNssi actDeActNssi;
+
+ public ActDeActNssi getActDeActNssi() {
+ return actDeActNssi;
+ }
+
+ public void setActDeActNssi(ActDeActNssi actDeActNssi) {
+ this.actDeActNssi = actDeActNssi;
+ }
+
+ public EsrInfo getEsrInfo() {
+ return esrInfo;
+ }
+
+ public void setEsrInfo(EsrInfo esrInfo) {
+ this.esrInfo = esrInfo;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NssiAllocateRequest.java b/common/src/main/java/org/onap/so/beans/nsmf/NssiAllocateRequest.java
new file mode 100644
index 0000000000..f72a74a063
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NssiAllocateRequest.java
@@ -0,0 +1,67 @@
+/*-
+ * ============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 NssiAllocateRequest {
+
+ private EsrInfo esrInfo;
+
+ private AllocateCnNssi allocateCnNssi;
+
+ private AllocateTnNssi allocateTnNssi;
+
+ private AllocateAnNssi allocateAnNssi;
+
+ public EsrInfo getEsrInfo() {
+ return esrInfo;
+ }
+
+ public void setEsrInfo(EsrInfo esrInfo) {
+ this.esrInfo = esrInfo;
+ }
+
+ public AllocateCnNssi getAllocateCnNssi() {
+ return allocateCnNssi;
+ }
+
+ public void setAllocateCnNssi(AllocateCnNssi allocateCnNssi) {
+ this.allocateCnNssi = allocateCnNssi;
+ }
+
+ public AllocateTnNssi getAllocateTnNssi() {
+ return allocateTnNssi;
+ }
+
+ public void setAllocateTnNssi(AllocateTnNssi allocateTnNssi) {
+ this.allocateTnNssi = allocateTnNssi;
+ }
+
+ public AllocateAnNssi getAllocateAnNssi() {
+ return allocateAnNssi;
+ }
+
+ public void setAllocateAnNssi(AllocateAnNssi allocateAnNssi) {
+ this.allocateAnNssi = allocateAnNssi;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NssiCreateRequest.java b/common/src/main/java/org/onap/so/beans/nsmf/NssiCreateRequest.java
new file mode 100644
index 0000000000..ca26e9f0cb
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NssiCreateRequest.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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 NssiCreateRequest {
+
+ private EsrInfo esrInfo;
+
+ private CreateCnNssi createCnNssi;
+
+ public EsrInfo getEsrInfo() {
+ return esrInfo;
+ }
+
+ public void setEsrInfo(EsrInfo esrInfo) {
+ this.esrInfo = esrInfo;
+ }
+
+ public CreateCnNssi getCreateCnNssi() {
+ return createCnNssi;
+ }
+
+ public void setCreateCnNssi(CreateCnNssi createCnNssi) {
+ this.createCnNssi = createCnNssi;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NssiDeAllocateRequest.java b/common/src/main/java/org/onap/so/beans/nsmf/NssiDeAllocateRequest.java
new file mode 100644
index 0000000000..bbfc30c37a
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NssiDeAllocateRequest.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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 NssiDeAllocateRequest {
+
+ private DeAllocateNssi deAllocateNssi;
+
+ private EsrInfo esrInfo;
+
+ public DeAllocateNssi getDeAllocateNssi() {
+ return deAllocateNssi;
+ }
+
+ public void setDeAllocateNssi(DeAllocateNssi deAllocateNssi) {
+ this.deAllocateNssi = deAllocateNssi;
+ }
+
+ public EsrInfo getEsrInfo() {
+ return esrInfo;
+ }
+
+ public void setEsrInfo(EsrInfo esrInfo) {
+ this.esrInfo = esrInfo;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NssiResponse.java b/common/src/main/java/org/onap/so/beans/nsmf/NssiResponse.java
new file mode 100644
index 0000000000..66368be6b8
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NssiResponse.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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 NssiResponse {
+
+ private String nssiId;
+
+ private String jobId;
+
+ public String getNssiId() {
+ return nssiId;
+ }
+
+ public void setNssiId(String nssiId) {
+ this.nssiId = nssiId;
+ }
+
+ public String getJobId() {
+ return jobId;
+ }
+
+ public void setJobId(String jobId) {
+ this.jobId = jobId;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NssiTerminateRequest.java b/common/src/main/java/org/onap/so/beans/nsmf/NssiTerminateRequest.java
new file mode 100644
index 0000000000..df0a463584
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NssiTerminateRequest.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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 NssiTerminateRequest {
+
+ private TerminateNssi terminateNssi;
+
+ private EsrInfo esrInfo;
+
+ public TerminateNssi getTerminateNssi() {
+ return terminateNssi;
+ }
+
+ public void setTerminateNssi(TerminateNssi terminateNssi) {
+ this.terminateNssi = terminateNssi;
+ }
+
+ public EsrInfo getEsrInfo() {
+ return esrInfo;
+ }
+
+ public void setEsrInfo(EsrInfo esrInfo) {
+ this.esrInfo = esrInfo;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NssiUpdateRequest.java b/common/src/main/java/org/onap/so/beans/nsmf/NssiUpdateRequest.java
new file mode 100644
index 0000000000..6642734b7f
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NssiUpdateRequest.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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 NssiUpdateRequest {
+
+ private UpdateCnNssi updateCnNssi;
+
+ private EsrInfo esrInfo;
+
+ public EsrInfo getEsrInfo() {
+ return esrInfo;
+ }
+
+ public void setEsrInfo(EsrInfo esrInfo) {
+ this.esrInfo = esrInfo;
+ }
+
+ public UpdateCnNssi getUpdateCnNssi() {
+ return updateCnNssi;
+ }
+
+ public void setUpdateCnNssi(UpdateCnNssi updateCnNssi) {
+ this.updateCnNssi = updateCnNssi;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NssiUpdateRequestById.java b/common/src/main/java/org/onap/so/beans/nsmf/NssiUpdateRequestById.java
new file mode 100644
index 0000000000..0554d2fcfd
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NssiUpdateRequestById.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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 NssiUpdateRequestById {
+
+ private UpdateCnNssiById updateCnNssiById;
+
+ private EsrInfo esrInfo;
+
+ public EsrInfo getEsrInfo() {
+ return esrInfo;
+ }
+
+ public void setEsrInfo(EsrInfo esrInfo) {
+ this.esrInfo = esrInfo;
+ }
+
+ public UpdateCnNssiById getUpdateCnNssiById() {
+ return updateCnNssiById;
+ }
+
+ public void setUpdateCnNssiById(UpdateCnNssiById updateCnNssiById) {
+ this.updateCnNssiById = updateCnNssiById;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NssmiReqInfo.java b/common/src/main/java/org/onap/so/beans/nsmf/NssmiReqInfo.java
new file mode 100644
index 0000000000..093825f0ff
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NssmiReqInfo.java
@@ -0,0 +1,57 @@
+/*-
+ * ============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 NssmiReqInfo {
+
+ private String nsiId;
+
+ private String nssiId;
+
+ private EsrInfo esrInfo;
+
+ public String getNsiId() {
+ return nsiId;
+ }
+
+ public void setNsiId(String nsiId) {
+ this.nsiId = nsiId;
+ }
+
+ public String getNssiId() {
+ return nssiId;
+ }
+
+ public void setNssiId(String nssiId) {
+ this.nssiId = nssiId;
+ }
+
+ public EsrInfo getEsrInfo() {
+ return esrInfo;
+ }
+
+ public void setEsrInfo(EsrInfo esrInfo) {
+ this.esrInfo = esrInfo;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NssmiResInfo.java b/common/src/main/java/org/onap/so/beans/nsmf/NssmiResInfo.java
new file mode 100644
index 0000000000..e75934a7a9
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NssmiResInfo.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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 NssmiResInfo {
+
+ private String jobId;
+
+ private String status;
+
+ public String getJobId() {
+ return jobId;
+ }
+
+ public void setJobId(String jobId) {
+ this.jobId = jobId;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+}
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/PnfErrorList.java b/common/src/main/java/org/onap/so/beans/nsmf/PnfErrorList.java
new file mode 100644
index 0000000000..66bfbdcea9
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/PnfErrorList.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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 PnfErrorList {
+
+ private String pnfId;
+
+ private String pnfErrorDesc;
+
+ public String getPnfId() {
+ return pnfId;
+ }
+
+ public void setPnfId(String pnfId) {
+ this.pnfId = pnfId;
+ }
+
+ public String getPnfErrorDesc() {
+ return pnfErrorDesc;
+ }
+
+ public void setPnfErrorDesc(String pnfErrorDesc) {
+ this.pnfErrorDesc = pnfErrorDesc;
+ }
+}
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/ResponseDescriptor.java b/common/src/main/java/org/onap/so/beans/nsmf/ResponseDescriptor.java
new file mode 100644
index 0000000000..469d212ef9
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/ResponseDescriptor.java
@@ -0,0 +1,85 @@
+/*-
+ * ============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 ResponseDescriptor {
+
+ @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+ private int progress;
+
+ private String status;
+
+ private String statusDescription;
+
+ private String errorCode;
+
+ private List<VnfErrorList> vnfErrorList;
+
+ private List<PnfErrorList> pnfErrorList;
+
+ private String responseId;
+
+ private List<ResponseHistory> responseHistoryList;
+
+ public int getProgress() {
+ return progress;
+ }
+
+ public void setProgress(int progress) {
+ this.progress = progress;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getStatusDescription() {
+ return statusDescription;
+ }
+
+ public void setStatusDescription(String statusDescription) {
+ this.statusDescription = statusDescription;
+ }
+
+ public String getResponseId() {
+ return responseId;
+ }
+
+ public void setResponseId(String responseId) {
+ this.responseId = responseId;
+ }
+
+ public List<ResponseHistory> getResponseHistoryList() {
+ return responseHistoryList;
+ }
+
+ public void setResponseHistoryList(List<ResponseHistory> responseHistoryList) {
+ this.responseHistoryList = responseHistoryList;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/ResponseHistory.java b/common/src/main/java/org/onap/so/beans/nsmf/ResponseHistory.java
new file mode 100644
index 0000000000..c71441a80a
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/ResponseHistory.java
@@ -0,0 +1,94 @@
+/*-
+ * ============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 ResponseHistory {
+
+ private int progress;
+
+ private String status;
+
+ private String errorCode;
+
+ private String statusDescription;
+
+ private String responseId;
+
+ private List<VnfErrorList> vnfErrorList;
+
+ private List<PnfErrorList> pnfErrorList;
+
+ public int getProgress() {
+ return progress;
+ }
+
+ public void setProgress(int progress) {
+ this.progress = progress;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getStatusDescription() {
+ return statusDescription;
+ }
+
+ public void setStatusDescription(String statusDescription) {
+ this.statusDescription = statusDescription;
+ }
+
+ public String getResponseId() {
+ return responseId;
+ }
+
+ public void setResponseId(String responseId) {
+ this.responseId = responseId;
+ }
+
+ public String getErrorCode() {
+ return errorCode;
+ }
+
+ public void setErrorCode(String errorCode) {
+ this.errorCode = errorCode;
+ }
+
+ public List<VnfErrorList> getVnfErrorList() {
+ return vnfErrorList;
+ }
+
+ public List<PnfErrorList> getPnfErrorList() {
+ return pnfErrorList;
+ }
+
+ public void setPnfErrorList(List<PnfErrorList> pnfErrorList) {
+ this.pnfErrorList = pnfErrorList;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/ServiceProfile.java b/common/src/main/java/org/onap/so/beans/nsmf/ServiceProfile.java
new file mode 100644
index 0000000000..cc6c9bbb82
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/ServiceProfile.java
@@ -0,0 +1,50 @@
+/*-
+ * ============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 java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({"service-profile"})
+public class ServiceProfile implements Serializable {
+
+ @JsonProperty("service-profile")
+ private Map<String, Object> serviceProfile;
+
+ @JsonProperty("service-profile")
+ public Map<String, Object> getServiceProfile() {
+ return serviceProfile;
+ }
+
+ @JsonProperty("service-profile")
+ public void setServiceProfile(Map<String, Object> serviceProfile) {
+ this.serviceProfile = serviceProfile;
+ }
+}
+
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParams.java b/common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParams.java
new file mode 100644
index 0000000000..bf881c0f19
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParams.java
@@ -0,0 +1,413 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 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.databind.ObjectMapper;
+import com.google.gson.JsonObject;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+public class SliceTaskParams implements Serializable {
+
+ private static final long serialVersionUID = -4389946152970978423L;
+
+ private String serviceId;
+
+ private String serviceName;
+
+ private String nstId;
+
+ private String nstName;
+
+ private String tnScriptName;
+
+ private String anScriptName;
+
+ private String cnScriptName;
+
+ private Map<String, Object> serviceProfile;
+
+ private String suggestNsiId;
+
+ private String suggestNsiName;
+
+ private Map<String, Object> sliceProfileTn;
+
+ private Map<String, Object> sliceProfileCn;
+
+ private Map<String, Object> sliceProfileAn;
+
+ private String tnSuggestNssiId;
+
+ private String tnSuggestNssiName;
+
+ private String tnProgress;
+
+ private String tnStatus;
+
+ private String tnStatusDescription;
+
+ private String cnSuggestNssiId;
+
+ private String cnSuggestNssiName;
+
+ private String cnProgress;
+
+ private String cnStatus;
+
+ private String cnStatusDescription;
+
+ private String anSuggestNssiId;
+
+ private String anSuggestNssiName;
+
+ private String anProgress;
+
+ private String anStatus;
+
+ private String anStatusDescription;
+
+ public String getNstId() {
+ return nstId;
+ }
+
+ public void setNstId(String nstId) {
+ this.nstId = nstId;
+ }
+
+ public String getNstName() {
+ return nstName;
+ }
+
+ public void setNstName(String nstName) {
+ this.nstName = nstName;
+ }
+
+ public String getTnScriptName() {
+ return tnScriptName;
+ }
+
+ public void setTnScriptName(String tnScriptName) {
+ this.tnScriptName = tnScriptName;
+ }
+
+ public String getAnScriptName() {
+ return anScriptName;
+ }
+
+ public void setAnScriptName(String anScriptName) {
+ this.anScriptName = anScriptName;
+ }
+
+ public String getCnScriptName() {
+ return cnScriptName;
+ }
+
+ public void setCnScriptName(String cnScriptName) {
+ this.cnScriptName = cnScriptName;
+ }
+
+ public String getServiceId() {
+ return serviceId;
+ }
+
+ public void setServiceId(String serviceId) {
+ this.serviceId = serviceId;
+ }
+
+ public String getServiceName() {
+ return serviceName;
+ }
+
+ public void setServiceName(String serviceName) {
+ this.serviceName = serviceName;
+ }
+
+ public Map<String, Object> getServiceProfile() {
+ return serviceProfile;
+ }
+
+ public void setServiceProfile(Map<String, Object> serviceProfile) {
+ this.serviceProfile = serviceProfile;
+ }
+
+ public String getSuggestNsiId() {
+ return suggestNsiId;
+ }
+
+ public void setSuggestNsiId(String suggestNsiId) {
+ this.suggestNsiId = suggestNsiId;
+ }
+
+ public String getSuggestNsiName() {
+ return suggestNsiName;
+ }
+
+ public void setSuggestNsiName(String suggestNsiName) {
+ this.suggestNsiName = suggestNsiName;
+ }
+
+ public Map<String, Object> getSliceProfileTn() {
+ return sliceProfileTn;
+ }
+
+ public void setSliceProfileTn(Map<String, Object> sliceProfileTn) {
+ this.sliceProfileTn = sliceProfileTn;
+ }
+
+ public Map<String, Object> getSliceProfileCn() {
+ return sliceProfileCn;
+ }
+
+ public void setSliceProfileCn(Map<String, Object> sliceProfileCn) {
+ this.sliceProfileCn = sliceProfileCn;
+ }
+
+ public Map<String, Object> getSliceProfileAn() {
+ return sliceProfileAn;
+ }
+
+ public void setSliceProfileAn(Map<String, Object> sliceProfileAn) {
+ this.sliceProfileAn = sliceProfileAn;
+ }
+
+ public String getTnSuggestNssiId() {
+ return tnSuggestNssiId;
+ }
+
+ public void setTnSuggestNssiId(String tnSuggestNssiId) {
+ this.tnSuggestNssiId = tnSuggestNssiId;
+ }
+
+ public String getTnSuggestNssiName() {
+ return tnSuggestNssiName;
+ }
+
+ public void setTnSuggestNssiName(String tnSuggestNssiName) {
+ this.tnSuggestNssiName = tnSuggestNssiName;
+ }
+
+ public String getTnProgress() {
+ return tnProgress;
+ }
+
+ public void setTnProgress(String tnProgress) {
+ this.tnProgress = tnProgress;
+ }
+
+ public String getTnStatus() {
+ return tnStatus;
+ }
+
+ public void setTnStatus(String tnStatus) {
+ this.tnStatus = tnStatus;
+ }
+
+ public String getTnStatusDescription() {
+ return tnStatusDescription;
+ }
+
+ public void setTnStatusDescription(String tnStatusDescription) {
+ this.tnStatusDescription = tnStatusDescription;
+ }
+
+ public String getCnSuggestNssiId() {
+ return cnSuggestNssiId;
+ }
+
+ public void setCnSuggestNssiId(String cnSuggestNssiId) {
+ this.cnSuggestNssiId = cnSuggestNssiId;
+ }
+
+ public String getCnSuggestNssiName() {
+ return cnSuggestNssiName;
+ }
+
+ public void setCnSuggestNssiName(String cnSuggestNssiName) {
+ this.cnSuggestNssiName = cnSuggestNssiName;
+ }
+
+ public String getCnProgress() {
+ return cnProgress;
+ }
+
+ public void setCnProgress(String cnProgress) {
+ this.cnProgress = cnProgress;
+ }
+
+ public String getCnStatus() {
+ return cnStatus;
+ }
+
+ public void setCnStatus(String cnStatus) {
+ this.cnStatus = cnStatus;
+ }
+
+ public String getCnStatusDescription() {
+ return cnStatusDescription;
+ }
+
+ public void setCnStatusDescription(String cnStatusDescription) {
+ this.cnStatusDescription = cnStatusDescription;
+ }
+
+ public String getAnSuggestNssiId() {
+ return anSuggestNssiId;
+ }
+
+ public void setAnSuggestNssiId(String anSuggestNssiId) {
+ this.anSuggestNssiId = anSuggestNssiId;
+ }
+
+ public String getAnSuggestNssiName() {
+ return anSuggestNssiName;
+ }
+
+ public void setAnSuggestNssiName(String anSuggestNssiName) {
+ this.anSuggestNssiName = anSuggestNssiName;
+ }
+
+ public String getAnProgress() {
+ return anProgress;
+ }
+
+ public void setAnProgress(String anProgress) {
+ this.anProgress = anProgress;
+ }
+
+ public String getAnStatus() {
+ return anStatus;
+ }
+
+ public void setAnStatus(String anStatus) {
+ this.anStatus = anStatus;
+ }
+
+ public String getAnStatusDescription() {
+ return anStatusDescription;
+ }
+
+ public void setAnStatusDescription(String anStatusDescription) {
+ this.anStatusDescription = anStatusDescription;
+ }
+
+ public String convertToJson() {
+ JsonObject jsonObject = new JsonObject();
+ jsonObject.addProperty("ServiceId", serviceId);
+ jsonObject.addProperty("ServiceName", serviceName);
+ jsonObject.addProperty("NSTId", nstId);
+ jsonObject.addProperty("NSTName", nstName);
+ jsonObject.addProperty("TN.ScriptName", tnScriptName);
+ jsonObject.addProperty("AN.ScriptName", anScriptName);
+ jsonObject.addProperty("CN.ScriptName", cnScriptName);
+ for (Map.Entry<String, Object> entry : serviceProfile.entrySet()) {
+ jsonObject.addProperty("ServiceProfile." + entry.getKey(), entry.getValue().toString());
+ }
+ jsonObject.addProperty("suggestNSIId", suggestNsiId);
+ jsonObject.addProperty("suggestNSIName", suggestNsiName);
+ for (Map.Entry<String, Object> entry : sliceProfileTn.entrySet()) {
+ jsonObject.addProperty("SliceProfile.TN." + entry.getKey(), entry.getValue().toString());
+ }
+ for (Map.Entry<String, Object> entry : sliceProfileCn.entrySet()) {
+ jsonObject.addProperty("SliceProfile.CN." + entry.getKey(), entry.getValue().toString());
+ }
+ for (Map.Entry<String, Object> entry : sliceProfileAn.entrySet()) {
+ jsonObject.addProperty("SliceProfile.AN." + entry.getKey(), entry.getValue().toString());
+ }
+ jsonObject.addProperty("TN.SuggestNSSIId", tnSuggestNssiId);
+ jsonObject.addProperty("TN.SuggestNSSIName", tnSuggestNssiName);
+ jsonObject.addProperty("TN.progress", tnProgress);
+ jsonObject.addProperty("TN.status", tnStatus);
+ jsonObject.addProperty("TN.statusDescription", tnStatusDescription);
+ jsonObject.addProperty("CN.SuggestNSSIId", cnSuggestNssiId);
+ jsonObject.addProperty("CN.SuggestNSSIName", cnSuggestNssiName);
+ jsonObject.addProperty("CN.progress", cnProgress);
+ jsonObject.addProperty("CN.status", cnStatus);
+ jsonObject.addProperty("CN.statusDescription", cnStatusDescription);
+ jsonObject.addProperty("AN.SuggestNSSIId", anSuggestNssiId);
+ jsonObject.addProperty("AN.SuggestNSSIName", anSuggestNssiName);
+ jsonObject.addProperty("AN.progress", anProgress);
+ jsonObject.addProperty("AN.status", anStatus);
+ jsonObject.addProperty("AN.statusDescription", anStatusDescription);
+
+ return jsonObject.toString();
+ }
+
+ public void convertFromJson(String jsonString) throws IOException {
+ ObjectMapper mapper = new ObjectMapper();
+ Map<String, String> paramMap = (Map<String, String>) mapper.readValue(jsonString, Map.class);
+ this.setServiceId(paramMap.get("ServiceId"));
+ this.setServiceName(paramMap.get("ServiceName"));
+ this.setNstId(paramMap.get("NSTId"));
+ this.setNstName(paramMap.get("NSTName"));
+ this.setTnScriptName(paramMap.get("TN.ScriptName"));
+ this.setAnScriptName(paramMap.get("AN.ScriptName"));
+ this.setCnScriptName(paramMap.get("CN.ScriptName"));
+ Map<String, Object> serviceProfileMap = new HashMap<>();
+ for (Map.Entry<String, String> entry : paramMap.entrySet()) {
+ if (entry.getKey().startsWith("ServiceProfile.")) {
+ serviceProfileMap.put(entry.getKey().replaceFirst("^ServiceProfile.", ""), entry.getValue());
+ }
+ }
+ this.setServiceProfile(serviceProfileMap);
+ this.setSuggestNsiId(paramMap.get("suggestNSIId"));
+ this.setSuggestNsiName(paramMap.get("suggestNSIName"));
+ Map<String, Object> sliceProfileTnMap = new HashMap<>();
+ for (Map.Entry<String, String> entry : paramMap.entrySet()) {
+ if (entry.getKey().startsWith("SliceProfile.TN.")) {
+ sliceProfileTnMap.put(entry.getKey().replaceFirst("^SliceProfile.TN.", ""), entry.getValue());
+ }
+ }
+ this.setSliceProfileTn(sliceProfileTnMap);
+ Map<String, Object> sliceProfileCnMap = new HashMap<>();
+ for (Map.Entry<String, String> entry : paramMap.entrySet()) {
+ if (entry.getKey().startsWith("SliceProfile.CN.")) {
+ sliceProfileCnMap.put(entry.getKey().replaceFirst("^SliceProfile.CN.", ""), entry.getValue());
+ }
+ }
+ this.setSliceProfileCn(sliceProfileCnMap);
+ Map<String, Object> sliceProfileAnMap = new HashMap<>();
+ for (Map.Entry<String, String> entry : paramMap.entrySet()) {
+ if (entry.getKey().startsWith("SliceProfile.AN.")) {
+ sliceProfileAnMap.put(entry.getKey().replaceFirst("^SliceProfile.AN.", ""), entry.getValue());
+ }
+ }
+ this.setSliceProfileAn(sliceProfileAnMap);
+ this.setTnSuggestNssiId(paramMap.get("TN.SuggestNSSIId"));
+ this.setTnSuggestNssiName(paramMap.get("TN.SuggestNSSIName"));
+ this.setTnProgress(paramMap.get("TN.progress"));
+ this.setTnStatus(paramMap.get("TN.status"));
+ this.setTnStatusDescription(paramMap.get("TN.statusDescription"));
+ this.setCnSuggestNssiId(paramMap.get("CN.SuggestNSSIId"));
+ this.setCnSuggestNssiName(paramMap.get("CN.SuggestNSSIName"));
+ this.setCnProgress(paramMap.get("CN.progress"));
+ this.setCnStatus(paramMap.get("CN.status"));
+ this.setCnStatusDescription(paramMap.get("CN.statusDescription"));
+ this.setAnSuggestNssiId(paramMap.get("AN.SuggestNSSIId"));
+ this.setAnSuggestNssiName(paramMap.get("AN.SuggestNSSIName"));
+ this.setAnProgress(paramMap.get("AN.progress"));
+ this.setAnStatus(paramMap.get("AN.status"));
+ this.setAnStatusDescription(paramMap.get("AN.statusDescription"));
+ }
+}
+
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/TerminateNssi.java b/common/src/main/java/org/onap/so/beans/nsmf/TerminateNssi.java
new file mode 100644
index 0000000000..28cc565272
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/TerminateNssi.java
@@ -0,0 +1,59 @@
+/*-
+ * ============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 TerminateNssi {
+
+ public final static String URL = "/api/rest/provMns/v1/NSS/nssi/%s";
+
+ private String nsiId;
+
+ private String scriptName;
+
+ private String extension;
+
+ public String getNsiId() {
+ return nsiId;
+ }
+
+ public void setNsiId(String nsiId) {
+ this.nsiId = nsiId;
+ }
+
+ public String getScriptName() {
+ return scriptName;
+ }
+
+ public void setScriptName(String scriptName) {
+ this.scriptName = scriptName;
+ }
+
+ public String getExtension() {
+ return extension;
+ }
+
+ public void setExtension(String extension) {
+ this.extension = extension;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/TnSliceProfile.java b/common/src/main/java/org/onap/so/beans/nsmf/TnSliceProfile.java
new file mode 100644
index 0000000000..c3548f15af
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/TnSliceProfile.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;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class TnSliceProfile {
+
+ private String bandwidth;
+
+ @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+ private int latency;
+
+ public String getBandwidth() {
+ return bandwidth;
+ }
+
+ public void setBandwidth(String bandwidth) {
+ this.bandwidth = bandwidth;
+ }
+
+ public int getLatency() {
+ return latency;
+ }
+
+ public void setLatency(int latency) {
+ this.latency = latency;
+ }
+}
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;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/UpdateCnNssi.java b/common/src/main/java/org/onap/so/beans/nsmf/UpdateCnNssi.java
new file mode 100644
index 0000000000..9fb8f26440
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/UpdateCnNssi.java
@@ -0,0 +1,119 @@
+/*-
+ * ============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 UpdateCnNssi {
+
+ public final static String URL = "/api/rest/provMns/v1/NSS/SliceProfiles/%s";
+
+ private String snssai;
+
+ private String nssiId;
+
+ private String nsstId;
+
+ private String flavorId;
+
+ private UpdateSliceProfile sliceProfile;
+
+ private String scriptName;
+
+ private String extension;
+
+ private NsiInfo nsiInfo;
+
+ private NewNsst newNsst;
+
+ public String getSnssai() {
+ return snssai;
+ }
+
+ public void setSnssai(String snssai) {
+ this.snssai = snssai;
+ }
+
+ public String getNssiId() {
+ return nssiId;
+ }
+
+ public void setNssiId(String nssiId) {
+ this.nssiId = nssiId;
+ }
+
+ public String getNsstId() {
+ return nsstId;
+ }
+
+ public void setNsstId(String nsstId) {
+ this.nsstId = nsstId;
+ }
+
+ public String getFlavorId() {
+ return flavorId;
+ }
+
+ public void setFlavorId(String flavorId) {
+ this.flavorId = flavorId;
+ }
+
+ public UpdateSliceProfile getSliceProfile() {
+ return sliceProfile;
+ }
+
+ public void setSliceProfile(UpdateSliceProfile sliceProfile) {
+ this.sliceProfile = sliceProfile;
+ }
+
+ public String getScriptName() {
+ return scriptName;
+ }
+
+ public void setScriptName(String scriptName) {
+ this.scriptName = scriptName;
+ }
+
+ public String getExtension() {
+ return extension;
+ }
+
+ public void setExtension(String extension) {
+ this.extension = extension;
+ }
+
+ public NsiInfo getNsiInfo() {
+ return nsiInfo;
+ }
+
+ public void setNsiInfo(NsiInfo nsiInfo) {
+ this.nsiInfo = nsiInfo;
+ }
+
+ public NewNsst getNewNsst() {
+ return newNsst;
+ }
+
+ public void setNewNsst(NewNsst newNsst) {
+ this.newNsst = newNsst;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/UpdateCnNssiById.java b/common/src/main/java/org/onap/so/beans/nsmf/UpdateCnNssiById.java
new file mode 100644
index 0000000000..26e6ca02bb
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/UpdateCnNssiById.java
@@ -0,0 +1,89 @@
+/*-
+ * ============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 UpdateCnNssiById {
+
+ public final static String URL = "/api/rest/provMns/v1/NSS/nssi/%s";
+
+ private String nsstId;
+
+ private String flavorId;
+
+ private String scriptName;
+
+ private String extension;
+
+ private NsiInfo nsiInfo;
+
+ private NewNsst newNsst;
+
+ public String getNsstId() {
+ return nsstId;
+ }
+
+ public void setNsstId(String nsstId) {
+ this.nsstId = nsstId;
+ }
+
+ public String getFlavorId() {
+ return flavorId;
+ }
+
+ public void setFlavorId(String flavorId) {
+ this.flavorId = flavorId;
+ }
+
+ public String getScriptName() {
+ return scriptName;
+ }
+
+ public void setScriptName(String scriptName) {
+ this.scriptName = scriptName;
+ }
+
+ public String getExtension() {
+ return extension;
+ }
+
+ public void setExtension(String extension) {
+ this.extension = extension;
+ }
+
+ public NsiInfo getNsiInfo() {
+ return nsiInfo;
+ }
+
+ public void setNsiInfo(NsiInfo nsiInfo) {
+ this.nsiInfo = nsiInfo;
+ }
+
+ public NewNsst getNewNsst() {
+ return newNsst;
+ }
+
+ public void setNewNsst(NewNsst newNsst) {
+ this.newNsst = newNsst;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/UpdateSliceProfile.java b/common/src/main/java/org/onap/so/beans/nsmf/UpdateSliceProfile.java
new file mode 100644
index 0000000000..74ea7ae424
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/UpdateSliceProfile.java
@@ -0,0 +1,101 @@
+/*-
+ * ============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 UpdateSliceProfile {
+
+ 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;
+
+ @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+ private int ueMobilityLevel;
+
+ private String resourceSharingLevel;
+
+ 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 int getUeMobilityLevel() {
+ return ueMobilityLevel;
+ }
+
+ public void setUeMobilityLevel(int ueMobilityLevel) {
+ this.ueMobilityLevel = ueMobilityLevel;
+ }
+
+ public String getResourceSharingLevel() {
+ return resourceSharingLevel;
+ }
+
+ public void setResourceSharingLevel(String resourceSharingLevel) {
+ this.resourceSharingLevel = resourceSharingLevel;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/VnfErrorList.java b/common/src/main/java/org/onap/so/beans/nsmf/VnfErrorList.java
new file mode 100644
index 0000000000..6388ca6106
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/VnfErrorList.java
@@ -0,0 +1,47 @@
+/*-
+ * ============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 VnfErrorList {
+
+ private String vnfInstanceId;
+
+ private String vnfErrorDesc;
+
+ public String getVnfInstanceId() {
+ return vnfInstanceId;
+ }
+
+ public void setVnfInstanceId(String vnfInstanceId) {
+ this.vnfInstanceId = vnfInstanceId;
+ }
+
+ public String getVnfErrorDesc() {
+ return vnfErrorDesc;
+ }
+
+ public void setVnfErrorDesc(String vnfErrorDesc) {
+ this.vnfErrorDesc = vnfErrorDesc;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/client/aai/AAIObjectType.java b/common/src/main/java/org/onap/so/client/aai/AAIObjectType.java
index c2c8e933b1..b96df4ff9e 100644
--- a/common/src/main/java/org/onap/so/client/aai/AAIObjectType.java
+++ b/common/src/main/java/org/onap/so/client/aai/AAIObjectType.java
@@ -20,66 +20,21 @@
package org.onap.so.client.aai;
-import java.io.Serializable;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Pattern;
+import com.google.common.base.CaseFormat;
import org.onap.aai.annotations.Metadata;
-import org.onap.aai.domain.yang.AggregateRoute;
-import org.onap.aai.domain.yang.AllottedResource;
-import org.onap.aai.domain.yang.CloudRegion;
-import org.onap.aai.domain.yang.Collection;
-import org.onap.aai.domain.yang.Complex;
-import org.onap.aai.domain.yang.Configuration;
-import org.onap.aai.domain.yang.Connector;
-import org.onap.aai.domain.yang.Customer;
-import org.onap.aai.domain.yang.Device;
-import org.onap.aai.domain.yang.EsrVnfm;
-import org.onap.aai.domain.yang.ExtAaiNetwork;
-import org.onap.aai.domain.yang.Flavor;
-import org.onap.aai.domain.yang.GenericVnf;
-import org.onap.aai.domain.yang.Image;
-import org.onap.aai.domain.yang.InstanceGroup;
-import org.onap.aai.domain.yang.L3Network;
-import org.onap.aai.domain.yang.LInterface;
-import org.onap.aai.domain.yang.LineOfBusiness;
-import org.onap.aai.domain.yang.ModelVer;
-import org.onap.aai.domain.yang.NetworkPolicy;
-import org.onap.aai.domain.yang.NetworkTechnology;
-import org.onap.aai.domain.yang.OperationalEnvironment;
-import org.onap.aai.domain.yang.OwningEntity;
-import org.onap.aai.domain.yang.PInterface;
-import org.onap.aai.domain.yang.PhysicalLink;
-import org.onap.aai.domain.yang.Platform;
-import org.onap.aai.domain.yang.Pnf;
-import org.onap.aai.domain.yang.PortGroup;
-import org.onap.aai.domain.yang.Project;
-import org.onap.aai.domain.yang.Pserver;
-import org.onap.aai.domain.yang.RouteTableReference;
-import org.onap.aai.domain.yang.ServiceInstance;
-import org.onap.aai.domain.yang.ServiceSubscription;
-import org.onap.aai.domain.yang.SpPartner;
-import org.onap.aai.domain.yang.SriovPf;
-import org.onap.aai.domain.yang.Subnet;
-import org.onap.aai.domain.yang.Tenant;
-import org.onap.aai.domain.yang.TunnelXconnect;
-import org.onap.aai.domain.yang.Vce;
-import org.onap.aai.domain.yang.VfModule;
-import org.onap.aai.domain.yang.VlanTag;
-import org.onap.aai.domain.yang.Vnfc;
-import org.onap.aai.domain.yang.VolumeGroup;
-import org.onap.aai.domain.yang.VpnBinding;
-import org.onap.aai.domain.yang.Vserver;
-import org.onap.aai.domain.yang.Zone;
+import org.onap.aai.domain.yang.*;
import org.onap.so.client.graphinventory.GraphInventoryObjectType;
import org.onap.so.constants.Defaults;
import org.reflections.Reflections;
import org.reflections.scanners.SubTypesScanner;
import org.reflections.util.ClasspathHelper;
import org.reflections.util.ConfigurationBuilder;
-import com.google.common.base.CaseFormat;
+import java.io.Serializable;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.regex.Pattern;
public class AAIObjectType implements GraphInventoryObjectType, Serializable {
@@ -122,6 +77,8 @@ public class AAIObjectType implements GraphInventoryObjectType, Serializable {
public static final AAIObjectType SERVICE_INSTANCE_METADATA = new AAIObjectType(
AAIObjectType.SERVICE_INSTANCE + "/metadata", org.onap.aai.domain.yang.v13.Metadata.class);
+ public static final AAIObjectType SERVICE = new AAIObjectType(
+ AAINamespaceConstants.SERVICE_DESIGN_AND_CREATION + "/services/service/{service-id}", Service.class);
public static final AAIObjectType SERVICE_INSTANCE =
new AAIObjectType(AAIObjectType.SERVICE_SUBSCRIPTION.uriTemplate(), ServiceInstance.class);
public static final AAIObjectType PROJECT = new AAIObjectType(AAINamespaceConstants.BUSINESS, Project.class);
@@ -132,6 +89,8 @@ public class AAIObjectType implements GraphInventoryObjectType, Serializable {
new AAIObjectType(AAINamespaceConstants.BUSINESS, OwningEntity.class);
public static final AAIObjectType ALLOTTED_RESOURCE =
new AAIObjectType(AAIObjectType.SERVICE_INSTANCE.uriTemplate(), AllottedResource.class);
+ public static final AAIObjectType ALLOTTED_RESOURCE_ALL =
+ new AAIObjectType(AAIObjectType.SERVICE_INSTANCE.uriTemplate(), "/allotted-resources", "allottedResources");
public static final AAIObjectType PNF = new AAIObjectType(AAINamespaceConstants.NETWORK, Pnf.class);
public static final AAIObjectType OPERATIONAL_ENVIRONMENT =
new AAIObjectType(AAINamespaceConstants.CLOUD_INFRASTRUCTURE, OperationalEnvironment.class);
@@ -188,6 +147,23 @@ public class AAIObjectType implements GraphInventoryObjectType, Serializable {
public static final AAIObjectType CLOUD_ESR_SYSTEM_INFO_LIST = new AAIObjectType(
AAIObjectType.CLOUD_REGION.uriTemplate(), "/esr-system-info-list", "cloud-esr-system-info-list");
public static final AAIObjectType ZONE = new AAIObjectType(AAINamespaceConstants.NETWORK, Zone.class);
+ public static final AAIObjectType THIRDPARTY_SDNC_LIST = new AAIObjectType(AAINamespaceConstants.EXTERNAL_SYSTEM,
+ "/esr-thirdparty-sdnc-list", "thirdparty-sdnc-list");
+ public static final AAIObjectType THIRDPARTY_SDNC_SYSTEM_INFO_LIST =
+ new AAIObjectType(AAINamespaceConstants.EXTERNAL_SYSTEM + "/esr-thirdparty-sdnc-list",
+ "/esr-thirdparty-sdnc/{sdnc-id}/esr-system-info-list", "thirdparty-sdnc-system-info-list");
+ public static final AAIObjectType COMMUNICATION_SERVICE_PROFILE =
+ new AAIObjectType(AAIObjectType.SERVICE_SUBSCRIPTION.uriTemplate(), CommunicationServiceProfile.class);
+ public static final AAIObjectType SERVICE_PROFILE =
+ new AAIObjectType(AAIObjectType.SERVICE_SUBSCRIPTION.uriTemplate(), ServiceProfile.class);
+ public static final AAIObjectType SERVICE_PROFILE_ALL =
+ new AAIObjectType(AAIObjectType.SERVICE_INSTANCE.uriTemplate(), "/service-profiles", "serviceProfiles");
+ public static final AAIObjectType SLICE_PROFILE =
+ new AAIObjectType(AAIObjectType.SERVICE_SUBSCRIPTION.uriTemplate(), SliceProfile.class);
+ public static final AAIObjectType SLICE_PROFILE_ALL =
+ new AAIObjectType(AAIObjectType.SERVICE_INSTANCE.uriTemplate(), "/slice-profiles", "sliceProfiles");
+ public static final AAIObjectType COMMUNICATION_PROFILE_ALL = new AAIObjectType(
+ AAIObjectType.SERVICE_INSTANCE.uriTemplate(), "/communication-service-profiles", "communicationProfiles");
private final String uriTemplate;
private final String parentUri;
diff --git a/common/src/main/java/org/onap/so/client/aai/AAIRestClientI.java b/common/src/main/java/org/onap/so/client/aai/AAIRestClientI.java
index 8bc709b276..2698bc347f 100644
--- a/common/src/main/java/org/onap/so/client/aai/AAIRestClientI.java
+++ b/common/src/main/java/org/onap/so/client/aai/AAIRestClientI.java
@@ -38,4 +38,6 @@ public interface AAIRestClientI {
Optional<Pnf> getPnfByName(String pnfId);
void createPnf(String pnfId, Pnf pnf);
+
+ void updatePnf(String pnfId, Pnf pnf);
}
diff --git a/common/src/main/java/org/onap/so/client/aai/AAIRestClientImpl.java b/common/src/main/java/org/onap/so/client/aai/AAIRestClientImpl.java
index 03e2eaea1f..f2f96ca905 100644
--- a/common/src/main/java/org/onap/so/client/aai/AAIRestClientImpl.java
+++ b/common/src/main/java/org/onap/so/client/aai/AAIRestClientImpl.java
@@ -92,4 +92,9 @@ public class AAIRestClientImpl implements AAIRestClientI {
new AAIResourcesClient().createIfNotExists(AAIUriFactory.createResourceUri(AAIObjectType.PNF, pnfId),
Optional.of(pnf));
}
+
+ @Override
+ public void updatePnf(String pnfId, Pnf pnf) {
+ new AAIResourcesClient().update(AAIUriFactory.createResourceUri(AAIObjectType.PNF, pnfId), pnf);
+ }
}
diff --git a/common/src/main/java/org/onap/so/logging/jaxrs/filter/SOAuditLogContainerFilter.java b/common/src/main/java/org/onap/so/logging/jaxrs/filter/SOAuditLogContainerFilter.java
index 5ae1082464..3e85cc5ec6 100644
--- a/common/src/main/java/org/onap/so/logging/jaxrs/filter/SOAuditLogContainerFilter.java
+++ b/common/src/main/java/org/onap/so/logging/jaxrs/filter/SOAuditLogContainerFilter.java
@@ -3,6 +3,7 @@ package org.onap.so.logging.jaxrs.filter;
import javax.annotation.Priority;
import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerResponseContext;
+import javax.ws.rs.container.PreMatching;
import org.onap.logging.ref.slf4j.ONAPLogConstants;
import org.onap.so.logger.HttpHeadersConstants;
import org.onap.so.logger.LogConstants;
@@ -11,6 +12,7 @@ import org.springframework.stereotype.Component;
import org.onap.logging.filter.base.AuditLogContainerFilter;
@Priority(1)
+@PreMatching
@Component
public class SOAuditLogContainerFilter extends AuditLogContainerFilter {
@@ -26,9 +28,4 @@ public class SOAuditLogContainerFilter extends AuditLogContainerFilter {
}
MDC.put(LogConstants.URI_BASE, request.getUriInfo().getBaseUri().toString());
}
-
- @Override
- protected void additionalPostHandling(ContainerResponseContext response) {
- // override to add additional post handling
- }
}
diff --git a/common/src/main/java/org/onap/so/rest/service/HttpRestServiceProvider.java b/common/src/main/java/org/onap/so/rest/service/HttpRestServiceProvider.java
index 69046a2eba..4434dce4e3 100644
--- a/common/src/main/java/org/onap/so/rest/service/HttpRestServiceProvider.java
+++ b/common/src/main/java/org/onap/so/rest/service/HttpRestServiceProvider.java
@@ -21,6 +21,7 @@
package org.onap.so.rest.service;
import com.google.common.base.Optional;
+import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;
/**
@@ -39,6 +40,16 @@ public interface HttpRestServiceProvider {
/**
* Execute the HTTP GET to the given URI template
+ *
+ * @param url the URL
+ * @param headers request headers
+ * @param clazz the type of the return value
+ * @return Returns the body of this entity.
+ */
+ <T> Optional<T> get(final String url, final HttpHeaders headers, final Class<T> clazz);
+
+ /**
+ * Execute the HTTP GET to the given URI template
*
* @param url the URL
* @param clazz the type of the return value
@@ -46,6 +57,15 @@ public interface HttpRestServiceProvider {
*/
<T> ResponseEntity<T> getHttpResponse(final String url, final Class<T> clazz);
+ /**
+ * Execute the HTTP GET to the given URI template
+ *
+ * @param url the URL
+ * @param headers request headers
+ * @param clazz the type of the return value
+ * @return Returns the {@link ResponseEntity}.
+ */
+ <T> ResponseEntity<T> getHttpResponse(final String url, final HttpHeaders headers, final Class<T> clazz);
/**
* Execute the HTTP POST to the given URI template
@@ -68,6 +88,18 @@ public interface HttpRestServiceProvider {
<T> ResponseEntity<T> postHttpRequest(final Object object, final String url, final Class<T> clazz);
/**
+ * Execute the HTTP POST to the given URI template
+ *
+ * @param object the entity (i.e. body) to write to the request
+ * @param url the URL
+ * @param clazz the type of the return value
+ * @param headers request headers
+ * @return Returns the {@link ResponseEntity}.
+ */
+ <T> ResponseEntity<T> postHttpRequest(final Object object, final String url, final HttpHeaders headers,
+ final Class<T> clazz);
+
+ /**
* Execute the HTTP PUT to the given URI template
*
* @param object the entity (i.e. body) to write to the request
diff --git a/common/src/main/java/org/onap/so/rest/service/HttpRestServiceProviderImpl.java b/common/src/main/java/org/onap/so/rest/service/HttpRestServiceProviderImpl.java
index b82d73bbbf..04dd0bbb7a 100644
--- a/common/src/main/java/org/onap/so/rest/service/HttpRestServiceProviderImpl.java
+++ b/common/src/main/java/org/onap/so/rest/service/HttpRestServiceProviderImpl.java
@@ -20,8 +20,6 @@
package org.onap.so.rest.service;
-import com.google.common.base.Optional;
-import org.onap.so.configuration.rest.BasicHttpHeadersProvider;
import org.onap.so.configuration.rest.HttpHeadersProvider;
import org.onap.so.rest.exceptions.HttpResouceNotFoundException;
import org.onap.so.rest.exceptions.InvalidRestRequestException;
@@ -36,6 +34,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.client.HttpStatusCodeException;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
+import com.google.common.base.Optional;
/**
* A Service to perform HTTP requests
@@ -46,16 +45,27 @@ public class HttpRestServiceProviderImpl implements HttpRestServiceProvider {
private static final Logger LOGGER = LoggerFactory.getLogger(HttpRestServiceProviderImpl.class);
private final RestTemplate restTemplate;
- private final HttpHeadersProvider httpHeadersProvider;
+ private final HttpHeaders defaultHttpHeaders;
public HttpRestServiceProviderImpl(final RestTemplate restTemplate) {
this.restTemplate = restTemplate;
- this.httpHeadersProvider = new BasicHttpHeadersProvider();
+ this.defaultHttpHeaders = new HttpHeaders();
}
+ public HttpRestServiceProviderImpl(final RestTemplate restTemplate, final HttpHeaders defaultHttpHeaders) {
+ this.restTemplate = restTemplate;
+ this.defaultHttpHeaders = defaultHttpHeaders;
+ }
+
+ /**
+ *
+ * @deprecated this constructor is deprecated in favor of using {@link HttpRestServiceProviderImpl(RestTemplate
+ * restTemplate, HttpHeaders defaultHttpHeaders)}
+ */
+ @Deprecated
public HttpRestServiceProviderImpl(final RestTemplate restTemplate, final HttpHeadersProvider httpHeadersProvider) {
this.restTemplate = restTemplate;
- this.httpHeadersProvider = httpHeadersProvider;
+ this.defaultHttpHeaders = httpHeadersProvider.getHttpHeaders();
}
@Override
@@ -64,10 +74,21 @@ public class HttpRestServiceProviderImpl implements HttpRestServiceProvider {
return createOptional(response, url, HttpMethod.GET);
}
+ @Override
+ public <T> Optional<T> get(final String url, final HttpHeaders headers, final Class<T> clazz) {
+ final ResponseEntity<T> response = invokeHttpRequest(new HttpEntity<>(headers), HttpMethod.GET, url, clazz);
+ return createOptional(response, url, HttpMethod.GET);
+ }
@Override
public <T> ResponseEntity<T> getHttpResponse(final String url, final Class<T> clazz) {
- final HttpEntity<?> request = new HttpEntity<>(getHttpHeaders());
+ final HttpEntity<?> request = new HttpEntity<>(getDefaultHttpHeaders());
+ return invokeHttpRequest(request, HttpMethod.GET, url, clazz);
+ }
+
+ @Override
+ public <T> ResponseEntity<T> getHttpResponse(final String url, final HttpHeaders headers, final Class<T> clazz) {
+ final HttpEntity<?> request = new HttpEntity<>(headers);
return invokeHttpRequest(request, HttpMethod.GET, url, clazz);
}
@@ -79,7 +100,14 @@ public class HttpRestServiceProviderImpl implements HttpRestServiceProvider {
@Override
public <T> ResponseEntity<T> postHttpRequest(final Object object, final String url, final Class<T> clazz) {
- final HttpEntity<?> request = new HttpEntity<>(object, getHttpHeaders());
+ final HttpEntity<?> request = new HttpEntity<>(object, getDefaultHttpHeaders());
+ return invokeHttpRequest(request, HttpMethod.POST, url, clazz);
+ }
+
+ @Override
+ public <T> ResponseEntity<T> postHttpRequest(final Object object, final String url, final HttpHeaders headers,
+ final Class<T> clazz) {
+ final HttpEntity<?> request = new HttpEntity<>(object, headers);
return invokeHttpRequest(request, HttpMethod.POST, url, clazz);
}
@@ -91,7 +119,7 @@ public class HttpRestServiceProviderImpl implements HttpRestServiceProvider {
@Override
public <T> ResponseEntity<T> putHttpRequest(final Object object, final String url, final Class<T> clazz) {
- final HttpEntity<?> request = new HttpEntity<>(object, getHttpHeaders());
+ final HttpEntity<?> request = new HttpEntity<>(object, getDefaultHttpHeaders());
return invokeHttpRequest(request, HttpMethod.PUT, url, clazz);
}
@@ -140,9 +168,21 @@ public class HttpRestServiceProviderImpl implements HttpRestServiceProvider {
@Override
public <T> ResponseEntity<T> deleteHttpRequest(final String url, final Class<T> clazz) {
try {
- final HttpEntity<?> request = new HttpEntity<>(getHttpHeaders());
+ final HttpEntity<?> request = new HttpEntity<>(getDefaultHttpHeaders());
return restTemplate.exchange(url, HttpMethod.DELETE, request, clazz);
+ } catch (final HttpStatusCodeException httpStatusCodeException) {
+ final String message = "Unable to invoke HTTP " + HttpMethod.DELETE + " using url: " + url + ", Response: "
+ + httpStatusCodeException.getRawStatusCode();
+ LOGGER.error(message, httpStatusCodeException);
+ final int rawStatusCode = httpStatusCodeException.getRawStatusCode();
+ if (rawStatusCode == HttpStatus.BAD_REQUEST.value()) {
+ throw new InvalidRestRequestException("No result found for given url: " + url);
+ } else if (rawStatusCode == HttpStatus.NOT_FOUND.value()) {
+ throw new HttpResouceNotFoundException("No result found for given url: " + url);
+ }
+ throw new RestProcessingException("Unable to invoke HTTP " + HttpMethod.DELETE + " using URL: " + url,
+ httpStatusCodeException, rawStatusCode);
} catch (final RestClientException restClientException) {
LOGGER.error("Unable to invoke HTTP DELETE using url: " + url, restClientException);
throw new InvalidRestRequestException("Unable to invoke HTTP DELETE using URL: " + url,
@@ -150,7 +190,7 @@ public class HttpRestServiceProviderImpl implements HttpRestServiceProvider {
}
}
- private HttpHeaders getHttpHeaders() {
- return httpHeadersProvider.getHttpHeaders();
+ private HttpHeaders getDefaultHttpHeaders() {
+ return defaultHttpHeaders;
}
}
diff --git a/common/src/main/java/org/onap/so/serviceinstancebeans/CloudConfiguration.java b/common/src/main/java/org/onap/so/serviceinstancebeans/CloudConfiguration.java
index 4a284b55ec..777dcc6171 100644
--- a/common/src/main/java/org/onap/so/serviceinstancebeans/CloudConfiguration.java
+++ b/common/src/main/java/org/onap/so/serviceinstancebeans/CloudConfiguration.java
@@ -37,6 +37,8 @@ public class CloudConfiguration implements Serializable {
protected String aicNodeClli;
@JsonProperty("tenantId")
protected String tenantId;
+ @JsonProperty("tenantName")
+ protected String tenantName;
@JsonProperty("cloudOwner")
protected String cloudOwner = Defaults.CLOUD_OWNER.toString();
@JsonProperty("lcpCloudRegionId")
@@ -82,6 +84,13 @@ public class CloudConfiguration implements Serializable {
this.tenantId = value;
}
+ public String getTenantName() {
+ return tenantName;
+ }
+
+ public void setTenantName(String tenantName) {
+ this.tenantName = tenantName;
+ }
public String getLcpCloudRegionId() {
return lcpCloudRegionId;
@@ -102,7 +111,8 @@ public class CloudConfiguration implements Serializable {
@Override
public String toString() {
return new ToStringBuilder(this).append("aicNodeClli", getAicNodeClli()).append("tenantId", getTenantId())
- .append("cloudOwner", getCloudOwner()).append("lcpCloudRegionId", getLcpCloudRegionId()).toString();
+ .append("tenantName", getTenantName()).append("cloudOwner", getCloudOwner())
+ .append("lcpCloudRegionId", getLcpCloudRegionId()).toString();
}
diff --git a/common/src/main/java/org/onap/so/serviceinstancebeans/RequestInfo.java b/common/src/main/java/org/onap/so/serviceinstancebeans/RequestInfo.java
index 250c5df5ce..026db1e644 100644
--- a/common/src/main/java/org/onap/so/serviceinstancebeans/RequestInfo.java
+++ b/common/src/main/java/org/onap/so/serviceinstancebeans/RequestInfo.java
@@ -43,6 +43,8 @@ public class RequestInfo implements Serializable {
protected String orderNumber;
@JsonProperty("productFamilyId")
protected String productFamilyId;
+ @JsonProperty("productFamilyName")
+ protected String productFamilyName;
@JsonProperty("orderVersion")
protected Integer orderVersion;
@JsonSerialize(include = Inclusion.ALWAYS)
@@ -180,6 +182,14 @@ public class RequestInfo implements Serializable {
public void setProductFamilyId(String productFamilyId) {
this.productFamilyId = productFamilyId;
+ };
+
+ public String getProductFamilyName() {
+ return productFamilyName;
+ }
+
+ public void setProductFamilyName(String productFamilyName) {
+ this.productFamilyName = productFamilyName;
}
/**
@@ -215,9 +225,9 @@ public class RequestInfo implements Serializable {
public String toString() {
return "RequestInfo [billingAccountNumber=" + billingAccountNumber + ", callbackUrl=" + callbackUrl
+ ", correlator=" + correlator + ", orderNumber=" + orderNumber + ", productFamilyId=" + productFamilyId
- + ", orderVersion=" + orderVersion + ", source=" + source + ", instanceName=" + instanceName
- + ", suppressRollback=" + suppressRollback + ", requestorId=" + requestorId + ", applicationId="
- + applicationId + "]";
+ + ", productFamilyName=" + productFamilyName + ", orderVersion=" + orderVersion + ", source=" + source
+ + ", instanceName=" + instanceName + ", suppressRollback=" + suppressRollback + ", requestorId="
+ + requestorId + ", applicationId=" + applicationId + "]";
}
diff --git a/common/src/main/java/org/onap/so/serviceinstancebeans/ServiceInstancesRequest.java b/common/src/main/java/org/onap/so/serviceinstancebeans/ServiceInstancesRequest.java
index 5bcdcb181b..05e69b7b19 100644
--- a/common/src/main/java/org/onap/so/serviceinstancebeans/ServiceInstancesRequest.java
+++ b/common/src/main/java/org/onap/so/serviceinstancebeans/ServiceInstancesRequest.java
@@ -32,8 +32,8 @@ public class ServiceInstancesRequest implements Serializable {
private String serviceInstanceId;
@JsonProperty("vnfInstanceId")
private String vnfInstanceId;
- @JsonProperty("pnfId")
- private String pnfId;
+ @JsonProperty("pnfName")
+ private String pnfName;
@JsonProperty("networkInstanceId")
private String networkInstanceId;
@JsonProperty("volumeGroupInstanceId")
@@ -69,12 +69,12 @@ public class ServiceInstancesRequest implements Serializable {
this.vnfInstanceId = vnfInstanceId;
}
- public String getPnfId() {
- return pnfId;
+ public String getPnfName() {
+ return pnfName;
}
- public void setPnfId(String pnfId) {
- this.pnfId = pnfId;
+ public void setPnfName(String pnfName) {
+ this.pnfName = pnfName;
}
public String getNetworkInstanceId() {
@@ -123,7 +123,7 @@ public class ServiceInstancesRequest implements Serializable {
sb.append("requestDetails=").append(requestDetails);
sb.append(", serviceInstanceId='").append(serviceInstanceId).append('\'');
sb.append(", vnfInstanceId='").append(vnfInstanceId).append('\'');
- sb.append(", pnfId='").append(pnfId).append('\'');
+ sb.append(", pnfName='").append(pnfName).append('\'');
sb.append(", networkInstanceId='").append(networkInstanceId).append('\'');
sb.append(", volumeGroupInstanceId='").append(volumeGroupInstanceId).append('\'');
sb.append(", vfModuleInstanceId='").append(vfModuleInstanceId).append('\'');