NPE when deleting or activate PnP PNF 84/119984/1
authorJoey Sullivan <joey.sullivan@amdocs.com>
Mon, 11 Jan 2021 16:57:18 +0000 (11:57 -0500)
committerJoey Sullivan <joey.sullivan@amdocs.com>
Mon, 29 Mar 2021 12:55:06 +0000 (08:55 -0400)
The ControllerExecutionBB throws an NPE when deleting or activateing PnP  PNF

Issue-ID: SO-3463
Change-Id: I82d9f4556d7a889261ad9c508f3aa137b5692db8
Signed-off-by: Joey Sullivan <joey.sullivan@amdocs.com>
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupMapperLayer.java
bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/PnfExpected.json
bpmn/MSOCommonBPMN/src/test/resources/__files/ExecuteBuildingBlock/aaiPnfInput.json

index 2bb383e..90e23e1 100644 (file)
@@ -96,6 +96,7 @@ import java.util.Optional;
 
 @Component("BBInputSetupMapperLayer")
 public class BBInputSetupMapperLayer {
+
     private static final String USER_PARAM_NAME_KEY = "name";
     private static final String USER_PARAM_VALUE_KEY = "value";
 
@@ -103,6 +104,20 @@ public class BBInputSetupMapperLayer {
 
     private ModelMapper modelMapper = new ModelMapper();
 
+    public BBInputSetupMapperLayer() {
+        initPnfTypeMaps();
+    }
+
+    private void initPnfTypeMaps() {
+        modelMapper.typeMap(org.onap.aai.domain.yang.Pnf.class, Pnf.class)
+                .addMappings(mapper -> mapper.<String>map(src -> src.getModelCustomizationId(),
+                        (dest, v) -> dest.getModelInfoPnf().setModelCustomizationUuid(v)))
+                .addMappings(mapper -> mapper.<String>map(src -> src.getModelInvariantId(),
+                        (dest, v) -> dest.getModelInfoPnf().setModelInvariantUuid(v)))
+                .addMappings(mapper -> mapper.<String>map(src -> src.getModelVersionId(),
+                        (dest, v) -> dest.getModelInfoPnf().setModelUuid(v)));
+    }
+
     public Customer mapAAICustomer(org.onap.aai.domain.yang.Customer customerAAI) {
         return modelMapper.map(customerAAI, Customer.class);
     }
@@ -215,10 +230,11 @@ public class BBInputSetupMapperLayer {
     protected ModelInfoInstanceGroup mapCatalogInstanceGroupToInstanceGroup(
             CollectionResourceCustomization collectionCust, InstanceGroup instanceGroup) {
         ModelInfoInstanceGroup modelInfoInstanceGroup = modelMapper.map(instanceGroup, ModelInfoInstanceGroup.class);
-        if (instanceGroup.getType() != null && instanceGroup.getType().equals(InstanceGroupType.L3_NETWORK))
+        if (instanceGroup.getType() != null && instanceGroup.getType().equals(InstanceGroupType.L3_NETWORK)) {
             modelInfoInstanceGroup.setType(ModelInfoInstanceGroup.TYPE_L3_NETWORK);
-        else
+        } else {
             modelInfoInstanceGroup.setType(ModelInfoInstanceGroup.TYPE_VNFC);
+        }
         if (collectionCust != null) {
             List<CollectionResourceInstanceGroupCustomization> instanceGroupCustList =
                     instanceGroup.getCollectionInstanceGroupCustomizations();
@@ -434,10 +450,12 @@ public class BBInputSetupMapperLayer {
     protected CloudRegion mapCloudRegion(CloudConfiguration cloudConfiguration,
             org.onap.aai.domain.yang.CloudRegion aaiCloudRegion) {
         CloudRegion cloudRegion = new CloudRegion();
-        if (cloudConfiguration != null)
+        if (cloudConfiguration != null) {
             cloudRegion = modelMapper.map(cloudConfiguration, CloudRegion.class);
-        if (aaiCloudRegion != null)
+        }
+        if (aaiCloudRegion != null) {
             modelMapper.map(aaiCloudRegion, cloudRegion);
+        }
         return cloudRegion;
     }
 
index 460f72a..e47f4ba 100644 (file)
@@ -4,5 +4,9 @@
        "nf-role":"gNB",
        "orchestration-status":"INVENTORIED",
        "cloud-region":null,
-       "model-info-pnf":null
+       "model-info-pnf": {
+               "model-customization-uuid": "model-customization-uuid",
+               "model-invariant-uuid": "model-invariant-uuid",
+               "model-uuid": "model-uuid"
+       }
 }
\ No newline at end of file
index da0039c..1b51355 100644 (file)
@@ -26,9 +26,9 @@
        "nfRole":"gNB",
        "adminStatus":null,
        "operationalStatus":null,
-       "modelCustomizationId":null,
-       "modelInvariantId":null,
-       "modelVersionId":null,
+       "modelCustomizationId":"model-customization-uuid",
+       "modelInvariantId":"model-invariant-uuid",
+       "modelVersionId":"model-uuid",
        "pnfIpv4Address":null,
        "pnfIpv6Address":null,
        "softwareVersions":null,