diff options
author | David Stilwell <stilwelld@att.com> | 2020-11-19 16:56:21 -0500 |
---|---|---|
committer | David Stilwell <stilwelld@att.com> | 2020-11-19 16:56:37 -0500 |
commit | db82751c50a962ff3d731b89837f747aac71d72f (patch) | |
tree | 195107ad0364c0299f558db3dcc1bf65ad4e658c /ms/generic-resource-api/src/main/java | |
parent | 15dface554938da7b737924bae9713fa6b5ef794 (diff) |
add support for service-toplogy GET
Changes made: 1. add method for ServiceTopologyGet(), added junit test case
Issue-ID: SDNC-1422
Change-Id: I770ff1fe9dbab7b06c2df4eb24d3e39eb3fa5cc9
Signed-off-by: David Stilwell <stilwelld@att.com>
Diffstat (limited to 'ms/generic-resource-api/src/main/java')
-rw-r--r-- | ms/generic-resource-api/src/main/java/org/onap/sdnc/apps/ms/gra/controllers/ConfigApiController.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/ms/generic-resource-api/src/main/java/org/onap/sdnc/apps/ms/gra/controllers/ConfigApiController.java b/ms/generic-resource-api/src/main/java/org/onap/sdnc/apps/ms/gra/controllers/ConfigApiController.java index 26b6dcf..581f0c7 100644 --- a/ms/generic-resource-api/src/main/java/org/onap/sdnc/apps/ms/gra/controllers/ConfigApiController.java +++ b/ms/generic-resource-api/src/main/java/org/onap/sdnc/apps/ms/gra/controllers/ConfigApiController.java @@ -1502,4 +1502,33 @@ public class ConfigApiController implements ConfigApi { .filter(targetVnf -> targetVnf.getVnfId().equals(vnfId)) .findFirst(); } + + @Override + public ResponseEntity<GenericResourceApiServicetopologyServiceTopology> configGENERICRESOURCEAPIservicesServiceServiceInstanceIdServiceDataServiceTopologyGet(String serviceInstanceId) throws RestApplicationException, RestProtocolException { + GenericResourceApiServicetopologyServiceTopology serviceTopology = null; + GenericResourceApiServicedataServiceData serviceData = null; + + List<ConfigServices> services = configServicesRepository.findBySvcInstanceId(serviceInstanceId); + if ((services == null) || (services.isEmpty())) { + throw new RestProtocolException("data-missing", "No service entry found", HttpStatus.NOT_FOUND.value()); + } + + try { + if ( services.get(0).getSvcData().isEmpty()) { + throw new RestProtocolException("data-missing", "No service-data entry found", HttpStatus.NOT_FOUND.value()); + } else { + serviceData = objectMapper.readValue(services.get(0).getSvcData(), GenericResourceApiServicedataServiceData.class); + serviceTopology = serviceData.getServiceTopology(); + } + if (serviceTopology == null) { + throw new RestProtocolException("data-missing", "No service-topology entry found", HttpStatus.NOT_FOUND.value()); + } + return new ResponseEntity<>(serviceTopology, HttpStatus.OK); + } catch (JsonProcessingException e) { + log.error("Could not parse service data", e); + throw new RestApplicationException("data-conversion", "Request could not be completed due to internal error", e, HttpStatus.INTERNAL_SERVER_ERROR.value()); + } + + } + } |