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<String, String> bodyParams = new HashMap<>(); // request body params
+
@Override
protected String doWrapExtAllocateReqBody(NssmfAdapterNBIRequest nbiRequest) throws ApplicationException {
Map<String, Object> request = new HashMap<>();
@Override
protected void doAfterRequest() throws ApplicationException {
if (ActionType.ALLOCATE.equals(actionType) || ActionType.DEALLOCATE.equals(actionType)) {
- @SuppressWarnings("unchecked")
- Map<String, String> response = unMarshal(restResponse.getResponseContent(), Map.class);
-
- String nssiId = response.get("nSSId");
+ String nssiId;
+ if (ActionType.ALLOCATE.equals(actionType)) {
+ @SuppressWarnings("unchecked")
+ Map<String, String> 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();
@Override
protected String doWrapDeAllocateReqBody(DeAllocateNssi deAllocateNssi) throws ApplicationException {
+ this.bodyParams.clear();
+ this.bodyParams.put("nssiId", deAllocateNssi.getNssiId());
+
Map<String, String> request = new HashMap<>();
request.put("nSSId", deAllocateNssi.getNssiId());
return marshal(request);
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;
@Data
public class AnSliceProfile {
- private List<String> sNSSAIList;
-
+ @JsonProperty(value = "sliceProfileId", required = true)
private String sliceProfileId;
- private List<Integer> coverageAreaTAList;
-
- @JsonInclude(JsonInclude.Include.NON_DEFAULT)
- private int latency;
+ @JsonProperty(value = "sNSSAIList", required = true)
+ private List<String> sNSSAIList;
+ @JsonProperty(value = "pLMNIdList", required = true)
private List<String> 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<Integer> coverageAreaTAList;
+
+ @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+ @JsonProperty(value = "latency")
+ private int latency;
+
+ @JsonProperty(value = "uEMobilityLevel")
private UeMobilityLevel uEMobilityLevel;
+ @JsonProperty(value = "resourceSharingLevel")
private ResourceSharingLevel resourceSharingLevel;
}