From dc58ff4151e8a10364ede31ba25f3a0e49344c20 Mon Sep 17 00:00:00 2001 From: ojasdubey Date: Thu, 27 Jun 2019 12:33:35 +0530 Subject: Fix artifact implementation proxy node type Removing the operation implementation from proxy node type in parent service tosca as it will be present in the proxy node template Change-Id: Id414d6cdd5f5f4ccb1d7c235fbc8b7cdf1ec4147 Issue-ID: SDC-2395 Signed-off-by: ojasdubey --- .../sdc/be/tosca/utils/ToscaExportUtils.java | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'catalog-be/src/main/java') diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/utils/ToscaExportUtils.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/utils/ToscaExportUtils.java index 9cce43ccd3..85f1095dfb 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/utils/ToscaExportUtils.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/utils/ToscaExportUtils.java @@ -27,10 +27,12 @@ import java.util.stream.Collectors; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; +import org.openecomp.sdc.be.datatypes.elements.InterfaceDataDefinition; import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition; import org.openecomp.sdc.be.model.Component; import org.openecomp.sdc.be.model.DataTypeDefinition; import org.openecomp.sdc.be.model.InputDefinition; +import org.openecomp.sdc.be.model.InterfaceDefinition; import org.openecomp.sdc.be.tosca.PropertyConvertor; import org.openecomp.sdc.be.tosca.model.ToscaProperty; @@ -45,8 +47,12 @@ public class ToscaExportUtils { if (Objects.isNull(proxyComponent) || MapUtils.isEmpty(proxyComponent.getInterfaces())) { return Optional.empty(); } + Map proxyComponentInterfaces = proxyComponent.getInterfaces(); + //Unset artifact path for operation implementation for proxy node types as for operations with artifacts it is + // always available in the proxy node template + removeOperationImplementationForProxyNodeType(proxyComponentInterfaces); return Optional.ofNullable(InterfacesOperationsToscaUtil - .getInterfacesMap(proxyComponent, null, proxyComponent.getInterfaces(), dataTypes, false, false)); + .getInterfacesMap(proxyComponent, null, proxyComponentInterfaces, dataTypes, false, false)); } public static Optional> getProxyNodeTypeProperties(Component proxyComponent, @@ -68,7 +74,6 @@ public class ToscaExportUtils { return MapUtils.isNotEmpty(proxyProperties) ? Optional.of(proxyProperties) : Optional.empty(); } - public static void addInputsToProperties(Map dataTypes, List componentInputs, Map mergedProperties) { @@ -82,4 +87,15 @@ public class ToscaExportUtils { } } + private static void removeOperationImplementationForProxyNodeType(Map + proxyComponentInterfaces) { + if (MapUtils.isEmpty(proxyComponentInterfaces)) { + return; + } + proxyComponentInterfaces.values().stream() + .map(InterfaceDataDefinition::getOperations) + .filter(MapUtils::isNotEmpty) + .forEach(operations -> operations.values() + .forEach(operation -> operation.setImplementation(null))); + } } -- cgit 1.2.3-korg