Templating constants added to ResourceAssignment
[ccsdk/cds.git] / ms / blueprintsprocessor / functions / resource-resolution / src / main / kotlin / org / onap / ccsdk / cds / blueprintsprocessor / functions / resource / resolution / capabilities / NamingResolutionCapability.kt
index dbac70a..bc6983b 100644 (file)
@@ -69,14 +69,18 @@ open class NamingResolutionCapability : ResourceAssignmentProcessor() {
                 log.info("\nResolving Input Key mappings: \n{}", inputKeyMapping)
 
                 // Get the values from runtime store
-                val resolvedKeyValues = resolveInputKeyMappingVariables(inputKeyMapping)
-                log.info("\nResolved Input Key mappings: \n{}", resolvedKeyValues)
-
-                resolvedKeyValues?.map { KeyIdentifier(it.key, it.value) }
-                    ?.let { resourceAssignment.keyIdentifiers.addAll(it) }
+                val resolvedInputKeyMapping = resolveInputKeyMappingVariables(
+                    inputKeyMapping,
+                    resourceAssignment.templatingConstants
+                ).toMutableMap()
+                log.info("\nResolved Input Key mappings: \n$resolvedInputKeyMapping")
+
+                resolvedInputKeyMapping.map { KeyIdentifier(it.key, it.value) }.let {
+                    resourceAssignment.keyIdentifiers.addAll(it)
+                }
 
                 // Generate the payload using already resolved value
-                val generatedPayload = generatePayload(resolvedKeyValues, groupResourceAssignments)
+                val generatedPayload = generatePayload(resolvedInputKeyMapping, groupResourceAssignments)
                 log.info("\nNaming mS Request Payload: \n{}", generatedPayload.asJsonType().toPrettyString())
 
                 resourceSourceProperties["resolved-payload"] = JacksonUtils.jsonNode(generatedPayload)
@@ -118,32 +122,32 @@ open class NamingResolutionCapability : ResourceAssignmentProcessor() {
     }
 
     override suspend fun recoverNB(runtimeException: RuntimeException, executionRequest: ResourceAssignment) {
-        raRuntimeService.getBluePrintError().addError(runtimeException.message!!)
+        addError(runtimeException.message!!)
     }
 
     /** Generates aggregated request payload for Naming mS. Parses the resourceassignments of
      * sourceCapability "naming-ms". "naming-type" should be provides as property metadata for
      * each resourceassigment of sourceCapability "naming-ms". It generates below sample payload
      * {
-    "elements": [{
-    "vf-module-name": "${vf-module-name}",
-    "naming-type": "VF-MODULE",
-    "naming-code": "dbc",
-    "vf-module-label": "adsf",
-    "policy-instance-name": "SDNC_Policy.Config_Json.xml",
-    "vnf-name": "vnf-123",
-    "vf-module-type": "base"
-    }, {
-    "vnfc-name": "${vnfc-name}",
-    "naming-type": "VNFC",
-    "naming-code": "dbc",
-    "vf-module-label": "adsf",
-    "policy-instance-name": "SDNC_Policy.Config_Json.xml",
-    "vnf-name": "vnf-123",
-    "vf-module-type": "base"
-    }
-    ]
-    } */
+     "elements": [{
+     "vf-module-name": "${vf-module-name}",
+     "naming-type": "VF-MODULE",
+     "naming-code": "dbc",
+     "vf-module-label": "adsf",
+     "policy-instance-name": "SDNC_Policy.Config_Json.xml",
+     "vnf-name": "vnf-123",
+     "vf-module-type": "base"
+     }, {
+     "vnfc-name": "${vnfc-name}",
+     "naming-type": "VNFC",
+     "naming-code": "dbc",
+     "vf-module-label": "adsf",
+     "policy-instance-name": "SDNC_Policy.Config_Json.xml",
+     "vnf-name": "vnf-123",
+     "vf-module-type": "base"
+     }
+     ]
+     } */
     private fun generatePayload(
         input: Map<String, Any>,
         groupResourceAssignments: MutableList<ResourceAssignment>
@@ -158,7 +162,8 @@ open class NamingResolutionCapability : ResourceAssignmentProcessor() {
             val moduleValue = "\${".plus(moduleName.plus("}"))
 
             val request: MutableMap<String, String> = input.mapValues {
-                    it.value.toString().removeSurrounding("\"") } as MutableMap<String, String>
+                it.value.toString().removeSurrounding("\"")
+            } as MutableMap<String, String>
             if (namingType != null) {
                 request["naming-type"] = namingType
             }