fix npe in ControllerExecutionBB 97/113097/1
authorLukasz Muszkieta <lukasz.muszkieta@nokia.com>
Thu, 24 Sep 2020 10:26:38 +0000 (12:26 +0200)
committerLukasz Muszkieta <lukasz.muszkieta@nokia.com>
Thu, 24 Sep 2020 10:26:38 +0000 (12:26 +0200)
Issue-ID: SO-3266
Signed-off-by: Lukasz Muszkieta <lukasz.muszkieta@nokia.com>
Change-Id: Ib055c96bfd810fdf50e67d0c40fa6696850775a7

bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/servicedecomposition/tasks/BBInputSetupPnf.java

index 68161a8..54922d4 100644 (file)
@@ -34,6 +34,8 @@ final class BBInputSetupPnf {
     }
 
     static void populatePnfToServiceInstance(Pnfs pnfs, String pnfId, ServiceInstance serviceInstance) {
+        removePnfFromServiceIfExists(serviceInstance, pnfId);
+
         Pnf pnf = new Pnf();
         pnf.setPnfId(pnfId);
         pnf.setPnfName(pnfs.getInstanceName());
@@ -45,4 +47,9 @@ final class BBInputSetupPnf {
 
         serviceInstance.getPnfs().add(pnf);
     }
+
+    private static void removePnfFromServiceIfExists(ServiceInstance serviceInstance, String pnfId) {
+        serviceInstance.getPnfs().stream().filter(pnf -> pnf.getPnfId().equals(pnfId)).findFirst()
+                .ifPresent(serviceInstance.getPnfs()::remove);
+    }
 }