From: franciscovila Date: Mon, 24 Jan 2022 10:15:42 +0000 (+0000) Subject: Fix use of Optional in TranslatorHeatToToscaParameterConverter X-Git-Tag: 1.10.1~15 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F22%2F126722%2F1;p=sdc.git Fix use of Optional in TranslatorHeatToToscaParameterConverter Checking the Optionals are present before getting their values in the TranslatorHeatToToscaParameterConverter class Issue-ID: SDC-3833 Signed-off-by: franciscovila Change-Id: I133b47aadfa11b42736fe2b68bee4fba78847f00 --- diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/mapping/TranslatorHeatToToscaParameterConverter.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/mapping/TranslatorHeatToToscaParameterConverter.java index 9361b33e65..78f3846c76 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/mapping/TranslatorHeatToToscaParameterConverter.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/mapping/TranslatorHeatToToscaParameterConverter.java @@ -45,6 +45,7 @@ import org.openecomp.sdc.heat.datatypes.model.Parameter; import org.openecomp.sdc.tosca.datatypes.extend.ToscaAnnotationType; import org.openecomp.sdc.tosca.services.ToscaConstants; import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; +import org.openecomp.sdc.translator.services.heattotosca.FunctionTranslation; import org.openecomp.sdc.translator.services.heattotosca.FunctionTranslationFactory; import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil; import org.openecomp.sdc.translator.services.heattotosca.impl.functiontranslation.FunctionTranslator; @@ -229,11 +230,12 @@ public class TranslatorHeatToToscaParameterConverter { return new HashMap<>(); } Map.Entry functionMapEntry = (Map.Entry) ((Map) paramValue).entrySet().iterator().next(); - if (FunctionTranslationFactory.getInstance(functionMapEntry.getKey()).isPresent()) { + Optional optFunctionTranslation = FunctionTranslationFactory.getInstance(functionMapEntry.getKey()); + if (optFunctionTranslation.isPresent()) { FunctionTranslator functionTranslator = new FunctionTranslator( getFunctionTranslateTo(serviceTemplate, null, heatFileName, heatOrchestrationTemplate, context), parameterName, functionMapEntry.getValue(), null); - return FunctionTranslationFactory.getInstance(functionMapEntry.getKey()).isPresent() ? FunctionTranslationFactory.getInstance(functionMapEntry.getKey()).get().translateFunction(functionTranslator) : paramValue; + return optFunctionTranslation.get().translateFunction(functionTranslator); } } return paramValue;