From 58bcd9d634485bfda2435191d7d4b5cbbcc4de3e Mon Sep 17 00:00:00 2001 From: Enbo Wang Date: Fri, 4 Sep 2020 16:32:49 +0800 Subject: Update parameter processing of NSSMF adapter for External RAN NSSMF Issue-ID: SO-3202 Signed-off-by: Enbo Wang Change-Id: I65dfb46e1af981ec49a5a8c36c8fc5ea9b3bda9c --- .../impl/external/ExternalAnNssmfManager.java | 20 +++++++++++++++----- .../org/onap/so/beans/nsmf/AnSliceProfile.java | 22 ++++++++++++++++------ 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/manager/impl/external/ExternalAnNssmfManager.java b/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/manager/impl/external/ExternalAnNssmfManager.java index ef979a660f..bc7a3d0bb7 100644 --- a/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/manager/impl/external/ExternalAnNssmfManager.java +++ b/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/manager/impl/external/ExternalAnNssmfManager.java @@ -33,12 +33,15 @@ import org.onap.so.beans.nsmf.NssmfAdapterNBIRequest; import org.onap.so.db.request.beans.ResourceOperationStatus; import java.util.HashMap; import java.util.Map; +import java.util.UUID; import static org.onap.so.adapters.nssmf.util.NssmfAdapterUtil.marshal; import static org.onap.so.adapters.nssmf.util.NssmfAdapterUtil.unMarshal; public class ExternalAnNssmfManager extends ExternalNssmfManager { + private Map bodyParams = new HashMap<>(); // request body params + @Override protected String doWrapExtAllocateReqBody(NssmfAdapterNBIRequest nbiRequest) throws ApplicationException { Map request = new HashMap<>(); @@ -49,13 +52,17 @@ public class ExternalAnNssmfManager extends ExternalNssmfManager { @Override protected void doAfterRequest() throws ApplicationException { if (ActionType.ALLOCATE.equals(actionType) || ActionType.DEALLOCATE.equals(actionType)) { - @SuppressWarnings("unchecked") - Map response = unMarshal(restResponse.getResponseContent(), Map.class); - - String nssiId = response.get("nSSId"); + String nssiId; + if (ActionType.ALLOCATE.equals(actionType)) { + @SuppressWarnings("unchecked") + Map response = unMarshal(restResponse.getResponseContent(), Map.class); + nssiId = response.get("href"); + } else { + nssiId = this.bodyParams.get("nssiId"); + } NssiResponse resp = new NssiResponse(); - resp.setJobId(nssiId); + resp.setJobId(UUID.randomUUID().toString()); resp.setNssiId(nssiId); RestResponse returnRsp = new RestResponse(); @@ -82,6 +89,9 @@ public class ExternalAnNssmfManager extends ExternalNssmfManager { @Override protected String doWrapDeAllocateReqBody(DeAllocateNssi deAllocateNssi) throws ApplicationException { + this.bodyParams.clear(); + this.bodyParams.put("nssiId", deAllocateNssi.getNssiId()); + Map request = new HashMap<>(); request.put("nSSId", deAllocateNssi.getNssiId()); return marshal(request); 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 index 26c3c0012a..83675da5f0 100644 --- a/common/src/main/java/org/onap/so/beans/nsmf/AnSliceProfile.java +++ b/common/src/main/java/org/onap/so/beans/nsmf/AnSliceProfile.java @@ -21,6 +21,7 @@ package org.onap.so.beans.nsmf; import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import java.util.List; @@ -28,24 +29,33 @@ import java.util.List; @Data public class AnSliceProfile { - private List sNSSAIList; - + @JsonProperty(value = "sliceProfileId", required = true) private String sliceProfileId; - private List coverageAreaTAList; - - @JsonInclude(JsonInclude.Include.NON_DEFAULT) - private int latency; + @JsonProperty(value = "sNSSAIList", required = true) + private List sNSSAIList; + @JsonProperty(value = "pLMNIdList", required = true) private List pLMNIdList; + @JsonProperty(value = "perfReq", required = true) private AnPerfReq perfReq; @JsonInclude(JsonInclude.Include.NON_DEFAULT) + @JsonProperty(value = "maxNumberofUEs") private long maxNumberofUEs; + @JsonProperty(value = "coverageAreaTAList") + private List coverageAreaTAList; + + @JsonInclude(JsonInclude.Include.NON_DEFAULT) + @JsonProperty(value = "latency") + private int latency; + + @JsonProperty(value = "uEMobilityLevel") private UeMobilityLevel uEMobilityLevel; + @JsonProperty(value = "resourceSharingLevel") private ResourceSharingLevel resourceSharingLevel; } -- cgit 1.2.3-korg