Bug fix for userspecified output name in import 81/135981/2
authorimamSidero <imam.hussain@est.tech>
Tue, 19 Sep 2023 13:50:51 +0000 (14:50 +0100)
committerMichael Morris <michael.morris@est.tech>
Wed, 20 Sep 2023 08:55:16 +0000 (08:55 +0000)
Fixed the userspecified name to be provided on importing service

Issue-ID: SDC-4630
Signed-off-by: Imam hussain <imam.hussain@est.tech>
Change-Id: I1191fb4de5566928d356d44eebedd66a51acae07

catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/OutputsBusinessLogic.java
catalog-model/src/main/java/org/openecomp/sdc/be/model/ComponentInstanceAttribOutput.java

index ecab640..603270e 100644 (file)
@@ -300,7 +300,7 @@ 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,7 +318,8 @@ public class OutputsBusinessLogic extends BaseBusinessLogic {
 
     private Either<List<OutputDefinition>, ResponseFormat> createOutputs(final String componentUniqueId, final String userId,
                                                                          final String attributeName,
-                                                                         final ComponentInstance componentInstance) {
+                                                                         final ComponentInstance componentInstance,
+                                                                         final String outputName) {
         // From Instance
         final var componentInstanceAttributes = componentInstance.getAttributes();
         if (CollectionUtils.isNotEmpty(componentInstanceAttributes)) {
@@ -327,7 +328,7 @@ 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()))));
+                    Collections.singletonList(new ComponentInstanceAttribOutput(componentInstanceAttributeOptional.get(),outputName))));
                 return createMultipleOutputs(userId, componentUniqueId, ComponentTypeEnum.SERVICE,
                     componentInstOutputsMap, true, false);
             }
@@ -341,7 +342,7 @@ 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);
             }
         }
index 42ff192..c59a918 100644 (file)
@@ -37,6 +37,10 @@ public class ComponentInstanceAttribOutput extends ComponentInstanceAttribute {
     public ComponentInstanceAttribOutput(ComponentInstanceAttribute p) {
         super(p);
     }
+    public ComponentInstanceAttribOutput(ComponentInstanceAttribute p,String outputName) {
+        super(p);
+        this.outputName = outputName;
+    }
 
     public String[] getParsedAttribNames() {
         String[] tokens = null;