diff options
Diffstat (limited to 'bpmn/so-bpmn-tasks/src/main/java')
-rw-r--r-- | bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java index 58bf17f08b..836648ca9c 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowAction.java @@ -62,6 +62,7 @@ import org.onap.so.client.aai.entities.uri.AAIResourceUri; import org.onap.so.client.aai.entities.uri.AAIUriFactory; import org.onap.so.client.exception.ExceptionBuilder; import org.onap.so.client.orchestration.AAIConfigurationResources; +import org.onap.so.client.orchestration.AAIEntityNotFoundException; import org.onap.so.db.catalog.beans.CollectionNetworkResourceCustomization; import org.onap.so.db.catalog.beans.CollectionResourceCustomization; import org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization; @@ -184,7 +185,14 @@ public class WorkflowAction { execution.setVariable(BBConstants.G_ISTOPLEVELFLOW, true); ServiceInstancesRequest sIRequest = mapper.readValue(bpmnRequest, ServiceInstancesRequest.class); RequestDetails requestDetails = sIRequest.getRequestDetails(); - execution.setVariable("suppressRollback", isSuppressRollback(requestDetails.getRequestInfo())); + boolean suppressRollback = false; + try { + suppressRollback = requestDetails.getRequestInfo().getSuppressRollback(); + } catch (Exception ex) { + logger.error("Exception in getSuppressRollback", ex); + suppressRollback = false; + } + execution.setVariable("suppressRollback", suppressRollback); boolean isResume = false; if (isUriResume(uri)) { isResume = true; @@ -403,7 +411,7 @@ public class WorkflowAction { execution.setVariable("isRollbackComplete", false); } catch (Exception ex) { - buildAndThrowException(execution, "Exception in create execution list. " + ex.getMessage(), ex); + buildAndThrowException(execution, "Exception in execution list. ", ex); } } @@ -479,7 +487,8 @@ public class WorkflowAction { return false; } - protected List<ExecuteBuildingBlock> getConfigBuildingBlocks(ConfigBuildingBlocksDataObject dataObj) { + protected List<ExecuteBuildingBlock> getConfigBuildingBlocks(ConfigBuildingBlocksDataObject dataObj) + throws Exception { List<ExecuteBuildingBlock> flowsToExecuteConfigs = new ArrayList<>(); List<OrchestrationFlow> result = dataObj.getOrchFlows().stream() @@ -488,8 +497,17 @@ public class WorkflowAction { String vfModuleId = dataObj.getWorkflowResourceIds().getVfModuleId(); String vnfCustomizationUUID = bbInputSetupUtils.getAAIGenericVnf(vnfId).getModelCustomizationId(); - String vfModuleCustomizationUUID = - bbInputSetupUtils.getAAIVfModule(vnfId, vfModuleId).getModelCustomizationId(); + String vfModuleCustomizationUUID = ""; + org.onap.aai.domain.yang.VfModule aaiVfModule = bbInputSetupUtils.getAAIVfModule(vnfId, vfModuleId); + + if (aaiVfModule == null) { + logger.error("No matching VfModule is found in Generic-Vnf in AAI for vnfId: {} and vfModuleId : {}", vnfId, + vfModuleId); + throw new AAIEntityNotFoundException("No matching VfModule is found in Generic-Vnf in AAI for vnfId: " + + vnfId + " and vfModuleId : " + vfModuleId); + } else { + vfModuleCustomizationUUID = aaiVfModule.getModelCustomizationId(); + } List<org.onap.aai.domain.yang.Vnfc> vnfcs = getRelatedResourcesInVfModule(vnfId, vfModuleId, org.onap.aai.domain.yang.Vnfc.class, AAIObjectType.VNFC); @@ -1268,12 +1286,15 @@ public class WorkflowAction { } } } + if (bbInputSetupUtils.existsAAIVfModuleGloballyByName(instanceName)) { + throw new DuplicateNameException("vfModule", instanceName); + } } else if ("VOLUMEGROUP".equalsIgnoreCase(type.toString())) { GenericVnf vnf = bbInputSetupUtils.getAAIGenericVnf(workflowResourceIds.getVnfId()); Optional<VolumeGroup> volumeGroup = bbInputSetupUtils .getRelatedVolumeGroupByNameFromVnf(workflowResourceIds.getVnfId(), instanceName); if (volumeGroup.isPresent()) { - if (vnf.getModelCustomizationId() + if (volumeGroup.get().getVfModuleModelCustomizationId() .equalsIgnoreCase(reqDetails.getModelInfo().getModelCustomizationId())) { return volumeGroup.get().getVolumeGroupId(); } else { @@ -1286,7 +1307,7 @@ public class WorkflowAction { bbInputSetupUtils.getRelatedVolumeGroupByNameFromVfModule(vnf.getVnfId(), vfModule.getVfModuleId(), instanceName); if (volumeGroupFromVfModule.isPresent()) { - if (vnf.getModelCustomizationId() + if (volumeGroupFromVfModule.get().getVfModuleModelCustomizationId() .equalsIgnoreCase(reqDetails.getModelInfo().getModelCustomizationId())) { return volumeGroupFromVfModule.get().getVolumeGroupId(); } else { @@ -1297,6 +1318,9 @@ public class WorkflowAction { } } } + if (bbInputSetupUtils.existsAAIVolumeGroupGloballyByName(instanceName)) { + throw new DuplicateNameException("volumeGroup", instanceName); + } } else if ("CONFIGURATION".equalsIgnoreCase(type.toString())) { Optional<org.onap.aai.domain.yang.Configuration> configuration = bbInputSetupUtils.getRelatedConfigurationByNameFromServiceInstance( @@ -1311,6 +1335,9 @@ public class WorkflowAction { configuration.get().getConfigurationId())); } } + if (bbInputSetupUtils.existsAAIConfigurationGloballyByName(instanceName)) { + throw new DuplicateNameException("configuration", instanceName); + } } return generatedResourceId; } catch (DuplicateNameException dne) { |