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