From af6601d0d61abafec80f1835959d1f67fe0d46b7 Mon Sep 17 00:00:00 2001 From: MichaelMorris Date: Thu, 23 Dec 2021 09:48:55 +0000 Subject: [PATCH] Fix inputs created incorrectly. Signed-off-by: MichaelMorris Issue-ID: SDC-3822 Change-Id: I6ea226fe3f0e18c41700b79f6fa96907a1d81709 --- .../components/csar/YamlTemplateParsingHandler.java | 6 ++++-- .../sdc/be/components/impl/BaseBusinessLogic.java | 9 ++++++++- .../test/resources/Files/ETSI/ETSI-VNF-SAMPLE.csar | Bin 2229 -> 2765 bytes 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandler.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandler.java index 5120834b1e..a991f7e0d4 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandler.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/csar/YamlTemplateParsingHandler.java @@ -36,6 +36,7 @@ import static org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum.DESCRIPTION import static org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum.FILE; import static org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum.GET_INPUT; import static org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum.GROUPS; +import static org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum.INPUTS; import static org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum.IS_PASSWORD; import static org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum.MEMBERS; import static org.openecomp.sdc.be.utils.TypeUtils.ToscaTagNamesEnum.NODE; @@ -137,8 +138,9 @@ public class YamlTemplateParsingHandler { log.debug("#parseResourceInfoFromYAML - Going to parse yaml {} ", fileName); Map mappedToscaTemplate = getMappedToscaTemplate(fileName, resourceYml, nodeTypesInfo, nodeName); ParsedToscaYamlInfo parsedToscaYamlInfo = new ParsedToscaYamlInfo(); - findToscaElement(mappedToscaTemplate, TOPOLOGY_TEMPLATE, ToscaElementTypeEnum.ALL).left().on(err -> failIfNotTopologyTemplate(fileName)); - parsedToscaYamlInfo.setInputs(getInputs(mappedToscaTemplate)); + Map mappedTopologyTemplate = (Map) findToscaElement(mappedToscaTemplate, TOPOLOGY_TEMPLATE, ToscaElementTypeEnum.ALL).left().on(err -> failIfNotTopologyTemplate(fileName)); + Map mappedTopologyTemplateInputs = mappedTopologyTemplate.entrySet().stream().filter(entry -> entry.getKey().equals(INPUTS.getElementName())).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + parsedToscaYamlInfo.setInputs(getInputs(mappedTopologyTemplateInputs)); parsedToscaYamlInfo.setInstances(getInstances(fileName, mappedToscaTemplate, createdNodesToscaResourceNames)); parsedToscaYamlInfo.setGroups(getGroups(fileName, mappedToscaTemplate, component.getModel())); if (component instanceof Resource) { diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/BaseBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/BaseBusinessLogic.java index db03c72778..8a003623c4 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/BaseBusinessLogic.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/BaseBusinessLogic.java @@ -22,6 +22,7 @@ package org.openecomp.sdc.be.components.impl; import static org.openecomp.sdc.common.log.enums.EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR; +import static org.openecomp.sdc.common.log.enums.EcompLoggerErrorCode.DATA_ERROR; import com.google.gson.JsonElement; import fj.data.Either; @@ -106,6 +107,7 @@ public abstract class BaseBusinessLogic { private static final String PROPERTY_IN_SCHEMA_DEFINITION_INSIDE_PROPERTY_OF_TYPE_DOESN_T_EXIST = "Property in Schema Definition inside property of type {} doesn't exist"; private static final String ADD_PROPERTY_VALUE = "Add property value"; private static final String THE_VALUE_OF_PROPERTY_FROM_TYPE_IS_INVALID = "The value {} of property from type {} is invalid"; + private static final String INVALID_PROPERTY_TYPE = "The property type {} is invalid"; protected IGroupTypeOperation groupTypeOperation; protected InterfaceOperation interfaceOperation; protected IElementOperation elementDao; @@ -527,7 +529,8 @@ public abstract class BaseBusinessLogic { if (isValid.isRight()) { Boolean res = isValid.right().value(); if (Boolean.FALSE.equals(res)) { - throw new StorageException(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(JanusGraphOperationStatus.ILLEGAL_ARGUMENT)); + log.error(DATA_ERROR, this.getClass().getName(), "Dropping invalid value for property: {} , value: ", property, value); + return ""; } } else { Object object = isValid.left().value(); @@ -574,6 +577,10 @@ public abstract class BaseBusinessLogic { if (isValidate) { if (type == null) { DataTypeDefinition dataTypeDefinition = dataTypes.get(propertyType); + if (dataTypeDefinition == null) { + log.debug(INVALID_PROPERTY_TYPE, propertyType); + return Either.right(false); + } ImmutablePair validateResult = dataTypeValidatorConverter .validateAndUpdate(value, dataTypeDefinition, dataTypes); if (Boolean.FALSE.equals(validateResult.right)) { diff --git a/integration-tests/src/test/resources/Files/ETSI/ETSI-VNF-SAMPLE.csar b/integration-tests/src/test/resources/Files/ETSI/ETSI-VNF-SAMPLE.csar index 10c7169ab98629e165ef916d9acb875a0c0eb1de..20ea03ba1e37ca78b81bd47301f49ac5f4d4be4b 100644 GIT binary patch delta 979 zcmdlgcvf`7Ge!w!1_lm>+RmxLviYaCa{zgjJPZtC3=EV1F^bo(4LjR+*+5`l_$%ul z$2uL3uH8QMM%UB?#|^huKkYr<+nUUNoAcFeXQOcUxCmXrpoBu*2RzrD-O_QCxnt=>)7Wj)sISubO2DT^>{OjoSR?LWU;u5RnC<|8sS+_!nxHnu;Aia(@MZ@YTe zBVmruz7;)!2iv!<>PhPlt94zVB>KedRL#6#ck#`Ee1=OFOrD~madFm;bgvlu&F9WNFRI@W^2?C-`ObOE!mYYjv}`l< zDZ9VPPeRx7-?rw-fhOgy{F6>)a%!xa$hWTP+S{)0NBfebSWYKQ5tI#^=kGsf*RR>P zvj4=ze^0mPUU5yUZ>{2Oqfah6;Rk0{E^6qg5DZ$b`eXIO6n&9X8c}V6bGr7owr>;` zznWS6_jvuWw`*4I+;&Qk$F1E%;7pSPkJZih@r#(G|8}--YKltfe)=Xus=IRy(}d2G z6-jE7uDq(fE3F{#!E4Io87F#{tx@M&ee>z0-dSe*STv7$cbjj1t-oH>Xnx}V>D6Vs zJJ%H+llA}eXUf4F`U{fQe)|5w(_i!Azl{2AhjyLkjVs>H!&d+0+Jf(FPrrHF_$_w| zytl_=S&IedenCCu7GrhsLrf`;IMa+evX$McYd&?nZv8G?z?9wl*5rx>az)GsemJtgONeb>2Y?P%xE|fkBKxVe&slakkJ9UIzA!lMix8)z=2>&O2(#?o zuFLHZ;*Ze#WF^QO_xC1un#YphV|RiRf0vy2Ry-}lRc}t9iH@Y%N%!Kb8}gl}YVEk| z?C5f-{ugg-kR0B?4Vu9zLm zjsX2Sm2qkO~g9s9($(dYA%$&>& vlMC52C-ZP{OkT>V#FWW0`6OpF(>9jLYFxG=tZX3796