update nssmf adapter beans

Issue-ID: SO-2963

Signed-off-by: zm330 <zhangminyj@chinamobile.com>
Change-Id: I36cc9c064e271cbf8de8a3e2d3a2abe50a30e2ed
diff --git a/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/rest/NssmfManager.java b/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/rest/NssmfManager.java
index 0e25729..00e5c4a 100644
--- a/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/rest/NssmfManager.java
+++ b/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/rest/NssmfManager.java
@@ -127,13 +127,6 @@
                 break;
 
             case TRANSPORT:
-                AllocateTnNssi tn = nssmiAllocate.getAllocateTnNssi();
-                assertObjectNotNull(tn);
-                assertObjectNotNull(tn.getNsiInfo());
-                assertObjectNotNull(tn.getNsiInfo().getNsiId());
-                nsiId = tn.getNsiInfo().getNsiId();
-                allocateReq = marshal(tn);
-                allocateUrl = AllocateTnNssi.URL;
                 break;
 
         }
diff --git a/common/pom.xml b/common/pom.xml
index 0855448..ff13da4 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -271,6 +271,15 @@
       </exclusions>
     </dependency>
     <dependency>
+      <groupId>org.projectlombok</groupId>
+      <artifactId>lombok</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>javax.validation</groupId>
+      <artifactId>validation-api</artifactId>
+    </dependency>
+    <dependency>
       <groupId>javax.xml.bind</groupId>
       <artifactId>jaxb-api</artifactId>
       <version>2.3.0</version>
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/AdditionalProperties.java b/common/src/main/java/org/onap/so/beans/nsmf/AdditionalProperties.java
new file mode 100644
index 0000000..64f1df2
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/AdditionalProperties.java
@@ -0,0 +1,23 @@
+package org.onap.so.beans.nsmf;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+import java.io.Serializable;
+import java.util.List;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Data
+public class AdditionalProperties implements Serializable {
+
+    private static final long serialVersionUID = -4020397418955518175L;
+
+    private SliceProfile sliceProfile;
+
+    private List<EndPoint> endPoints;
+
+    private NsiInfo nsiInfo;
+
+    private String scriptName;
+
+    private ModifyAction modifyAction;
+}
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
index 484f5b4..156f999 100644
--- a/common/src/main/java/org/onap/so/beans/nsmf/AllocateAnNssi.java
+++ b/common/src/main/java/org/onap/so/beans/nsmf/AllocateAnNssi.java
@@ -25,12 +25,11 @@
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class AllocateAnNssi {
 
+    @Deprecated
     public final static String URL = "/api/rest/provMns/v1/an/NSS" + "/SliceProfiles";
 
     private String nsstId;
 
-    private String flavorId;
-
     private String nssiId;
 
     private String nssiName;
@@ -51,14 +50,6 @@
         this.nsstId = nsstId;
     }
 
