X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=sdnc-a1-controller%2Fnorthbound%2Fnonrt-ric-api%2Fprovider%2Fsrc%2Fmain%2Fjava%2Forg%2Fo_ran_sc%2Fnonrtric%2Fsdnc_a1%2Fnorthbound%2Fprovider%2FNonrtRicApiProvider.java;h=9a625b1b8a252cf430b4b46c7965ff4f8638a3e7;hb=707af9497252be98abd3b4cbeda9dc9a677d9f6d;hp=ac9181bf9a0a0bd9ccd8687de9553fe4c037178b;hpb=341ee94ee4d8995e03c7886c96f9250c7d3901fe;p=nonrtric.git diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/o_ran_sc/nonrtric/sdnc_a1/northbound/provider/NonrtRicApiProvider.java b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/o_ran_sc/nonrtric/sdnc_a1/northbound/provider/NonrtRicApiProvider.java index ac9181bf..9a625b1b 100644 --- a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/o_ran_sc/nonrtric/sdnc_a1/northbound/provider/NonrtRicApiProvider.java +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/o_ran_sc/nonrtric/sdnc_a1/northbound/provider/NonrtRicApiProvider.java @@ -57,6 +57,7 @@ import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.ResponseEntity; +import org.springframework.web.client.RestClientResponseException; /** * Defines a base implementation for your provider. This class overrides the @@ -156,16 +157,25 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService { @Override public ListenableFuture> putA1Policy(PutA1PolicyInput input) { log.info("Start of putPolicy"); - final Uri uri = input.getNearRtRicUrl(); - - log.info("PUT Request input.GetA1Policy() : {} ", uri); - ResponseEntity response = restAdapter.put(uri.getValue(), input.getBody(), String.class); PutA1PolicyOutputBuilder responseBuilder = new PutA1PolicyOutputBuilder(); - if (response.hasBody()) { - log.info("Response PutA1Policy : {} ", response.getBody()); - responseBuilder.setBody(response.getBody()); + + try { + final Uri uri = input.getNearRtRicUrl(); + log.info("PUT Request input.GetA1Policy() : {} ", uri); + ResponseEntity response = restAdapter.put(uri.getValue(), input.getBody(), String.class); + if (response.hasBody()) { + log.info("Response PutA1Policy : {} ", response.getBody()); + responseBuilder.setBody(response.getBody()); + } + responseBuilder.setHttpStatus(response.getStatusCodeValue()); + } catch (RestClientResponseException ex) { + log.error("Caught RestClientResponseException: {}", ex.getMessage()); + if (ex.getResponseBodyAsByteArray() != null) { + responseBuilder.setBody(ex.getResponseBodyAsString()); + } + responseBuilder.setHttpStatus(ex.getRawStatusCode()); } - responseBuilder.setHttpStatus(response.getStatusCodeValue()); + log.info("End of PutA1Policy"); RpcResult rpcResult = RpcResultBuilder.status(true) .withResult(responseBuilder.build()).build(); @@ -175,15 +185,25 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService { @Override public ListenableFuture> deleteA1Policy(DeleteA1PolicyInput input) { log.info("Start of DeleteA1Policy"); - final Uri uri = input.getNearRtRicUrl(); - ResponseEntity response = restAdapter.delete(uri.getValue()); - log.info("End of DeleteA1Policy"); DeleteA1PolicyOutputBuilder responseBuilder = new DeleteA1PolicyOutputBuilder(); - if (response.hasBody()) { - log.info("Response PutA1Policy : {} ", response.getBody()); - responseBuilder.setBody(response.getBody().toString()); + + try { + final Uri uri = input.getNearRtRicUrl(); + ResponseEntity response = restAdapter.delete(uri.getValue()); + if (response.hasBody()) { + log.info("Response DeleteA1Policy : {} ", response.getBody()); + responseBuilder.setBody(response.getBody().toString()); + } + responseBuilder.setHttpStatus(response.getStatusCodeValue()); + } catch (RestClientResponseException ex) { + log.error("Caught RestClientResponseException: {}", ex.getMessage()); + if (ex.getResponseBodyAsByteArray() != null) { + responseBuilder.setBody(ex.getResponseBodyAsString()); + } + responseBuilder.setHttpStatus(ex.getRawStatusCode()); } - responseBuilder.setHttpStatus(response.getStatusCodeValue()); + + log.info("End of DeleteA1Policy"); RpcResult rpcResult = RpcResultBuilder.status(true) .withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -191,15 +211,25 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService { private GetA1PolicyOutput getA1(GetA1PolicyInput input) { log.info("Start of getA1"); - final Uri uri = input.getNearRtRicUrl(); - ResponseEntity response = restAdapter.get(uri.getValue(), String.class); - log.info("End of getA1"); GetA1PolicyOutputBuilder responseBuilder = new GetA1PolicyOutputBuilder(); - if (response.hasBody()) { - log.info("Response getA1 : {} ", response.getBody()); - responseBuilder.setBody(response.getBody()); + + try { + final Uri uri = input.getNearRtRicUrl(); + ResponseEntity response = restAdapter.get(uri.getValue(), String.class); + if (response.hasBody()) { + log.info("Response getA1 : {} ", response.getBody()); + responseBuilder.setBody(response.getBody()); + } + responseBuilder.setHttpStatus(response.getStatusCodeValue()); + } catch (RestClientResponseException ex) { + log.error("Caught RestClientResponseException: {}", ex.getMessage()); + if (ex.getResponseBodyAsByteArray() != null) { + responseBuilder.setBody(ex.getResponseBodyAsString()); + } + responseBuilder.setHttpStatus(ex.getRawStatusCode()); } - responseBuilder.setHttpStatus(response.getStatusCodeValue()); + + log.info("End of getA1"); return responseBuilder.build(); }