Resource resolution should return a string 49/93249/4
authorAlexis de Talhouët <adetalhouet89@gmail.com>
Fri, 9 Aug 2019 20:24:39 +0000 (16:24 -0400)
committerAlexis de Talhouët <adetalhouet89@gmail.com>
Mon, 12 Aug 2019 12:16:09 +0000 (12:16 +0000)
When being called by SDNC, expected response format is a String, not
a Json, then within SDNC we call jsonToTCtx by passing the String as
input.
When we receive the Json instead of a string, that function throw an
exception because it expects a String.
Also, SDNC marshall directly within the SLI context the Json object,
but the path isn't the one being looked for.
Finally, resource resolution, by its definition, as per as its model,
should set the returned value as a string, not a json.

Change-Id: Iffae3128507069c2546e179c17e50fb16e43f310
Issue-ID: CCSDK-1606
Signed-off-by: Alexis de Talhouët <adetalhouet89@gmail.com>
ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionService.kt

index b9b7103..6514df2 100644 (file)
@@ -45,7 +45,7 @@ interface ResourceResolutionService {
                                     resolutionKey: String): String
 
     suspend fun resolveResources(bluePrintRuntimeService: BluePrintRuntimeService<*>, nodeTemplateName: String,
-                                 artifactNames: List<String>, properties: Map<String, Any>): MutableMap<String, JsonNode>
+                                 artifactNames: List<String>, properties: Map<String, Any>): MutableMap<String, String>
 
     suspend fun resolveResources(bluePrintRuntimeService: BluePrintRuntimeService<*>, nodeTemplateName: String,
                                  artifactPrefix: String, properties: Map<String, Any>): String
@@ -83,17 +83,17 @@ open class ResourceResolutionServiceImpl(private var applicationContext: Applica
 
     override suspend fun resolveResources(bluePrintRuntimeService: BluePrintRuntimeService<*>, nodeTemplateName: String,
                                           artifactNames: List<String>,
-                                          properties: Map<String, Any>): MutableMap<String, JsonNode> {
+                                          properties: Map<String, Any>): MutableMap<String, String> {
 
         val resourceAssignmentRuntimeService =
             ResourceAssignmentUtils.transformToRARuntimeService(bluePrintRuntimeService, artifactNames.toString())
 
-        val resolvedParams: MutableMap<String, JsonNode> = hashMapOf()
+        val resolvedParams: MutableMap<String, String> = hashMapOf()
         artifactNames.forEach { artifactName ->
             val resolvedContent = resolveResources(resourceAssignmentRuntimeService, nodeTemplateName,
                 artifactName, properties)
 
-            resolvedParams[artifactName] = resolvedContent.asJsonType()
+            resolvedParams[artifactName] = resolvedContent
         }
         return resolvedParams
     }