Merge "BBInputSetup, getServiceInstanceHelper, mapCollection refactoring Deleted...
authorLukasz Muszkieta <lukasz.muszkieta@nokia.com>
Mon, 6 Jul 2020 15:56:23 +0000 (15:56 +0000)
committerGerrit Code Review <gerrit@onap.org>
Mon, 6 Jul 2020 15:56:23 +0000 (15:56 +0000)
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java

index 57e8199..2921cad 100644 (file)
@@ -946,28 +946,7 @@ public class WorkflowAction {
             org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance serviceInstanceMSO =
                     bbInputSetup.getExistingServiceInstance(serviceInstanceAAI);
             resourceList.add(new Resource(WorkflowType.SERVICE, serviceInstanceMSO.getServiceInstanceId(), false));
-            if (serviceInstanceMSO.getVnfs() != null) {
-                for (org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf vnf : serviceInstanceMSO.getVnfs()) {
-                    aaiResourceIds.add(new Pair<>(WorkflowType.VNF, vnf.getVnfId()));
-                    resourceList.add(new Resource(WorkflowType.VNF, vnf.getVnfId(), false));
-                    if (vnf.getVfModules() != null) {
-                        for (VfModule vfModule : vnf.getVfModules()) {
-                            aaiResourceIds.add(new Pair<>(WorkflowType.VFMODULE, vfModule.getVfModuleId()));
-                            Resource resource = new Resource(WorkflowType.VFMODULE, vfModule.getVfModuleId(), false);
-                            resource.setBaseVfModule(vfModule.getModelInfoVfModule().getIsBaseBoolean());
-                            resourceList.add(resource);
-                        }
-                    }
-                    if (vnf.getVolumeGroups() != null) {
-                        for (org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup volumeGroup : vnf
-                                .getVolumeGroups()) {
-                            aaiResourceIds.add(new Pair<>(WorkflowType.VOLUMEGROUP, volumeGroup.getVolumeGroupId()));
-                            resourceList
-                                    .add(new Resource(WorkflowType.VOLUMEGROUP, volumeGroup.getVolumeGroupId(), false));
-                        }
-                    }
-                }
-            }
+            traverseServiceInstanceMSOVnfs(resourceList, aaiResourceIds, serviceInstanceMSO);
             if (serviceInstanceMSO.getNetworks() != null) {
                 for (org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network network : serviceInstanceMSO
                         .getNetworks()) {
@@ -1006,6 +985,38 @@ public class WorkflowAction {
         }
     }
 
+    private void traverseServiceInstanceMSOVnfs(List<Resource> resourceList,
+            List<Pair<WorkflowType, String>> aaiResourceIds,
+            org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance serviceInstanceMSO) {
+        if (serviceInstanceMSO.getVnfs() == null) {
+            return;
+        }
+        for (org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf vnf : serviceInstanceMSO.getVnfs()) {
+            aaiResourceIds.add(new Pair<>(WorkflowType.VNF, vnf.getVnfId()));
+            resourceList.add(new Resource(WorkflowType.VNF, vnf.getVnfId(), false));
+            traverseVnfModules(resourceList, aaiResourceIds, vnf);
+            if (vnf.getVolumeGroups() != null) {
+                for (org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup volumeGroup : vnf.getVolumeGroups()) {
+                    aaiResourceIds.add(new Pair<>(WorkflowType.VOLUMEGROUP, volumeGroup.getVolumeGroupId()));
+                    resourceList.add(new Resource(WorkflowType.VOLUMEGROUP, volumeGroup.getVolumeGroupId(), false));
+                }
+            }
+        }
+    }
+
+    private void traverseVnfModules(List<Resource> resourceList, List<Pair<WorkflowType, String>> aaiResourceIds,
+            org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf vnf) {
+        if (vnf.getVfModules() == null) {
+            return;
+        }
+        for (VfModule vfModule : vnf.getVfModules()) {
+            aaiResourceIds.add(new Pair<>(WorkflowType.VFMODULE, vfModule.getVfModuleId()));
+            Resource resource = new Resource(WorkflowType.VFMODULE, vfModule.getVfModuleId(), false);
+            resource.setBaseVfModule(vfModule.getModelInfoVfModule().getIsBaseBoolean());
+            resourceList.add(resource);
+        }
+    }
+
     private void traverseAAIVnf(DelegateExecution execution, List<Resource> resourceList, String serviceId,
             String vnfId, List<Pair<WorkflowType, String>> aaiResourceIds) {
         try {