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=cf7ea35ecce0ec2d341ca677aa79bc766124052d;hb=dfff24a65d219ce3985edbf744b034d1882e452f;hp=9a625b1b8a252cf430b4b46c7965ff4f8638a3e7;hpb=707af9497252be98abd3b4cbeda9dc9a677d9f6d;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 9a625b1b..cf7ea35e 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 @@ -20,19 +20,14 @@ package org.o_ran_sc.nonrtric.sdnc_a1.northbound.provider; -import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; -import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import org.o_ran_sc.nonrtric.sdnc_a1.northbound.restadapter.RestAdapter; import org.o_ran_sc.nonrtric.sdnc_a1.northbound.restadapter.RestAdapterImpl; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; -import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; -import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; -import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; import org.opendaylight.yang.gen.v1.org.o_ran_sc.nonrtric.sdnc_a1.northbound.a1.adapter.rev200122.A1ADAPTERAPIService; import org.opendaylight.yang.gen.v1.org.o_ran_sc.nonrtric.sdnc_a1.northbound.a1.adapter.rev200122.DeleteA1PolicyInput; @@ -78,6 +73,7 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService { protected static final String NO_SERVICE_LOGIC_ACTIVE = "No service logic active for "; private static final String NON_NULL_PARAM = "non-null"; private static final String NULL_PARAM = "null"; + private static final String REST_CLIENT_RESPONSE_EXCEPTION_MSG = "Caught RestClientResponseException: {}"; private final Logger log = LoggerFactory.getLogger(NonrtRicApiProvider.class); private final ExecutorService executor; @@ -85,7 +81,6 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService { protected DataBroker dataBroker; protected NotificationPublishService notificationService; protected RpcProviderRegistry rpcRegistry; - protected BindingAwareBroker.RpcRegistration rpcRegistration; private RestAdapter restAdapter; public NonrtRicApiProvider(DataBroker dataBroker, NotificationPublishService notificationPublishService, @@ -96,25 +91,18 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService { setNotificationService(notificationPublishService); setRpcRegistry(rpcProviderRegistry); initialize(); - } public void initialize() { log.info("Initializing provider for {}", APP_NAME); - createContainers(); restAdapter = new RestAdapterImpl(); log.info("Initialization complete for {}", APP_NAME); } - protected void initializeChild() { - // Override if you have custom initialization intelligence - } - @Override public void close() throws Exception { log.info("Closing provider for {}", APP_NAME); executor.shutdown(); - rpcRegistration.close(); log.info("Successfully closed provider for {}", APP_NAME); } @@ -139,98 +127,83 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService { } } - private void createContainers() { - - final WriteTransaction t = dataBroker.newReadWriteTransaction(); - - try { - CheckedFuture checkedFuture = t.submit(); - checkedFuture.get(); - log.info("Create containers succeeded!"); - - } catch (InterruptedException | ExecutionException e) { - log.error("Create containers failed: ", e); - Thread.currentThread().interrupt(); - } - } - @Override public ListenableFuture> putA1Policy(PutA1PolicyInput input) { log.info("Start of putPolicy"); - PutA1PolicyOutputBuilder responseBuilder = new PutA1PolicyOutputBuilder(); + PutA1PolicyOutputBuilder putPolicyResponseBuilder = new PutA1PolicyOutputBuilder(); 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()); + ResponseEntity putPolicyResponse = restAdapter.put(uri.getValue(), input.getBody(), String.class); + if (putPolicyResponse.hasBody()) { + log.info("Response PutA1Policy : {} ", putPolicyResponse.getBody()); + putPolicyResponseBuilder.setBody(putPolicyResponse.getBody()); } - responseBuilder.setHttpStatus(response.getStatusCodeValue()); + putPolicyResponseBuilder.setHttpStatus(putPolicyResponse.getStatusCodeValue()); } catch (RestClientResponseException ex) { - log.error("Caught RestClientResponseException: {}", ex.getMessage()); + log.error(REST_CLIENT_RESPONSE_EXCEPTION_MSG, ex.getMessage()); if (ex.getResponseBodyAsByteArray() != null) { - responseBuilder.setBody(ex.getResponseBodyAsString()); + putPolicyResponseBuilder.setBody(ex.getResponseBodyAsString()); } - responseBuilder.setHttpStatus(ex.getRawStatusCode()); + putPolicyResponseBuilder.setHttpStatus(ex.getRawStatusCode()); } log.info("End of PutA1Policy"); RpcResult rpcResult = RpcResultBuilder.status(true) - .withResult(responseBuilder.build()).build(); + .withResult(putPolicyResponseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); } @Override public ListenableFuture> deleteA1Policy(DeleteA1PolicyInput input) { log.info("Start of DeleteA1Policy"); - DeleteA1PolicyOutputBuilder responseBuilder = new DeleteA1PolicyOutputBuilder(); + DeleteA1PolicyOutputBuilder deletePolicyResponseBuilder = new DeleteA1PolicyOutputBuilder(); 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()); + ResponseEntity deletePolicyResponse = restAdapter.delete(uri.getValue()); + if (deletePolicyResponse.hasBody()) { + log.info("Response DeleteA1Policy : {} ", deletePolicyResponse.getBody()); + deletePolicyResponseBuilder.setBody(deletePolicyResponse.getBody().toString()); } - responseBuilder.setHttpStatus(response.getStatusCodeValue()); + deletePolicyResponseBuilder.setHttpStatus(deletePolicyResponse.getStatusCodeValue()); } catch (RestClientResponseException ex) { - log.error("Caught RestClientResponseException: {}", ex.getMessage()); + log.error(REST_CLIENT_RESPONSE_EXCEPTION_MSG, ex.getMessage()); if (ex.getResponseBodyAsByteArray() != null) { - responseBuilder.setBody(ex.getResponseBodyAsString()); + deletePolicyResponseBuilder.setBody(ex.getResponseBodyAsString()); } - responseBuilder.setHttpStatus(ex.getRawStatusCode()); + deletePolicyResponseBuilder.setHttpStatus(ex.getRawStatusCode()); } log.info("End of DeleteA1Policy"); RpcResult rpcResult = RpcResultBuilder.status(true) - .withResult(responseBuilder.build()).build(); + .withResult(deletePolicyResponseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); } - private GetA1PolicyOutput getA1(GetA1PolicyInput input) { + protected GetA1PolicyOutput getA1(GetA1PolicyInput input) { log.info("Start of getA1"); - GetA1PolicyOutputBuilder responseBuilder = new GetA1PolicyOutputBuilder(); + GetA1PolicyOutputBuilder getPolicyResponseBuilder = new GetA1PolicyOutputBuilder(); 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()); + ResponseEntity getPolicyResponse = restAdapter.get(uri.getValue(), String.class); + if (getPolicyResponse.hasBody()) { + log.info("Response getA1 : {} ", getPolicyResponse.getBody()); + getPolicyResponseBuilder.setBody(getPolicyResponse.getBody()); } - responseBuilder.setHttpStatus(response.getStatusCodeValue()); + getPolicyResponseBuilder.setHttpStatus(getPolicyResponse.getStatusCodeValue()); } catch (RestClientResponseException ex) { - log.error("Caught RestClientResponseException: {}", ex.getMessage()); + log.error(REST_CLIENT_RESPONSE_EXCEPTION_MSG, ex.getMessage()); if (ex.getResponseBodyAsByteArray() != null) { - responseBuilder.setBody(ex.getResponseBodyAsString()); + getPolicyResponseBuilder.setBody(ex.getResponseBodyAsString()); } - responseBuilder.setHttpStatus(ex.getRawStatusCode()); + getPolicyResponseBuilder.setHttpStatus(ex.getRawStatusCode()); } log.info("End of getA1"); - return responseBuilder.build(); + return getPolicyResponseBuilder.build(); } @Override @@ -243,31 +216,31 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService { @Override public ListenableFuture> getA1PolicyStatus(GetA1PolicyStatusInput input) { - GetA1PolicyInputBuilder getInputBuilder = new GetA1PolicyInputBuilder(); - getInputBuilder.setNearRtRicUrl(input.getNearRtRicUrl()); - GetA1PolicyOutput getOutput = getA1(getInputBuilder.build()); + GetA1PolicyInputBuilder getPolicyStatusInputBuilder = new GetA1PolicyInputBuilder(); + getPolicyStatusInputBuilder.setNearRtRicUrl(input.getNearRtRicUrl()); + GetA1PolicyOutput getOutput = getA1(getPolicyStatusInputBuilder.build()); - GetA1PolicyStatusOutputBuilder outputBuilder = new GetA1PolicyStatusOutputBuilder(); - outputBuilder.setBody(getOutput.getBody()); - outputBuilder.setHttpStatus(getOutput.getHttpStatus()); + GetA1PolicyStatusOutputBuilder getPolicyStatusoutputBuilder = new GetA1PolicyStatusOutputBuilder(); + getPolicyStatusoutputBuilder.setBody(getOutput.getBody()); + getPolicyStatusoutputBuilder.setHttpStatus(getOutput.getHttpStatus()); return Futures.immediateFuture(RpcResultBuilder.status(true) // - .withResult(outputBuilder.build()) // + .withResult(getPolicyStatusoutputBuilder.build()) // .build()); } @Override public ListenableFuture> getA1PolicyType(GetA1PolicyTypeInput input) { - GetA1PolicyInputBuilder getInputBuilder = new GetA1PolicyInputBuilder(); - getInputBuilder.setNearRtRicUrl(input.getNearRtRicUrl()); - GetA1PolicyOutput getOutput = getA1(getInputBuilder.build()); + GetA1PolicyInputBuilder getPolicyTypeInputBuilder = new GetA1PolicyInputBuilder(); + getPolicyTypeInputBuilder.setNearRtRicUrl(input.getNearRtRicUrl()); + GetA1PolicyOutput getOutput = getA1(getPolicyTypeInputBuilder.build()); - GetA1PolicyTypeOutputBuilder outputBuilder = new GetA1PolicyTypeOutputBuilder(); - outputBuilder.setBody(getOutput.getBody()); - outputBuilder.setHttpStatus(getOutput.getHttpStatus()); + GetA1PolicyTypeOutputBuilder getPolicyTypeOutputBuilder = new GetA1PolicyTypeOutputBuilder(); + getPolicyTypeOutputBuilder.setBody(getOutput.getBody()); + getPolicyTypeOutputBuilder.setHttpStatus(getOutput.getHttpStatus()); return Futures.immediateFuture(RpcResultBuilder.status(true) // - .withResult(outputBuilder.build()) // + .withResult(getPolicyTypeOutputBuilder.build()) // .build()); }