diff options
author | Alexis de Talhouët <adetalhouet89@gmail.com> | 2019-08-08 18:20:13 -0400 |
---|---|---|
committer | Dan Timoney <dtimoney@att.com> | 2019-08-09 19:49:22 +0000 |
commit | 56f989b82d6065a8aad01b28469aed16f7663e5c (patch) | |
tree | f989cf40df96c9f05b28a85d01c954659a8f32a3 /ms/blueprintsprocessor/functions | |
parent | 884c6b10720dbfc08a442f0693a994f9abd1bd57 (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>
Diffstat (limited to 'ms/blueprintsprocessor/functions')
-rw-r--r-- | ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionService.kt | 10 |
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) } } } |