From a80da69b9e95a6cbdbe50251c37c9dcc50650e4c Mon Sep 17 00:00:00 2001 From: JvD_Ericsson Date: Mon, 23 May 2022 08:26:40 +0100 Subject: Maintain VFC instance attribute outputs on instance version change Issue-ID: SDC-4025 Signed-off-by: JvD_Ericsson Change-Id: Ia44a6ac73d9a52042caaacf0c5f790e1e2fc73f1 --- .../java/org/openecomp/sdc/be/model/Component.java | 8 ++++++++ .../operations/ToscaOperationFacade.java | 21 +++++++++++++++++++++ 2 files changed, 29 insertions(+) (limited to 'catalog-model/src/main') diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/Component.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/Component.java index 1c0cfc4c5d..3252d79281 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/Component.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/Component.java @@ -387,10 +387,18 @@ public abstract class Component implements PropertiesOwner { return this.safeGetComponentInstanceEntity(cmptInstacneId, this.componentInstancesProperties); } + public List safeGetComponentInstanceAttributes(String cmptInstacneId) { + return this.safeGetComponentInstanceEntity(cmptInstacneId, this.componentInstancesAttributes); + } + public List safeGetComponentInstanceInput(String comptInstanceId) { return this.safeGetComponentInstanceEntity(comptInstanceId, this.componentInstancesInputs); } + public List safeGetComponentInstanceOutput(String comptInstanceId) { + return this.safeGetComponentInstanceEntity(comptInstanceId, this.componentInstancesOutputs); + } + public List safeGetComponentInstanceInterfaces(String cmptInstacneId) { return this.safeGetComponentInstanceEntity(cmptInstacneId, this.componentInstancesInterfaces); } diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ToscaOperationFacade.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ToscaOperationFacade.java index 09e02337a1..cf1b23ec88 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ToscaOperationFacade.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/ToscaOperationFacade.java @@ -1517,6 +1517,27 @@ public class ToscaOperationFacade { return Either.right(status); } + public Either, StorageOperationStatus> updateOutputsToComponent(List outputs, String componentId) { + Either getVertexEither = janusGraphDao.getVertexById(componentId, JsonParseFlagEnum.NoParse); + if (getVertexEither.isRight()) { + log.debug(COULDNT_FETCH_COMPONENT_WITH_AND_UNIQUE_ID_ERROR, componentId, getVertexEither.right().value()); + return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(getVertexEither.right().value())); + } + GraphVertex vertex = getVertexEither.left().value(); + List outputsAsDataDef = outputs.stream().map(AttributeDataDefinition::new).collect(Collectors.toList()); + StorageOperationStatus status = topologyTemplateOperation + .updateToscaDataOfToscaElement(vertex, EdgeLabelEnum.OUTPUTS, VertexTypeEnum.OUTPUTS, outputsAsDataDef, JsonPresentationFields.NAME); + if (StorageOperationStatus.OK == status) { + log.debug(COMPONENT_CREATED_SUCCESSFULLY); + List outputsResList = null; + if (!outputsAsDataDef.isEmpty()) { + outputsResList = outputsAsDataDef.stream().map(OutputDefinition::new).collect(Collectors.toList()); + } + return Either.left(outputsResList); + } + return Either.right(status); + } + // region - ComponentInstance public Either>, StorageOperationStatus> associateComponentInstancePropertiesToComponent( Map> instProperties, String componentId) { -- cgit