aboutsummaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/pom.xml5
-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/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.java3
-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/HttpRestServiceProviderImpl.java12
-rw-r--r--common/src/main/java/org/onap/so/security/HttpSecurityConfigurer.java32
-rw-r--r--common/src/main/java/org/onap/so/security/SoBasicHttpSecurityConfigurer.java45
-rw-r--r--common/src/main/java/org/onap/so/security/SoWebSecurityConfigurerAdapter.java (renamed from common/src/main/java/org/onap/so/security/SoBasicWebSecurityConfigurerAdapter.java)19
-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/RequestParameters.java13
-rw-r--r--common/src/main/java/org/onap/so/serviceinstancebeans/ServiceInstancesRequest.java14
-rw-r--r--common/src/main/java/org/onap/so/spring/GracefulShutdown.java41
-rw-r--r--common/src/main/java/org/onap/so/spring/GracefulShutdownBeans.java20
-rw-r--r--common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java23
-rw-r--r--common/src/main/java/org/onap/so/utils/ExternalTaskUtils.java41
-rw-r--r--common/src/main/java/org/onap/so/utils/RetrySequenceLevel.java6
-rw-r--r--common/src/test/java/org/onap/so/utils/ExternalTaskServiceUtilsTest.java62
-rw-r--r--common/src/test/java/org/onap/so/utils/ExternalTaskUtilsTest.java2
56 files changed, 2942 insertions, 47 deletions
diff --git a/common/pom.xml b/common/pom.xml
index 529841da72..04deacf129 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -97,6 +97,11 @@
</exclusions>
</dependency>
<dependency>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>tomcat-catalina</artifactId>
+ <version>9.0.30</version>
+ </dependency>
+ <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-ext</artifactId>
</dependency>
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/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..db541f7f7f 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
@@ -58,6 +58,7 @@ 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.Service;
import org.onap.aai.domain.yang.ServiceInstance;
import org.onap.aai.domain.yang.ServiceSubscription;
import org.onap.aai.domain.yang.SpPartner;
@@ -122,6 +123,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);
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/HttpRestServiceProviderImpl.java b/common/src/main/java/org/onap/so/rest/service/HttpRestServiceProviderImpl.java
index b82d73bbbf..6211b76561 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
@@ -143,6 +143,18 @@ public class HttpRestServiceProviderImpl implements HttpRestServiceProvider {
final HttpEntity<?> request = new HttpEntity<>(getHttpHeaders());
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,
diff --git a/common/src/main/java/org/onap/so/security/HttpSecurityConfigurer.java b/common/src/main/java/org/onap/so/security/HttpSecurityConfigurer.java
new file mode 100644
index 0000000000..ffd5931c92
--- /dev/null
+++ b/common/src/main/java/org/onap/so/security/HttpSecurityConfigurer.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.security;
+
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+
+/**
+ * @author Waqas Ikram (waqas.ikram@est.tech)
+ *
+ */
+public interface HttpSecurityConfigurer {
+
+ void configure(final HttpSecurity http) throws Exception;
+
+}
diff --git a/common/src/main/java/org/onap/so/security/SoBasicHttpSecurityConfigurer.java b/common/src/main/java/org/onap/so/security/SoBasicHttpSecurityConfigurer.java
new file mode 100644
index 0000000000..9aceb03519
--- /dev/null
+++ b/common/src/main/java/org/onap/so/security/SoBasicHttpSecurityConfigurer.java
@@ -0,0 +1,45 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix Foundation.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.security;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
+
+/**
+ * @author Waqas Ikram (waqas.ikram@est.tech)
+ *
+ */
+@Component
+public class SoBasicHttpSecurityConfigurer implements HttpSecurityConfigurer {
+
+ @Autowired
+ private SoUserCredentialConfiguration soUserCredentialConfiguration;
+
+ @Override
+ public void configure(final HttpSecurity http) throws Exception {
+ http.csrf().disable().authorizeRequests().antMatchers("/manage/health", "/manage/info").permitAll()
+ .antMatchers("/**")
+ .hasAnyRole(StringUtils.collectionToDelimitedString(soUserCredentialConfiguration.getRoles(), ","))
+ .and().httpBasic();
+ }
+
+}
diff --git a/common/src/main/java/org/onap/so/security/SoBasicWebSecurityConfigurerAdapter.java b/common/src/main/java/org/onap/so/security/SoWebSecurityConfigurerAdapter.java
index 21176e0d5d..903d586ab1 100644
--- a/common/src/main/java/org/onap/so/security/SoBasicWebSecurityConfigurerAdapter.java
+++ b/common/src/main/java/org/onap/so/security/SoWebSecurityConfigurerAdapter.java
@@ -1,6 +1,6 @@
/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
+ * Copyright (C) 2020 Ericsson. 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.
@@ -19,6 +19,8 @@
*/
package org.onap.so.security;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
@@ -31,7 +33,6 @@ import org.springframework.security.config.annotation.web.configuration.WebSecur
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.web.firewall.StrictHttpFirewall;
-import org.springframework.util.StringUtils;
/**
* @author Waqas Ikram (waqas.ikram@est.tech)
@@ -40,11 +41,12 @@ import org.springframework.util.StringUtils;
@EnableWebSecurity
@Configuration
@Order(1)
-@Profile({"basic"})
-public class SoBasicWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
+@Profile({"basic", "test"})
+public class SoWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
+ private static final Logger LOGGER = LoggerFactory.getLogger(SoWebSecurityConfigurerAdapter.class);
@Autowired
- private SoUserCredentialConfiguration soUserCredentialConfiguration;
+ private HttpSecurityConfigurer httpSecurityConfigurer;
@Autowired
private UserDetailsService userDetailsService;
@@ -54,10 +56,9 @@ public class SoBasicWebSecurityConfigurerAdapter extends WebSecurityConfigurerAd
@Override
protected void configure(final HttpSecurity http) throws Exception {
- http.csrf().disable().authorizeRequests().antMatchers("/manage/health", "/manage/info").permitAll()
- .antMatchers("/**")
- .hasAnyRole(StringUtils.collectionToDelimitedString(soUserCredentialConfiguration.getRoles(), ","))
- .and().httpBasic();
+ LOGGER.debug("Injecting {} configuration ...", httpSecurityConfigurer.getClass());
+
+ httpSecurityConfigurer.configure(http);
}
@Override
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/RequestParameters.java b/common/src/main/java/org/onap/so/serviceinstancebeans/RequestParameters.java
index a72229a25c..9fceed1641 100644
--- a/common/src/main/java/org/onap/so/serviceinstancebeans/RequestParameters.java
+++ b/common/src/main/java/org/onap/so/serviceinstancebeans/RequestParameters.java
@@ -57,9 +57,6 @@ public class RequestParameters implements Serializable {
@JsonProperty("rebuildVolumeGroups")
private Boolean rebuildVolumeGroups;
- @JsonProperty("enforceValidNfValues")
- private Boolean enforceValidNfValues = false;
-
@Override
public String toString() {
return new ToStringBuilder(this).append("subscriptionServiceType", subscriptionServiceType)
@@ -67,15 +64,7 @@ public class RequestParameters implements Serializable {
.append("usePreload", usePreload).append("autoBuildVfModules", autoBuildVfModules)
.append("cascadeDelete", cascadeDelete).append("testApi", testApi)
.append("retainAssignments", retainAssignments).append("rebuildVolumeGroups", rebuildVolumeGroups)
- .append("enforceValidNfValues", enforceValidNfValues).toString();
- }
-
- public Boolean getEnforceValidNfValues() {
- return enforceValidNfValues;
- }
-
- public void setEnforceValidNfValues(Boolean enforceValidNfValues) {
- this.enforceValidNfValues = enforceValidNfValues;
+ .toString();
}
public String getSubscriptionServiceType() {
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('\'');
diff --git a/common/src/main/java/org/onap/so/spring/GracefulShutdown.java b/common/src/main/java/org/onap/so/spring/GracefulShutdown.java
new file mode 100644
index 0000000000..60f5b076cd
--- /dev/null
+++ b/common/src/main/java/org/onap/so/spring/GracefulShutdown.java
@@ -0,0 +1,41 @@
+package org.onap.so.spring;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+import org.apache.catalina.connector.Connector;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
+import org.springframework.context.event.ContextClosedEvent;
+import org.springframework.context.event.EventListener;
+
+public class GracefulShutdown implements TomcatConnectorCustomizer {
+
+ private static final Logger logger = LoggerFactory.getLogger(GracefulShutdown.class);
+
+ private volatile Connector connector;
+
+ @Override
+ public void customize(Connector connector) {
+ this.connector = connector;
+ }
+
+ @EventListener
+ public void handleClosedEvent(ContextClosedEvent event) {
+ this.connector.pause();
+ Executor executor = this.connector.getProtocolHandler().getExecutor();
+ if (executor instanceof ThreadPoolExecutor) {
+ try {
+ ThreadPoolExecutor threadPoolExecutor = (ThreadPoolExecutor) executor;
+ threadPoolExecutor.shutdown();
+ if (!threadPoolExecutor.awaitTermination(30, TimeUnit.SECONDS)) {
+ logger.warn("Tomcat thread pool did not shut down gracefully within "
+ + "30 seconds. Proceeding with forceful shutdown");
+ }
+ } catch (InterruptedException ex) {
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+}
diff --git a/common/src/main/java/org/onap/so/spring/GracefulShutdownBeans.java b/common/src/main/java/org/onap/so/spring/GracefulShutdownBeans.java
new file mode 100644
index 0000000000..219c82fb19
--- /dev/null
+++ b/common/src/main/java/org/onap/so/spring/GracefulShutdownBeans.java
@@ -0,0 +1,20 @@
+package org.onap.so.spring;
+
+import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
+import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
+import org.springframework.context.annotation.Bean;
+
+public class GracefulShutdownBeans {
+
+ @Bean
+ public GracefulShutdown gracefulShutdown() {
+ return new GracefulShutdown();
+ }
+
+ @Bean
+ public ConfigurableServletWebServerFactory webServerFactory(final GracefulShutdown gracefulShutdown) {
+ TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
+ factory.addConnectorCustomizers(gracefulShutdown);
+ return factory;
+ }
+}
diff --git a/common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java b/common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java
index e43b431821..4f13cec8f4 100644
--- a/common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java
+++ b/common/src/main/java/org/onap/so/utils/ExternalTaskServiceUtils.java
@@ -1,6 +1,8 @@
package org.onap.so.utils;
import java.security.GeneralSecurityException;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
import org.camunda.bpm.client.ExternalTaskClient;
import org.camunda.bpm.client.interceptor.ClientRequestInterceptor;
import org.camunda.bpm.client.interceptor.auth.BasicAuthProvider;
@@ -8,21 +10,30 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
+import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+
+
@Component
public class ExternalTaskServiceUtils {
@Autowired
public Environment env;
+ protected Set<ExternalTaskClient> taskClients = ConcurrentHashMap.newKeySet();
+
+
private static final Logger logger = LoggerFactory.getLogger(ExternalTaskServiceUtils.class);
public ExternalTaskClient createExternalTaskClient() throws Exception {
String auth = getAuth();
ClientRequestInterceptor interceptor = createClientInterceptor(auth);
- return ExternalTaskClient.create().baseUrl(env.getRequiredProperty("mso.workflow.endpoint")).maxTasks(1)
- .addInterceptor(interceptor).asyncResponseTimeout(120000).build();
+ ExternalTaskClient client =
+ ExternalTaskClient.create().baseUrl(env.getRequiredProperty("mso.workflow.endpoint")).maxTasks(1)
+ .addInterceptor(interceptor).asyncResponseTimeout(120000).build();
+ taskClients.add(client);
+ return client;
}
protected ClientRequestInterceptor createClientInterceptor(String auth) {
@@ -42,5 +53,13 @@ public class ExternalTaskServiceUtils {
return Integer.parseInt(env.getProperty("workflow.topics.maxClients", "3"));
}
+ @Scheduled(fixedDelay = 30000)
+ public void checkAllClientsActive() {
+ getClients().stream().filter(client -> !client.isActive()).forEach(ExternalTaskClient::start);
+ }
+
+ protected Set<ExternalTaskClient> getClients() {
+ return taskClients;
+ }
}
diff --git a/common/src/main/java/org/onap/so/utils/ExternalTaskUtils.java b/common/src/main/java/org/onap/so/utils/ExternalTaskUtils.java
index a2aed638fe..9488187003 100644
--- a/common/src/main/java/org/onap/so/utils/ExternalTaskUtils.java
+++ b/common/src/main/java/org/onap/so/utils/ExternalTaskUtils.java
@@ -1,10 +1,7 @@
package org.onap.so.utils;
-import org.camunda.bpm.client.task.ExternalTask;
-import org.onap.logging.ref.slf4j.ONAPLogConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
@@ -17,6 +14,16 @@ public abstract class ExternalTaskUtils {
private static final Logger logger = LoggerFactory.getLogger(ExternalTaskUtils.class);
+ private final RetrySequenceLevel retrySequenceLevel;
+
+ public ExternalTaskUtils() {
+ this.retrySequenceLevel = RetrySequenceLevel.MEDIUM;
+ }
+
+ public ExternalTaskUtils(RetrySequenceLevel retrySequenceLevel) {
+ this.retrySequenceLevel = retrySequenceLevel;
+ }
+
public long calculateRetryDelay(int currentRetries) {
int retrySequence = getRetrySequence().length - currentRetries;
return Integer.parseInt(getRetrySequence()[retrySequence]) * getRetryMutiplier();
@@ -27,10 +34,30 @@ public abstract class ExternalTaskUtils {
}
protected String[] getRetrySequence() {
- String[] seq = {"1", "1", "2", "3", "5", "8", "13", "20"};
- if (env.getProperty("mso.workflow.topics.retrySequence") != null) {
- seq = env.getProperty("mso.workflow.topics.retrySequence", String[].class);
+ switch (retrySequenceLevel) {
+ case SHORT:
+ String[] seqShort = {"1", "1"};
+ if (env.getProperty("mso.workflow.topics.retrySequence.short") != null) {
+ seqShort = env.getProperty("mso.workflow.topics.retrySequence.short", String[].class);
+ }
+ return seqShort;
+ case MEDIUM:
+ String[] seqInter = {"1", "1", "2", "3", "5"};
+ if (env.getProperty("mso.workflow.topics.retrySequence.medium") != null) {
+ seqInter = env.getProperty("mso.workflow.topics.retrySequence.medium", String[].class);
+ }
+ return seqInter;
+ case LONG:
+ String[] seqLong = {"1", "1", "2", "3", "5", "8", "13", "20"};
+ if (env.getProperty("mso.workflow.topics.retrySequence") != null) {
+ seqLong = env.getProperty("mso.workflow.topics.retrySequence", String[].class);
+ }
+ return seqLong;
+ default:
+ String[] seq = {"1"};
+ return seq;
}
- return seq;
+
}
+
}
diff --git a/common/src/main/java/org/onap/so/utils/RetrySequenceLevel.java b/common/src/main/java/org/onap/so/utils/RetrySequenceLevel.java
new file mode 100644
index 0000000000..02964693d2
--- /dev/null
+++ b/common/src/main/java/org/onap/so/utils/RetrySequenceLevel.java
@@ -0,0 +1,6 @@
+package org.onap.so.utils;
+
+public enum RetrySequenceLevel {
+ SHORT, MEDIUM, LONG
+
+}
diff --git a/common/src/test/java/org/onap/so/utils/ExternalTaskServiceUtilsTest.java b/common/src/test/java/org/onap/so/utils/ExternalTaskServiceUtilsTest.java
new file mode 100644
index 0000000000..c9fc27ebe0
--- /dev/null
+++ b/common/src/test/java/org/onap/so/utils/ExternalTaskServiceUtilsTest.java
@@ -0,0 +1,62 @@
+package org.onap.so.utils;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import org.camunda.bpm.client.ExternalTaskClient;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.springframework.core.env.Environment;
+
+@RunWith(MockitoJUnitRunner.class)
+public class ExternalTaskServiceUtilsTest {
+
+ @Spy
+ @InjectMocks
+ private ExternalTaskServiceUtils utils = new ExternalTaskServiceUtils();
+
+ @Mock
+ private ExternalTaskClient actualClient1;
+
+ @Mock
+ private ExternalTaskClient actualClient2;
+
+ @Mock
+ private ExternalTaskClient actualClient3;
+
+ @Mock
+ private ExternalTaskClient actualClient4;
+
+ @Test
+ public void testCheckActiveClients() throws Exception {
+ Set<ExternalTaskClient> taskClients = ConcurrentHashMap.newKeySet();
+ taskClients.add(actualClient1);
+ taskClients.add(actualClient2);
+ taskClients.add(actualClient3);
+ taskClients.add(actualClient4);
+ when(utils.getClients()).thenReturn(taskClients);
+ when(actualClient1.isActive()).thenReturn(false);
+ when(actualClient2.isActive()).thenReturn(true);
+ when(actualClient3.isActive()).thenReturn(false);
+ when(actualClient4.isActive()).thenReturn(true);
+ utils.checkAllClientsActive();
+ verify(actualClient1, times(1)).isActive();
+ verify(actualClient2, times(1)).isActive();
+ verify(actualClient3, times(1)).isActive();
+ verify(actualClient4, times(1)).isActive();
+ verify(actualClient1, times(1)).start();
+ verify(actualClient3, times(1)).start();
+ }
+
+}
diff --git a/common/src/test/java/org/onap/so/utils/ExternalTaskUtilsTest.java b/common/src/test/java/org/onap/so/utils/ExternalTaskUtilsTest.java
index f918781b39..e27caa6458 100644
--- a/common/src/test/java/org/onap/so/utils/ExternalTaskUtilsTest.java
+++ b/common/src/test/java/org/onap/so/utils/ExternalTaskUtilsTest.java
@@ -16,7 +16,7 @@ public class ExternalTaskUtilsTest {
private Environment mockenv;
@InjectMocks
- private ExternalTaskUtils externalTaskUtilsAnony = new ExternalTaskUtils() {
+ private ExternalTaskUtils externalTaskUtilsAnony = new ExternalTaskUtils(RetrySequenceLevel.LONG) {
};