diff options
author | Kuldip Rai <kuldip.rai@bell.ca> | 2022-03-16 14:26:30 +0000 |
---|---|---|
committer | kuldipr <kuldip.rai@amdocs.com> | 2022-05-19 11:52:25 -0400 |
commit | a1142669cd10f47d8178230500012e6421722c30 (patch) | |
tree | b54242da6f068e2e1a940c96cb77b768df3166ab /ms/blueprintsprocessor/modules/inbounds/resource-api | |
parent | c3943fbc70105c4ce38d66c7cbe227ddec35d535 (diff) |
Resource endpoint should support occurrences
The getOneFromResolutionKey endpoint would fail if there are multiple
occurrences for a resource. Instead it should return the last occurrence.
Issue-ID: CCSDK-3664
Signed-off-by: kuldipr <kuldip.rai@amdocs.com>
Change-Id: I1468c41c164f64931ce719f9908b935baae6e1a4
Diffstat (limited to 'ms/blueprintsprocessor/modules/inbounds/resource-api')
-rw-r--r-- | ms/blueprintsprocessor/modules/inbounds/resource-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/resource/api/ResourceController.kt | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/ms/blueprintsprocessor/modules/inbounds/resource-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/resource/api/ResourceController.kt b/ms/blueprintsprocessor/modules/inbounds/resource-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/resource/api/ResourceController.kt index 15c27a43b..4a2a55930 100644 --- a/ms/blueprintsprocessor/modules/inbounds/resource-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/resource/api/ResourceController.kt +++ b/ms/blueprintsprocessor/modules/inbounds/resource-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/resource/api/ResourceController.kt @@ -26,6 +26,8 @@ import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.db.R import org.onap.ccsdk.cds.controllerblueprints.core.httpProcessorException import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils import org.onap.ccsdk.cds.error.catalog.core.ErrorCatalogCodes +import org.onap.ccsdk.cds.error.catalog.core.ErrorPayload +import org.springframework.http.HttpStatus import org.springframework.http.MediaType import org.springframework.http.ResponseEntity import org.springframework.security.access.prepost.PreAuthorize @@ -161,9 +163,14 @@ open class ResourceController(private var resourceResolutionDBService: ResourceR @ApiParam(value = "Name of the resource to retrieve", required = true) @RequestParam(value = "name", required = true) name: String ): - ResponseEntity<ResourceResolution> = runBlocking { + ResponseEntity<out Any>? = runBlocking { - ResponseEntity.ok() - .body(resourceResolutionDBService.readValue(bpName, bpVersion, artifactName, resolutionKey, name)) + var result: ResourceResolution? = resourceResolutionDBService.readValue(bpName, bpVersion, artifactName, resolutionKey, name) + if (result != null) { + ResponseEntity.ok().body(result) + } else { + var errorPayload = ErrorPayload(HttpStatus.NOT_FOUND.value(), ErrorCatalogCodes.GENERIC_FAILURE, "No records found") + ResponseEntity.status(HttpStatus.NOT_FOUND).body(errorPayload) + } } } |