aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexis de Talhouët <adetalhouet89@gmail.com>2019-08-08 18:20:13 -0400
committerDan Timoney <dtimoney@att.com>2019-08-09 19:49:22 +0000
commit56f989b82d6065a8aad01b28469aed16f7663e5c (patch)
treef989cf40df96c9f05b28a85d01c954659a8f32a3
parent884c6b10720dbfc08a442f0693a994f9abd1bd57 (diff)
Set resource data value when fetch from database
When doing resource resolution, if the same resolution-key, or the same resource-id/resource-type combo, is used, then the process will only try to resolve the resources set with a "failure" status from the RESOURCE_RESOLUTION db table. In the case the resource has previsously successfully been resolved, then we need to set its value in the resource assignemnt resolution store so it can be used later in the processing, for instance if another resource depends on it. Change-Id: Ifa3957fe3d2365e1f4347aa61ed963124f8a69f7 Issue-ID: CCSDK-1606 Signed-off-by: Alexis de Talhouët <adetalhouet89@gmail.com>
-rw-r--r--ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionService.kt10
1 files changed, 7 insertions, 3 deletions
diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionService.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionService.kt
index 314065763..b9b710390 100644
--- a/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionService.kt
+++ b/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionService.kt
@@ -121,7 +121,8 @@ open class ResourceResolutionServiceImpl(private var applicationContext: Applica
if (isToStore(properties)) {
val existingResourceResolution = isNewResolution(bluePrintRuntimeService, properties, artifactPrefix)
if (existingResourceResolution.isNotEmpty()) {
- updateResourceAssignmentWithExisting(existingResourceResolution, resourceAssignments)
+ updateResourceAssignmentWithExisting(bluePrintRuntimeService as ResourceAssignmentRuntimeService,
+ existingResourceResolution, resourceAssignments)
}
}
@@ -296,15 +297,18 @@ open class ResourceResolutionServiceImpl(private var applicationContext: Applica
}
// Update the resource assignment list with the status of the resource that have already been resolved
- private fun updateResourceAssignmentWithExisting(resourceResolutionList: List<ResourceResolution>,
+ private fun updateResourceAssignmentWithExisting(raRuntimeService : ResourceAssignmentRuntimeService,
+ resourceResolutionList: List<ResourceResolution>,
resourceAssignmentList: MutableList<ResourceAssignment>) {
resourceResolutionList.forEach { resourceResolution ->
if (resourceResolution.status == BluePrintConstants.STATUS_SUCCESS) {
resourceAssignmentList.forEach {
if (compareOne(resourceResolution, it)) {
log.info("Resource ({}) already resolve: value=({})", it.name, resourceResolution.value)
- it.property!!.value = resourceResolution.value!!.asJsonPrimitive()
+ val value = resourceResolution.value!!.asJsonPrimitive()
+ it.property!!.value = value
it.status = resourceResolution.status
+ ResourceAssignmentUtils.setResourceDataValue(it, raRuntimeService, value)
}
}
}