X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=catalog-be%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenecomp%2Fsdc%2Fbe%2Fcomponents%2Fimpl%2FOutputsBusinessLogic.java;h=c38b3d8f9927b3d052558fed09835f7d926d1f89;hb=da6b4a245482f4eebade8f487fc9d63f456469ab;hp=1f1f776245541edf043fa3e3fcaf86241eec2680;hpb=c469756a1092194adedd590d35f0f1f8feac3a36;p=sdc.git diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/OutputsBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/OutputsBusinessLogic.java index 1f1f776245..c38b3d8f99 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/OutputsBusinessLogic.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/OutputsBusinessLogic.java @@ -136,7 +136,8 @@ public class OutputsBusinessLogic extends BaseBusinessLogic { component = getAndValidateComponentForCreate(userId, componentId, componentType, shouldLockComp); ImmutablePair status = validateOutputName(component, componentInstOutputsMapUi); if (status.getLeft() != StorageOperationStatus.OK) { - throw new ByResponseFormatComponentException(componentsUtils.getResponseFormat(ActionStatus.OUTPUT_NAME_ALREADY_EXIST, status.getRight())); + throw new ByResponseFormatComponentException( + componentsUtils.getResponseFormat(ActionStatus.OUTPUT_NAME_ALREADY_EXIST, status.getRight())); } result = attributeDeclarationOrchestrator.declareAttributesToOutputs(component, componentInstOutputsMapUi) .left().bind(outputsToCreate -> prepareOutputsForCreation(userId, componentId, outputsToCreate)) @@ -164,7 +165,7 @@ public class OutputsBusinessLogic extends BaseBusinessLogic { } private ImmutablePair validateOutputName(final Component component, - final ComponentInstOutputsMap componentInstOutputsMapUi) { + final ComponentInstOutputsMap componentInstOutputsMapUi) { final Map> outputDeclaredProperties = new HashMap<>(); if (MapUtils.isNotEmpty(componentInstOutputsMapUi.getComponentInstanceOutputsMap())) { outputDeclaredProperties.putAll(componentInstOutputsMapUi.getComponentInstanceOutputsMap()); @@ -300,7 +301,8 @@ public class OutputsBusinessLogic extends BaseBusinessLogic { final var optionalComponentInstance = component.getComponentInstanceByName(getAttribute.get(0)); if (optionalComponentInstance.isPresent()) { final var createdOutputs - = createOutputs(component.getUniqueId(), userId, getAttribute.get(1), optionalComponentInstance.get()); + = createOutputs(component.getUniqueId(), userId, getAttribute.get(1), optionalComponentInstance.get(), + outputDefinitionValue.getName()); if (createdOutputs.isRight()) { return Either.right((createdOutputs.right().value())); } @@ -318,9 +320,9 @@ public class OutputsBusinessLogic extends BaseBusinessLogic { private Either, ResponseFormat> createOutputs(final String componentUniqueId, final String userId, final String attributeName, - final ComponentInstance componentInstance) { + final ComponentInstance componentInstance, + final String outputName) { // From Instance - final List result = new ArrayList<>(); final var componentInstanceAttributes = componentInstance.getAttributes(); if (CollectionUtils.isNotEmpty(componentInstanceAttributes)) { final var componentInstanceAttributeOptional = componentInstanceAttributes.stream() @@ -328,13 +330,9 @@ public class OutputsBusinessLogic extends BaseBusinessLogic { if (componentInstanceAttributeOptional.isPresent()) { final var componentInstOutputsMap = new ComponentInstOutputsMap(); componentInstOutputsMap.setComponentInstanceAttributes(Collections.singletonMap(componentInstance.getUniqueId(), - Collections.singletonList(new ComponentInstanceAttribOutput(componentInstanceAttributeOptional.get())))); - final var createdOutputs = createMultipleOutputs(userId, componentUniqueId, ComponentTypeEnum.SERVICE, + Collections.singletonList(new ComponentInstanceAttribOutput(componentInstanceAttributeOptional.get(), outputName)))); + return createMultipleOutputs(userId, componentUniqueId, ComponentTypeEnum.SERVICE, componentInstOutputsMap, true, false); - if (createdOutputs.isRight()) { - return Either.right((createdOutputs.right().value())); - } - result.addAll(createdOutputs.left().value()); } } final List componentInstanceProperties = componentInstance.getProperties(); @@ -346,11 +344,11 @@ public class OutputsBusinessLogic extends BaseBusinessLogic { final ComponentInstOutputsMap componentInstOutputsMap = new ComponentInstOutputsMap(); ComponentInstanceAttribOutput attribute = getComponentInstanceAttribOutput(propertyDefinition); componentInstOutputsMap.setComponentInstanceAttributes(Collections.singletonMap(componentInstance.getUniqueId(), - Collections.singletonList(new ComponentInstanceAttribOutput(attribute)))); + Collections.singletonList(new ComponentInstanceAttribOutput(attribute, outputName)))); return createMultipleOutputs(userId, componentUniqueId, ComponentTypeEnum.SERVICE, componentInstOutputsMap, true, false); } } - return Either.left(result); + return Either.left(new ArrayList<>()); } @NotNull