diff options
author | SunilB <sb00577584@techmahindra.com> | 2019-04-15 19:52:11 +0530 |
---|---|---|
committer | SunilB <sb00577584@techmahindra.com> | 2019-04-15 19:52:11 +0530 |
commit | c5d5e14f506a9be6e93003b88f0aed42e5030ebf (patch) | |
tree | 60d31ce74dd80deb4df0e82b4fb81a1eadfb1796 /bpmn/so-bpmn-tasks | |
parent | 9c0663079469cb5a42c96ff990385c23be2f361e (diff) |
Conditional Macro Action Selection
Update orchestration_flow_reference table and changes in
WorkflowActionBBTasks to Conditionally trigger ConfigAssignVnfBB And
ConfigDeployVnfBB building block.
Change-Id: I1bdb8a77223aef6855e4e1c9aa80dd026892e6f6
Issue-ID: SO-1702
Signed-off-by: sunilb <sb00577584@techmahindra.com>
Diffstat (limited to 'bpmn/so-bpmn-tasks')
2 files changed, 69 insertions, 0 deletions
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java index 4514d24c54..f0a102dfeb 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java @@ -37,6 +37,7 @@ import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetupUtils; import org.onap.so.client.aai.AAIObjectType; import org.onap.so.client.exception.ExceptionBuilder; import org.onap.so.db.catalog.beans.CvnfcConfigurationCustomization; +import org.onap.so.db.catalog.beans.VnfResourceCustomization; import org.onap.so.db.catalog.client.CatalogDbClient; import org.onap.so.db.request.beans.InfraActiveRequests; import org.onap.so.db.request.client.RequestsDbClient; @@ -83,6 +84,25 @@ public class WorkflowActionBBTasks { execution.setVariable("MacroRollback", false); int currentSequence = (int) execution.getVariable(G_CURRENT_SEQUENCE); ExecuteBuildingBlock ebb = flowsToExecute.get(currentSequence); + + if (ebb.getBuildingBlock().getBpmnFlowName().equals("ConfigAssignVnfBB") + || ebb.getBuildingBlock().getBpmnFlowName().equals("ConfigDeployVnfBB")) { + String serviceInstanceId = ebb.getWorkflowResourceIds().getServiceInstanceId(); + String vnfCustomizationUUID = ebb.getBuildingBlock().getKey(); + + List<VnfResourceCustomization> vnfResourceCustomizations = + catalogDbClient.getVnfResourceCustomizationByModelUuid(serviceInstanceId); + if (vnfResourceCustomizations != null && vnfResourceCustomizations.size() >= 1) { + VnfResourceCustomization vrc = catalogDbClient.findVnfResourceCustomizationInList(vnfCustomizationUUID, + vnfResourceCustomizations); + boolean skipConfigVNF = vrc.isSkipPostInstConf(); + if (skipConfigVNF) { + currentSequence++; + ebb = flowsToExecute.get(currentSequence); + } + } + } + boolean homing = (boolean) execution.getVariable("homing"); boolean calledHoming = (boolean) execution.getVariable("calledHoming"); if (homing && !calledHoming) { diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java index 029562a6e9..a60927d694 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java @@ -40,10 +40,13 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.Spy; +import org.onap.aai.domain.yang.GenericVnf; import org.onap.so.bpmn.BaseTaskTest; import org.onap.so.bpmn.core.WorkflowException; import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock; import org.onap.so.bpmn.servicedecomposition.entities.ExecuteBuildingBlock; +import org.onap.so.bpmn.servicedecomposition.entities.WorkflowResourceIds; +import org.onap.so.db.catalog.beans.VnfResourceCustomization; import org.onap.so.db.request.beans.InfraActiveRequests; import org.springframework.core.env.Environment; @@ -90,7 +93,30 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest { execution.setVariable("calledHoming", false); List<ExecuteBuildingBlock> flowsToExecute = new ArrayList(); ExecuteBuildingBlock ebb = new ExecuteBuildingBlock(); + + String vnfCustomizationUUID = "1234567"; + String serviceInstanceId = "1234567"; + BuildingBlock buildingBlock = new BuildingBlock(); + buildingBlock.setBpmnFlowName("ConfigAssignVnfBB"); + buildingBlock.setKey(vnfCustomizationUUID); + ebb.setBuildingBlock(buildingBlock); + WorkflowResourceIds workflowResourceIds = new WorkflowResourceIds(); + workflowResourceIds.setServiceInstanceId(serviceInstanceId); + ebb.setWorkflowResourceIds(workflowResourceIds); flowsToExecute.add(ebb); + + List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList(); + VnfResourceCustomization vrc = new VnfResourceCustomization(); + vrc.setSkipPostInstConf(false); + vrc.setModelCustomizationUUID(vnfCustomizationUUID); + vnfResourceCustomizations.add(vrc); + GenericVnf genericVnf = new GenericVnf(); + genericVnf.setModelCustomizationId(vnfCustomizationUUID); + doReturn(vnfResourceCustomizations).when(catalogDbClient) + .getVnfResourceCustomizationByModelUuid(serviceInstanceId); + doReturn(vrc).when(catalogDbClient).findVnfResourceCustomizationInList(vnfCustomizationUUID, + vnfResourceCustomizations); + execution.setVariable("flowsToExecute", flowsToExecute); workflowActionBBTasks.selectBB(execution); boolean success = (boolean) execution.getVariable("completed"); @@ -110,7 +136,30 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest { List<ExecuteBuildingBlock> flowsToExecute = new ArrayList(); ExecuteBuildingBlock ebb = new ExecuteBuildingBlock(); ExecuteBuildingBlock ebb2 = new ExecuteBuildingBlock(); + + String vnfCustomizationUUID = "1234567"; + String serviceInstanceId = "1234567"; + BuildingBlock buildingBlock = new BuildingBlock(); + buildingBlock.setBpmnFlowName("ConfigDeployVnfBB"); + buildingBlock.setKey(vnfCustomizationUUID); + ebb.setBuildingBlock(buildingBlock); + WorkflowResourceIds workflowResourceIds = new WorkflowResourceIds(); + workflowResourceIds.setServiceInstanceId(serviceInstanceId); + ebb.setWorkflowResourceIds(workflowResourceIds); flowsToExecute.add(ebb); + + List<VnfResourceCustomization> vnfResourceCustomizations = new ArrayList(); + VnfResourceCustomization vrc = new VnfResourceCustomization(); + vrc.setSkipPostInstConf(false); + vrc.setModelCustomizationUUID(vnfCustomizationUUID); + vnfResourceCustomizations.add(vrc); + GenericVnf genericVnf = new GenericVnf(); + genericVnf.setModelCustomizationId(vnfCustomizationUUID); + doReturn(vnfResourceCustomizations).when(catalogDbClient) + .getVnfResourceCustomizationByModelUuid(serviceInstanceId); + doReturn(vrc).when(catalogDbClient).findVnfResourceCustomizationInList(vnfCustomizationUUID, + vnfResourceCustomizations); + flowsToExecute.add(ebb2); execution.setVariable("flowsToExecute", flowsToExecute); workflowActionBBTasks.selectBB(execution); |