From: Steve Siani Date: Thu, 23 May 2019 04:09:46 +0000 (-0400) Subject: make templating service support JsonNode instead of any. X-Git-Tag: 0.5.0~153 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=1f69e1c3569196305c23f085cfbc03bdba14f4e0;p=ccsdk%2Fcds.git make templating service support JsonNode instead of any. Issue-ID: CCSDK-1360 Signed-off-by: Steve Siani Change-Id: I374a6a013514df9062ffdfc1ab278bd9e00776d9 --- diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/ResourceAssignmentProcessor.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/ResourceAssignmentProcessor.kt index 3482d4534..1cc44a2cb 100644 --- a/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/ResourceAssignmentProcessor.kt +++ b/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/ResourceAssignmentProcessor.kt @@ -28,7 +28,6 @@ import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException import org.onap.ccsdk.cds.controllerblueprints.core.asJsonNode import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BlueprintFunctionNode import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintVelocityTemplateService -import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceDefinition import org.slf4j.LoggerFactory @@ -68,27 +67,23 @@ abstract class ResourceAssignmentProcessor : BlueprintFunctionNode") - open fun resolveInputKeyMappingVariables(inputKeyMapping: Map): Map { - val resolvedInputKeyMapping = HashMap() + open fun resolveInputKeyMappingVariables(inputKeyMapping: Map): Map { + val resolvedInputKeyMapping = HashMap() if (MapUtils.isNotEmpty(inputKeyMapping)) { for ((key, value) in inputKeyMapping) { val resultValue = raRuntimeService.getResolutionStore(value) - val expressionValue = JacksonUtils.getValue(resultValue) - log.trace("Reference dictionary key ({}), value ({})", key, expressionValue) - resolvedInputKeyMapping[key] = expressionValue + resolvedInputKeyMapping[key] = resultValue } } return resolvedInputKeyMapping } - //TODO("Convert keyMapping = MutableMap") - open suspend fun resolveFromInputKeyMapping(valueToResolve: String, keyMapping: MutableMap): + open suspend fun resolveFromInputKeyMapping(valueToResolve: String, keyMapping: MutableMap): String { if (valueToResolve.isEmpty() || !valueToResolve.contains("$")) { return valueToResolve } - //TODO("Optimize to JSON Node directly") + //TODO("Optimize to JSON Node directly without velocity").asJsonNode().toString() return BluePrintVelocityTemplateService.generateContent(valueToResolve, keyMapping.asJsonNode().toString()) } diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockRestResourceResolutionProcessor.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockRestResourceResolutionProcessor.kt index eb2a7a7ed..be023307b 100644 --- a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockRestResourceResolutionProcessor.kt +++ b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockRestResourceResolutionProcessor.kt @@ -15,6 +15,7 @@ */ package org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.mock +import com.fasterxml.jackson.databind.JsonNode import com.fasterxml.jackson.databind.node.ArrayNode import com.fasterxml.jackson.databind.node.MissingNode import org.apache.commons.collections.MapUtils @@ -22,23 +23,27 @@ import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.Reso import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.RestResourceSource import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.processor.ResourceAssignmentProcessor import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.utils.ResourceAssignmentUtils -import org.onap.ccsdk.cds.controllerblueprints.core.* +import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException +import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintTypes +import org.onap.ccsdk.cds.controllerblueprints.core.asJsonPrimitive +import org.onap.ccsdk.cds.controllerblueprints.core.nullToEmpty import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment import org.slf4j.LoggerFactory -import java.util.HashMap +import java.util.* class MockRestResourceResolutionProcessor(private val blueprintRestLibPropertyService: - MockBluePrintRestLibPropertyService): ResourceAssignmentProcessor() { + MockBluePrintRestLibPropertyService) : ResourceAssignmentProcessor() { private val logger = LoggerFactory.getLogger(MockRestResourceResolutionProcessor::class.java) - override fun resolveInputKeyMappingVariables(inputKeyMapping: Map): Map { - val resolvedInputKeyMapping = HashMap() + override fun resolveInputKeyMappingVariables(inputKeyMapping: Map): Map { + val resolvedInputKeyMapping = HashMap() if (MapUtils.isNotEmpty(inputKeyMapping)) { - resolvedInputKeyMapping["service-instance-id"] = "10" - resolvedInputKeyMapping["vnf_name"] = "vnf1" - resolvedInputKeyMapping["vnf-id"] = "123456" + + resolvedInputKeyMapping["service-instance-id"] = "10".asJsonPrimitive() + resolvedInputKeyMapping["vnf_name"] = "vnf1".asJsonPrimitive() + resolvedInputKeyMapping["vnf-id"] = "123456".asJsonPrimitive() } return resolvedInputKeyMapping }