diff options
Diffstat (limited to 'catalog-be/src/main')
-rw-r--r-- | catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InterfaceDefinitionHandler.java | 68 |
1 files changed, 43 insertions, 25 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 5f2637c38b..af41007c95 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 @@ -29,6 +29,7 @@ import static org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum.REQUIRED; import static org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum.STATUS; import static org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum.TYPE; +import com.google.gson.Gson; import fj.data.Either; import java.util.Arrays; import java.util.Collections; @@ -64,6 +65,7 @@ import org.springframework.stereotype.Component; public class InterfaceDefinitionHandler { private static final Logger LOGGER = LoggerFactory.getLogger(InterfaceDefinitionHandler.class); + private static final String WITH_ATTRIBUTE = "with attribute '{}': '{}'"; private final InterfaceOperationBusinessLogic interfaceOperationBusinessLogic; public InterfaceDefinitionHandler(final InterfaceOperationBusinessLogic interfaceOperationBusinessLogic) { @@ -169,36 +171,52 @@ public class InterfaceDefinitionHandler { operationInput.setUniqueId(UUID.randomUUID().toString()); operationInput.setInputId(operationInput.getUniqueId()); operationInput.setName(interfaceInput.getKey()); - if (interfaceInput.getValue() instanceof Map) { - final LinkedHashMap<String, Object> inputPropertyValue = (LinkedHashMap<String, Object>) interfaceInput.getValue(); - LOGGER.info("createModuleInterface: i interfaceInput.getKey() {}, {} , {} ", interfaceInput.getKey(), inputPropertyValue.keySet(), - inputPropertyValue.values()); - if (inputPropertyValue.get(TYPE.getElementName()) != null) { - operationInput.setType(inputPropertyValue.get(TYPE.getElementName()).toString()); - } - if (inputPropertyValue.get(DESCRIPTION.getElementName()) != null) { - operationInput.setDescription(inputPropertyValue.get(DESCRIPTION.getElementName()).toString()); - } - if (inputPropertyValue.get(REQUIRED.getElementName()) != null) { - operationInput.setRequired(Boolean.getBoolean(inputPropertyValue.get(REQUIRED.getElementName()).toString())); - } - if (inputPropertyValue.get(DEFAULT.getElementName()) != null) { - operationInput.setToscaDefaultValue(inputPropertyValue.get(DEFAULT.getElementName()).toString()); - } - if (inputPropertyValue.get(STATUS.getElementName()) != null) { - operationInput.setStatus(inputPropertyValue.get(STATUS.getElementName()).toString()); - } - } else if (interfaceInput.getValue() instanceof String) { - final String value = (String) interfaceInput.getValue(); - operationInput.setDefaultValue(value); - operationInput.setToscaDefaultValue(value); - operationInput.setValue(value); - } + handleInputToscaDefinition(interfaceInput.getKey(), interfaceInput.getValue(), operationInput); inputs.add(operationInput); } return inputs; } + private void handleInputToscaDefinition(final String inputName, final Object value, final OperationInputDefinition operationInput) { + if (value instanceof Map) { + final LinkedHashMap<String, Object> inputPropertyValue = (LinkedHashMap<String, Object>) value; + LOGGER.debug("Creating interface operation input '{}'", inputName); + if (inputPropertyValue.get(TYPE.getElementName()) != null) { + final String type = inputPropertyValue.get(TYPE.getElementName()).toString(); + LOGGER.debug(WITH_ATTRIBUTE, TYPE.getElementName(), type); + operationInput.setType(type); + } + if (inputPropertyValue.get(DESCRIPTION.getElementName()) != null) { + final String description = inputPropertyValue.get(DESCRIPTION.getElementName()).toString(); + LOGGER.debug(WITH_ATTRIBUTE, DESCRIPTION.getElementName(), description); + operationInput.setDescription(description); + } + if (inputPropertyValue.get(REQUIRED.getElementName()) != null) { + final boolean required = Boolean.parseBoolean(inputPropertyValue.get(REQUIRED.getElementName()).toString()); + LOGGER.debug(WITH_ATTRIBUTE, REQUIRED.getElementName(), required); + operationInput.setRequired(required); + } + if (inputPropertyValue.get(DEFAULT.getElementName()) != null) { + final Gson gson = new Gson(); + final String json = gson.toJson(inputPropertyValue.get(DEFAULT.getElementName())); + LOGGER.debug(WITH_ATTRIBUTE, DEFAULT.getElementName(), json); + operationInput.setToscaDefaultValue(json); + } + if (inputPropertyValue.get(STATUS.getElementName()) != null) { + final String status = inputPropertyValue.get(STATUS.getElementName()).toString(); + LOGGER.debug(WITH_ATTRIBUTE, STATUS.getElementName(), status); + operationInput.setStatus(status); + } + return; + } + if (value instanceof String) { + final String stringValue = (String) value; + operationInput.setDefaultValue(stringValue); + operationInput.setToscaDefaultValue(stringValue); + operationInput.setValue(stringValue); + } + } + private Optional<ArtifactDataDefinition> handleOperationImplementation(final Map<String, Object> operationDefinitionMap) { if (!operationDefinitionMap.containsKey(IMPLEMENTATION.getElementName())) { return Optional.empty(); |