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%2Fonap%2Fsdnc%2Fnorthbound%2Fprovider%2FNonrtRicApiProvider.java;h=b5e3deed6560645211d9bf9ad42a0b4e7e354582;hb=eec4647d457ca8c2ebecc86485127bd529919533;hp=206b096acc22d43d14211ae3faae39c03a555249;hpb=b6fe5a1bbad372357f6b441e1657dd8bbe48dc1a;p=nonrtric.git diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/provider/NonrtRicApiProvider.java b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/provider/NonrtRicApiProvider.java index 206b096a..b5e3deed 100644 --- a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/provider/NonrtRicApiProvider.java +++ b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/provider/NonrtRicApiProvider.java @@ -20,15 +20,21 @@ package org.onap.sdnc.northbound.provider; +import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; +import com.google.gson.Gson; import java.text.DateFormat; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.TimeZone; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import org.apache.commons.lang3.StringUtils; +import org.json.JSONObject; +import org.onap.sdnc.northbound.exceptions.NearRtRicNotFoundException; import org.onap.sdnc.northbound.restadpter.NearRicUrlProvider; import org.onap.sdnc.northbound.restadpter.RestAdapter; import org.onap.sdnc.northbound.restadpter.RestAdapterImpl; @@ -56,6 +62,7 @@ import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev19100 import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetHealthCheckOutputBuilder; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetNearRTRICsInput; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetNearRTRICsOutput; +import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetNearRTRICsOutputBuilder; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstanceInput; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstanceOutput; import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstanceOutputBuilder; @@ -73,22 +80,20 @@ import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev19100 import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetStatusOutputBuilder; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; -import org.oransc.ric.a1med.client.model.PolicyTypeSchema; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Optional; -import com.google.common.util.concurrent.CheckedFuture; -import com.google.common.util.concurrent.Futures; -import com.google.common.util.concurrent.ListenableFuture; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.client.RestClientResponseException; /** * Defines a base implementation for your provider. This class overrides the generated interface * from the YANG model and implements the request model for the A1 interface. This class identifies * the Near-RIC throught the IP passed over the payload and calls the corresponding Near-RIC over * Rest API - * + * *
- * + * * @author lathishbabu.ganesan@est.tech * */ @@ -99,8 +104,6 @@ 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 RESPONSE_SUCCESS = "Success"; - private static final String RESPONSE_CODE_SUCCESS = "200"; private final Logger log = LoggerFactory.getLogger(NonrtRicApiProvider.class); private final ExecutorService executor; @@ -199,12 +202,22 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService { @Override public ListenableFuture> createPolicyInstance( CreatePolicyInstanceInput input) { - log.debug("Start of createPolicyInstance"); - String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getPolicyTypeId()), - String.valueOf(input.getPolicyInstanceId())); - restAdapter.put(uri, input.getPolicyInstance()); + log.info("Start of createPolicyInstance"); CreatePolicyInstanceOutputBuilder responseBuilder = new CreatePolicyInstanceOutputBuilder(); - log.debug("End of createPolicyInstance"); + try { + String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getNearRtRicId()), + String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId())); + log.info("PUT Request input.getPolicyInstance() : {} ", input.getPolicyInstance()); + ResponseEntity response = restAdapter.put(uri, input.getPolicyInstance()); + 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())); + } + log.info("End of createPolicyInstance"); RpcResult rpcResult = RpcResultBuilder . status(true).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -213,14 +226,22 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService { @Override public ListenableFuture > createPolicyType( CreatePolicyTypeInput input) { - log.debug("Start of createPolicyType"); - String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getPolicyTypeId())); - PolicyTypeSchema policyTypeSchema = new PolicyTypeSchema(); - restAdapter.put(uri, policyTypeSchema); + log.info("Start of createPolicyType"); CreatePolicyTypeOutputBuilder responseBuilder = new CreatePolicyTypeOutputBuilder(); - responseBuilder.setCode(RESPONSE_CODE_SUCCESS); - responseBuilder.setStatus(RESPONSE_SUCCESS); - log.debug("End of createPolicyType"); + try { + String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getNearRtRicId()), + String.valueOf(input.getPolicyTypeId())); + log.info("PUT Request input.getPolicyType() : {} ", input.getPolicyType()); + ResponseEntity response = restAdapter.put(uri, input.getPolicyType()); + 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())); + } + log.info("End of createPolicyType"); RpcResult rpcResult = RpcResultBuilder . status(true).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -229,12 +250,21 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService { @Override public ListenableFuture > deletePolicyInstance( DeletePolicyInstanceInput input) { - log.debug("Start of deletePolicyInstance"); - String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getPolicyTypeId()), - String.valueOf(input.getPolicyInstanceId())); - restAdapter.delete(uri); + log.info("Start of deletePolicyInstance"); DeletePolicyInstanceOutputBuilder responseBuilder = new DeletePolicyInstanceOutputBuilder(); - log.debug("End of deletePolicyInstance"); + try { + String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getNearRtRicId()), + String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId())); + ResponseEntity response = restAdapter.delete(uri); + 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())); + } + log.info("End of deletePolicyInstance"); RpcResult rpcResult = RpcResultBuilder . status(true).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -243,11 +273,21 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService { @Override public ListenableFuture > deletePolicyType( DeletePolicyTypeInput input) { - log.debug("Start of deletePolicyType"); - String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getPolicyTypeId())); - restAdapter.delete(uri); + log.info("Start of deletePolicyType"); DeletePolicyTypeOutputBuilder responseBuilder = new DeletePolicyTypeOutputBuilder(); - log.debug("End of deletePolicyType"); + try { + String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getNearRtRicId()), + String.valueOf(input.getPolicyTypeId())); + ResponseEntity response = restAdapter.delete(uri); + 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())); + } + log.info("End of deletePolicyType"); RpcResult rpcResult = RpcResultBuilder . status(true).withResult(responseBuilder.build()).build(); return Futures.immediateFuture(rpcResult); @@ -256,14 +296,24 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService { @Override public ListenableFuture > getHealthCheck( GetHealthCheckInput input) { - log.debug("Start of getHealthCheck"); - String uri = nearRicUrlProvider.getHealthCheck(); - Optional heathCheckStatus = restAdapter.get(uri, String.class); + log.info("Start of getHealthCheck"); GetHealthCheckOutputBuilder responseBuilder = new GetHealthCheckOutputBuilder(); - if (heathCheckStatus.get().equals("")) { - responseBuilder.setHealthStatus(true); + try { + String uri = nearRicUrlProvider.getHealthCheck(String.valueOf(input.getNearRtRicId())); + ResponseEntity