From ba6a9e6fc163854c96c5178a9b9cd306248a41e0 Mon Sep 17 00:00:00 2001 From: Mojahidul Islam Date: Tue, 9 Jul 2019 11:16:35 +0530 Subject: Incrrct intrfc type populated in tosca for S proxy Incorrect interface type is populated in tosca for Service proxy for Local interface operations Change-Id: If7933d6537a14567297e716f154c2a48f7f34797 Issue-ID: SDC-2423 Signed-off-by: Mojahidul Islam --- .../validation/InterfaceOperationValidation.java | 7 ------- .../tosca/utils/InterfacesOperationsToscaUtil.java | 21 +++++++++++++++++++-- 2 files changed, 19 insertions(+), 9 deletions(-) (limited to 'catalog-be/src/main/java') diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/validation/InterfaceOperationValidation.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/validation/InterfaceOperationValidation.java index 2e94139b2b..22757d0944 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/validation/InterfaceOperationValidation.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/validation/InterfaceOperationValidation.java @@ -66,13 +66,6 @@ public class InterfaceOperationValidation { InterfaceDefinition storedInterfaceDefinition, Map globalInterfaceTypes, boolean isUpdate) { - Either validateAllowedOperationCountOnLocalInterfaceType = - validateAllowedOperationCountOnLocalInterfaceType(inputInterfaceDefinition, storedInterfaceDefinition, - globalInterfaceTypes, isUpdate); - if (validateAllowedOperationCountOnLocalInterfaceType.isRight()) { - return validateAllowedOperationCountOnLocalInterfaceType; - } - Either validateAllowedOperationsOnGlobalInterfaceType = validateAllowedOperationsOnGlobalInterfaceType(inputInterfaceDefinition, globalInterfaceTypes); if (validateAllowedOperationsOnGlobalInterfaceType.isRight()) { diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/utils/InterfacesOperationsToscaUtil.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/utils/InterfacesOperationsToscaUtil.java index 87c4bfa2a6..0360386158 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/utils/InterfacesOperationsToscaUtil.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/utils/InterfacesOperationsToscaUtil.java @@ -45,6 +45,7 @@ import org.openecomp.sdc.be.tosca.model.ToscaProperty; public class InterfacesOperationsToscaUtil { private static final String DERIVED_FROM_STANDARD_INTERFACE = "tosca.interfaces.node.lifecycle.Standard"; + private static final String DERIVED_FROM_BASE_DEFAULT = "org.openecomp.interfaces.node.lifecycle."; private static final String OPERATIONS_KEY = "operations"; private static final String DEFAULT = "default"; @@ -53,6 +54,7 @@ public class InterfacesOperationsToscaUtil { private static final String DEFAULTP = "defaultp"; public static final String SELF = "SELF"; + private static final String LOCAL_INTERFACE_TYPE = "Local"; private InterfacesOperationsToscaUtil() { } @@ -91,7 +93,7 @@ public class InterfacesOperationsToscaUtil { Map operationsMap = (Map) interfacesAsMap.remove(OPERATIONS_KEY); interfacesAsMap.putAll(operationsMap); - toscaInterfaceTypes.put(interfaceDefinition.getType(), interfacesAsMap); + toscaInterfaceTypes.put(getInterfaceType(component, LOCAL_INTERFACE_TYPE), interfacesAsMap); } } return MapUtils.isNotEmpty(toscaInterfaceTypes) ? toscaInterfaceTypes : null; @@ -139,7 +141,12 @@ public class InterfacesOperationsToscaUtil { Map toscaInterfaceDefinitions = new HashMap<>(); for (InterfaceDefinition interfaceDefinition : interfaces.values()) { ToscaInterfaceDefinition toscaInterfaceDefinition = new ToscaInterfaceDefinition(); - final String interfaceType = interfaceDefinition.getType(); + String interfaceType; + if(componentInstance != null && LOCAL_INTERFACE_TYPE.equals(interfaceDefinition.getType())) { + interfaceType = DERIVED_FROM_BASE_DEFAULT + componentInstance.getSourceModelName(); + } else { + interfaceType = getInterfaceType(component, interfaceDefinition.getType()); + } toscaInterfaceDefinition.setType(interfaceType); final Map operations = interfaceDefinition.getOperations(); Map toscaOperations = new HashMap<>(); @@ -282,6 +289,16 @@ public class InterfacesOperationsToscaUtil { return toscaInputValue; } + private static String getInterfaceType(Component component, String interfaceType) { + if (LOCAL_INTERFACE_TYPE.equals(interfaceType)) { + return DERIVED_FROM_BASE_DEFAULT + + component.getComponentMetadataDefinition() + .getMetadataDataDefinition().getSystemName(); + } + + return interfaceType; + } + private static Map getObjectAsMap(Object obj) { ObjectMapper objectMapper = new ObjectMapper(); if (obj instanceof ToscaInterfaceDefinition) { -- cgit 1.2.3-korg