-    public String getFlavorId() {
-        return flavorId;
-    }
-
-    public void setFlavorId(String flavorId) {
-        this.flavorId = flavorId;
-    }
-
     public String getNssiId() {
         return nssiId;
     }
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
index d036733..1d8b15e 100644
--- a/common/src/main/java/org/onap/so/beans/nsmf/AllocateCnNssi.java
+++ b/common/src/main/java/org/onap/so/beans/nsmf/AllocateCnNssi.java
@@ -27,6 +27,7 @@
 public class AllocateCnNssi implements Serializable {
 
     public final static String URL = "/api/rest/provMns/v1/NSS/SliceProfiles";
+    private static final long serialVersionUID = 4909074863148869163L;
 
     private String nsstId;
 
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/AllocateNssi.java b/common/src/main/java/org/onap/so/beans/nsmf/AllocateNssi.java
new file mode 100644
index 0000000..1dc6d0f
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/AllocateNssi.java
@@ -0,0 +1,4 @@
+package org.onap.so.beans.nsmf;
+
+public class AllocateNssi {
+}
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
index b66fb13..f85cb0c 100644
--- a/common/src/main/java/org/onap/so/beans/nsmf/AllocateTnNssi.java
+++ b/common/src/main/java/org/onap/so/beans/nsmf/AllocateTnNssi.java
@@ -20,90 +20,17 @@
 
 package org.onap.so.beans.nsmf;
 
-import com.fasterxml.jackson.annotation.JsonInclude;
 
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class AllocateTnNssi {
+import lombok.Data;
+import java.io.Serializable;
+import java.util.List;
 
-    public final static String URL = "/api/rest/provMns/v1/tn/NSS" + "/SliceProfiles";
+@Data
+public class AllocateTnNssi implements Serializable {
 
-    private String nsstId;
+    private static final long serialVersionUID = -7069801712339914746L;
 
-    private String flavorId;
+    private List<NetworkSliceInfo> networkSliceInfos;
 
-    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;
-    }
+    private List<TransportSliceNetwork> transportSliceNetworks;
 }
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 3d60949..653f9ac 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
@@ -22,40 +22,31 @@
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
 import java.util.List;
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@Data
 public class AnSliceProfile {
 
-    @JsonProperty("5QI")
-    private String qi;
+    private List<String> sNSSAIList;
+
+    private String sliceProfileId;
 
     private List<String> coverageAreaTAList;
 
     @JsonInclude(JsonInclude.Include.NON_DEFAULT)
     private int latency;
 
-    public String getQi() {
-        return qi;
-    }
+    private List<String> pLMNIdList;
 
-    public void setQi(String qi) {
-        this.qi = qi;
-    }
+    private PerfReq perfReq;
 
-    public List<String> getCoverageAreaTAList() {
-        return coverageAreaTAList;
-    }
+    @JsonInclude(JsonInclude.Include.NON_DEFAULT)
+    private int maxNumberofUEs;
 
-    public void setCoverageAreaTAList(List<String> coverageAreaTAList) {
-        this.coverageAreaTAList = coverageAreaTAList;
-    }
+    private UeMobilityLevel uEMobilityLevel;
 
-    public int getLatency() {
-        return latency;
-    }
+    private ResourceSharingLevel resourceSharingLevel;
 
-    public void setLatency(int latency) {
-        this.latency = latency;
-    }
 }
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/ConnectionLink.java b/common/src/main/java/org/onap/so/beans/nsmf/ConnectionLink.java
new file mode 100644
index 0000000..ca0c684
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/ConnectionLink.java
@@ -0,0 +1,33 @@
+package org.onap.so.beans.nsmf;
+
+
+import java.io.Serializable;
+
+
+public class ConnectionLink implements Serializable {
+    private static final long serialVersionUID = -1834584960407180427L;
+
+    private String transportEndpointA;
+
+    private String transportEndpointB;
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public String getTransportEndpointA() {
+        return transportEndpointA;
+    }
+
+    public void setTransportEndpointA(String transportEndpointA) {
+        this.transportEndpointA = transportEndpointA;
+    }
+
+    public String getTransportEndpointB() {
+        return transportEndpointB;
+    }
+
+    public void setTransportEndpointB(String transportEndpointB) {
+        this.transportEndpointB = transportEndpointB;
+    }
+}
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
index 648fd49..1ee83c7 100644
--- a/common/src/main/java/org/onap/so/beans/nsmf/DeAllocateNssi.java
+++ b/common/src/main/java/org/onap/so/beans/nsmf/DeAllocateNssi.java
@@ -26,6 +26,7 @@
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class DeAllocateNssi {
 
+    @Deprecated
     public final static String URL = "/api/rest/provMns/v1/NSS" + "/SliceProfiles/%s";
 
     private String nsiId;
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/EndPoint.java b/common/src/main/java/org/onap/so/beans/nsmf/EndPoint.java
new file mode 100644
index 0000000..a55672f
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/EndPoint.java
@@ -0,0 +1,17 @@
+package org.onap.so.beans.nsmf;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+import java.io.Serializable;
+import java.util.Map;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Data
+public class EndPoint implements Serializable {
+
+    private static final long serialVersionUID = 2479795890807020491L;
+
+    private String nodeId;
+
+    private Map<String, Object> additionalInfo;
+}
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
index d720399..f8ff5be 100644
--- a/common/src/main/java/org/onap/so/beans/nsmf/EsrInfo.java
+++ b/common/src/main/java/org/onap/so/beans/nsmf/EsrInfo.java
@@ -26,6 +26,7 @@
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class EsrInfo implements Serializable {
 
+    private static final long serialVersionUID = -7696600990607396263L;
     private String vendor;
 
     private NetworkType networkType;
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/ModifyAction.java b/common/src/main/java/org/onap/so/beans/nsmf/ModifyAction.java
new file mode 100644
index 0000000..8206b52
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/ModifyAction.java
@@ -0,0 +1,5 @@
+package org.onap.so.beans.nsmf;
+
+public enum ModifyAction {
+    allocate, deallocate
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NetworkSliceInfo.java b/common/src/main/java/org/onap/so/beans/nsmf/NetworkSliceInfo.java
new file mode 100644
index 0000000..67701a1
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NetworkSliceInfo.java
@@ -0,0 +1,16 @@
+package org.onap.so.beans.nsmf;
+
+
+import lombok.Data;
+import java.io.Serializable;
+
+@Data
+public class NetworkSliceInfo implements Serializable {
+    private static final long serialVersionUID = 4401921718259398587L;
+
+    private String snssai;
+
+    private String customer;
+
+    private String serviceType;
+}
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
index 0ff554d..d1679c6 100644
--- a/common/src/main/java/org/onap/so/beans/nsmf/NsiInfo.java
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NsiInfo.java
@@ -37,11 +37,11 @@
         this.nsiName = nsiName;
     }
 
-    public void setNsiId(String nsiId) {
-        this.nsiId = nsiId;
-    }
-
     public String getNsiId() {
         return nsiId;
     }
+
+    public void setNsiId(String nsiId) {
+        this.nsiId = nsiId;
+    }
 }
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
index f72a74a..9a25d6f 100644
--- a/common/src/main/java/org/onap/so/beans/nsmf/NssiAllocateRequest.java
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NssiAllocateRequest.java
@@ -21,10 +21,15 @@
 package org.onap.so.beans.nsmf;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
-public class NssiAllocateRequest {
+public class NssiAllocateRequest implements Serializable {
 
+    private static final long serialVersionUID = -454145891489457960L;
+
+    @NotNull
     private EsrInfo esrInfo;
 
     private AllocateCnNssi allocateCnNssi;
@@ -33,6 +38,8 @@
 
     private AllocateAnNssi allocateAnNssi;
 
+    private ServiceInfo serviceInfo;
+
     public EsrInfo getEsrInfo() {
         return esrInfo;
     }
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NssmfAdapterNBIRequest.java b/common/src/main/java/org/onap/so/beans/nsmf/NssmfAdapterNBIRequest.java
new file mode 100644
index 0000000..e421df4
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NssmfAdapterNBIRequest.java
@@ -0,0 +1,32 @@
+package org.onap.so.beans.nsmf;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+import java.io.Serializable;
+
+
+@Data
+public class NssmfAdapterNBIRequest implements Serializable {
+
+    private static final long serialVersionUID = -454145891489457960L;
+
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    private EsrInfo esrInfo;
+
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    private ServiceInfo serviceInfo;
+
+    private AllocateCnNssi allocateCnNssi;
+
+    private AllocateTnNssi allocateTnNssi;
+
+    private AllocateAnNssi allocateAnNssi;
+
+    private ActDeActNssi actDeActNssi;
+
+    private DeAllocateNssi deAllocateNssi;
+
+    private String subnetCapabilityQuery;
+
+    private String responseId;
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/NssmfRequest.java b/common/src/main/java/org/onap/so/beans/nsmf/NssmfRequest.java
new file mode 100644
index 0000000..5a13933
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/NssmfRequest.java
@@ -0,0 +1,54 @@
+package org.onap.so.beans.nsmf;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+import java.io.Serializable;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Data
+public class NssmfRequest implements Serializable {
+
+    private static final long serialVersionUID = 3313218757241310655L;
+
+    private String name;
+
+    private String modelInvariantUuid;
+
+    private String modelUuid;
+
+    private String globalSubscriberId;
+
+    private String serviceInstanceId;
+
+    private String subscriptionServiceType;
+
+    private NetworkType networkType;
+
+    private Object additionalProperties;
+
+    public NssmfRequest() {}
+
+    public NssmfRequest(ServiceInfo serviceInfo, NetworkType networkType, Object additionalProperties) {
+        this.modelInvariantUuid = serviceInfo.getServiceInvariantUuid();
+        this.modelUuid = serviceInfo.getServiceUuid();
+        this.globalSubscriberId = serviceInfo.getGlobalSubscriberId();
+        this.subscriptionServiceType = serviceInfo.getSubscriptionServiceType();
+        this.networkType = networkType;
+        this.additionalProperties = additionalProperties;
+        this.serviceInstanceId = serviceInfo.getNssiId();
+        this.name = serviceInfo.getNssiName();
+    }
+
+}
+
+
+/**
+ * { "name": "eMBB-001", "modelInvariantUuid": "NSST-C-001-HDBNJ-NSSMF-01-A-ZX", "modelUuid":
+ * "NSST-C-001-HDBNJ-NSSMF-01-A-ZX-UUID", "globalSubscriberId": "5GCustomer", "subscriptionServiceType": "5G",
+ * "networkType": "AN/CN/TN", "additionalProperties": { "sliceProfile": { "snssaiList": [ "001-100001" ],
+ * "sliceProfileId": "ab9af40f13f721b5f13539d87484098", "plmnIdList": [ "460-00", "460-01" ], "perfReq": {
+ * "perfReqEmbbList ": [ { "activityFactor": 50 } ] }, "maxNumberofUEs": 200, "coverageAreaTAList": [ "1", "2", "3", "4"
+ * ], "latency": 2, "resourceSharingLevel": "non-shared" }, "endPoints": [ { "nodeId": "", "additionalInfo": { "xxx":
+ * "xxx" } }, { "nodeId": "", "additionalInfo": { "xxx": "xxx" } } ], "nsiInfo": { "nsiId":
+ * "NSI-M-001-HDBNJ-NSMF-01-A-ZX", "nsiName": "eMBB-001" }, "scriptName": "AN1" } }
+ */
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/ServiceInfo.java b/common/src/main/java/org/onap/so/beans/nsmf/ServiceInfo.java
new file mode 100644
index 0000000..f87c032
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/ServiceInfo.java
@@ -0,0 +1,31 @@
+package org.onap.so.beans.nsmf;
+
+import lombok.Data;
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class ServiceInfo implements Serializable {
+
+    private static final long serialVersionUID = 7895110339097615695L;
+
+    private String serviceInvariantUuid;
+
+    private String serviceUuid;
+
+    private String globalSubscriberId;
+
+    private String subscriptionServiceType;
+
+    private String serviceType;
+
+    private String nsiId;
+
+    private String nssiId;
+
+    private String sST;
+
+    private String nssiName;
+
+    private String pLMNIdList;
+}
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
index 6c5d9c6..cc6c9bb 100644
--- a/common/src/main/java/org/onap/so/beans/nsmf/ServiceProfile.java
+++ b/common/src/main/java/org/onap/so/beans/nsmf/ServiceProfile.java
@@ -21,7 +21,11 @@
 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;
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/SliceProfile.java b/common/src/main/java/org/onap/so/beans/nsmf/SliceProfile.java
new file mode 100644
index 0000000..6207705
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/SliceProfile.java
@@ -0,0 +1,30 @@
+package org.onap.so.beans.nsmf;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+import java.io.Serializable;
+import java.util.List;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Data
+public class SliceProfile implements Serializable {
+
+    private static final long serialVersionUID = 7924389625656716814L;
+
+    private List<String> snssaiList;
+
+    private String sliceProfileId;
+
+    private List<String> plmnIdList;
+
+    private PerfReq perfReq;
+
+    private Integer maxNumberofUEs;
+
+    private List<String> coverageAreaTAList;
+
+    private Integer latency;
+
+    private String resourceSharingLevel;
+
+}
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/TransportSliceNetwork.java b/common/src/main/java/org/onap/so/beans/nsmf/TransportSliceNetwork.java
new file mode 100644
index 0000000..bfbbbd3
--- /dev/null
+++ b/common/src/main/java/org/onap/so/beans/nsmf/TransportSliceNetwork.java
@@ -0,0 +1,12 @@
+package org.onap.so.beans.nsmf;
+
+import lombok.Data;
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class TransportSliceNetwork implements Serializable {
+    private static final long serialVersionUID = 809947462399806990L;
+
+    private List<ConnectionLink> connectionLinks;
+}