- if (status.isPresent()) {
- log.info("Response status.get() : {} ", status.get());
- JSONObject statusObj = new JSONObject(status.get());
- responseBuilder.setStatus(statusObj.getString("status"));
+ try {
+ String uri = nearRicUrlProvider.getPolicyInstanceIdStatus(String.valueOf(input.getNearRtRicId()),
+ String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
+ ResponseEntity<List<Object>> response = restAdapter.get(uri, List.class);
+ if (response.hasBody()) {
+ log.info("Response getStatus : {} ", response.getBody());
+ // only return the status of first handler for compliance with current yang model, ignore handler_id
+ JSONObject statusObj = new JSONObject(new Gson().toJson(response.getBody().get(0)));
+ responseBuilder.setStatus(statusObj.getString("status"));
+ }
+ responseBuilder.setCode(response.getStatusCode().toString());
+ } catch (NearRtRicNotFoundException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(HttpStatus.INTERNAL_SERVER_ERROR.toString());
+ } catch (RestClientResponseException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(String.valueOf(ex.getRawStatusCode()));