diff options
author | 2021-07-24 19:40:56 +0100 | |
---|---|---|
committer | 2021-08-06 15:22:51 +0000 | |
commit | 0ed125f98ae8ea9e80c855a640c328654660d081 (patch) | |
tree | 2ff63490ba093726164a1199aeef6605bb3652ff /catalog-be/src/main/java/org/openecomp/sdc/be/components/impl | |
parent | 84aa83e9203d6f890cc5f425a00ac748d47c5c8f (diff) |
Consider component model when retrieving interface types
Issue-ID: SDC-3414
Signed-off-by: davsad <david.sadlier@est.tech>
Change-Id: Ie16a2604cfdff042e32bfa4f9a3a509b5da22226
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/components/impl')
3 files changed, 15 insertions, 11 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InterfaceDefinitionHandler.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InterfaceDefinitionHandler.java index 62e6ce5182..de8f2934d5 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InterfaceDefinitionHandler.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InterfaceDefinitionHandler.java @@ -75,8 +75,9 @@ public class InterfaceDefinitionHandler { * @param interfaceDefinitionToscaMap the TOSCA interface definition structure * @return an interface definition representation */ - public InterfaceDefinition create(final Map<String, Object> interfaceDefinitionToscaMap) { + public InterfaceDefinition create(final Map<String, Object> interfaceDefinitionToscaMap, final String model) { final InterfaceDefinition interfaceDefinition = new InterfaceDefinition(); + interfaceDefinition.setModel(model); if (interfaceDefinitionToscaMap.containsKey(TYPE.getElementName())) { final Object typeObj = interfaceDefinitionToscaMap.get(TYPE.getElementName()); if (!(typeObj instanceof String)) { @@ -101,18 +102,18 @@ public class InterfaceDefinitionHandler { operationMap = handleLegacyOperations(interfaceDefinitionToscaMap); } if (!operationMap.isEmpty()) { - validateOperations(interfaceDefinition.getType(), operationMap); + validateOperations(interfaceDefinition.getType(), operationMap, model); interfaceDefinition.setOperations(operationMap); } return interfaceDefinition; } - private void validateOperations(final String interfaceType, final Map<String, OperationDataDefinition> operationMap) { + private void validateOperations(final String interfaceType, final Map<String, OperationDataDefinition> operationMap, final String model) { if (MapUtils.isEmpty(operationMap)) { return; } Either<Map<String, InterfaceDefinition>, ResponseFormat> interfaceDefinitionMapEither = interfaceOperationBusinessLogic - .getAllInterfaceLifecycleTypes(); + .getAllInterfaceLifecycleTypes(model); if (interfaceDefinitionMapEither.isRight() || MapUtils.isEmpty(interfaceDefinitionMapEither.left().value())) { throw new ByActionStatusComponentException(ActionStatus.INTERFACE_UNKNOWN, interfaceType); } diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InterfaceOperationBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InterfaceOperationBusinessLogic.java index e23818c957..d633141fdf 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InterfaceOperationBusinessLogic.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InterfaceOperationBusinessLogic.java @@ -258,7 +258,7 @@ public class InterfaceOperationBusinessLogic extends BaseBusinessLogic { } org.openecomp.sdc.be.model.Component storedComponent = componentEither.left().value(); lockComponentResult(lock, storedComponent, errorContext); - Either<Map<String, InterfaceDefinition>, ResponseFormat> interfaceLifecycleTypes = getAllInterfaceLifecycleTypes(); + Either<Map<String, InterfaceDefinition>, ResponseFormat> interfaceLifecycleTypes = getAllInterfaceLifecycleTypes(storedComponent.getModel()); if (interfaceLifecycleTypes.isRight()) { return Either.right(interfaceLifecycleTypes.right().value()); } @@ -349,9 +349,9 @@ public class InterfaceOperationBusinessLogic extends BaseBusinessLogic { } } - public Either<Map<String, InterfaceDefinition>, ResponseFormat> getAllInterfaceLifecycleTypes() { + public Either<Map<String, InterfaceDefinition>, ResponseFormat> getAllInterfaceLifecycleTypes(final String model) { Either<Map<String, InterfaceDefinition>, StorageOperationStatus> interfaceLifecycleTypes = interfaceLifecycleTypeOperation - .getAllInterfaceLifecycleTypes(); + .getAllInterfaceLifecycleTypes(model); if (interfaceLifecycleTypes.isRight()) { return Either.right(componentsUtils.getResponseFormat(ActionStatus.INTERFACE_LIFECYCLE_TYPES_NOT_FOUND)); } diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceImportManager.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceImportManager.java index a7defab60a..6efdab4a96 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceImportManager.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/ResourceImportManager.java @@ -24,7 +24,6 @@ package org.openecomp.sdc.be.components.impl; import static org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaElementOperation.createDataType; import static org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaElementOperation.createDataTypeDefinitionWithName; -import fj.data.Either; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -37,7 +36,9 @@ import java.util.Set; import java.util.function.Function; import java.util.regex.Pattern; import java.util.stream.Collectors; + import javax.servlet.ServletContext; + import org.apache.commons.codec.binary.Base64; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; @@ -97,6 +98,8 @@ import org.springframework.stereotype.Component; import org.springframework.web.context.WebApplicationContext; import org.yaml.snakeyaml.Yaml; +import fj.data.Either; + @Component("resourceImportManager") public class ResourceImportManager { @@ -351,7 +354,7 @@ public class ResourceImportManager { Map<String, Object> jsonInterfaces = toscaInterfaces.left().value(); Map<String, InterfaceDefinition> moduleInterfaces = new HashMap<>(); for (final Entry<String, Object> interfaceNameValue : jsonInterfaces.entrySet()) { - final Either<InterfaceDefinition, ResultStatusEnum> eitherInterface = createModuleInterface(interfaceNameValue.getValue()); + final Either<InterfaceDefinition, ResultStatusEnum> eitherInterface = createModuleInterface(interfaceNameValue.getValue(), resource.getModel()); if (eitherInterface.isRight()) { log.info("error when creating interface:{}, for resource:{}", interfaceNameValue.getKey(), resource.getName()); } else { @@ -365,7 +368,7 @@ public class ResourceImportManager { } } - private Either<InterfaceDefinition, ResultStatusEnum> createModuleInterface(final Object interfaceJson) { + private Either<InterfaceDefinition, ResultStatusEnum> createModuleInterface(final Object interfaceJson, final String model) { try { if (interfaceJson instanceof String) { final InterfaceDefinition interfaceDefinition = new InterfaceDefinition(); @@ -374,7 +377,7 @@ public class ResourceImportManager { } if (interfaceJson instanceof Map) { final Map<String, Object> interfaceJsonMap = (Map<String, Object>) interfaceJson; - final InterfaceDefinition interfaceDefinition = interfaceDefinitionHandler.create(interfaceJsonMap); + final InterfaceDefinition interfaceDefinition = interfaceDefinitionHandler.create(interfaceJsonMap, model); return Either.left(interfaceDefinition); } return Either.right(ResultStatusEnum.GENERAL_ERROR); |