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=7f29fd17939082c8e07b2b1c7579d9eb03bcd4cf;hb=799dafa576935e93c262a20f2b055a94dd637ddd;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..7f29fd17 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,20 @@ package org.onap.sdnc.northbound.provider; +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 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.restadpter.NearRicUrlProvider; import org.onap.sdnc.northbound.restadpter.RestAdapter; import org.onap.sdnc.northbound.restadpter.RestAdapterImpl; @@ -73,22 +78,17 @@ 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; /** * 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
  *
  */
@@ -199,12 +199,13 @@ 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()));
+    log.info("Start of createPolicyInstance");
+    String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getNearRtRicId()),
+            String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
+    log.info("PUT Request input.getPolicyInstance() : {} ", input.getPolicyInstance());
     restAdapter.put(uri, input.getPolicyInstance());
     CreatePolicyInstanceOutputBuilder responseBuilder = new CreatePolicyInstanceOutputBuilder();
-    log.debug("End of createPolicyInstance");
+    log.info("End of createPolicyInstance");
     RpcResult rpcResult = RpcResultBuilder
         .status(true).withResult(responseBuilder.build()).build();
     return Futures.immediateFuture(rpcResult);
@@ -213,14 +214,15 @@ 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");
+    String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getNearRtRicId()),
+            String.valueOf(input.getPolicyTypeId()));
+    log.info("PUT Request input.getPolicyType() : {} ", input.getPolicyType());
+    restAdapter.put(uri, input.getPolicyType());
     CreatePolicyTypeOutputBuilder responseBuilder = new CreatePolicyTypeOutputBuilder();
     responseBuilder.setCode(RESPONSE_CODE_SUCCESS);
     responseBuilder.setStatus(RESPONSE_SUCCESS);
-    log.debug("End of createPolicyType");
+    log.info("End of createPolicyType");
     RpcResult rpcResult = RpcResultBuilder
         .status(true).withResult(responseBuilder.build()).build();
     return Futures.immediateFuture(rpcResult);
@@ -229,12 +231,12 @@ 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()));
+    log.info("Start of deletePolicyInstance");
+    String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getNearRtRicId()),
+            String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
     restAdapter.delete(uri);
     DeletePolicyInstanceOutputBuilder responseBuilder = new DeletePolicyInstanceOutputBuilder();
-    log.debug("End of deletePolicyInstance");
+    log.info("End of deletePolicyInstance");
     RpcResult rpcResult = RpcResultBuilder
         .status(true).withResult(responseBuilder.build()).build();
     return Futures.immediateFuture(rpcResult);
@@ -243,11 +245,12 @@ 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()));
+    log.info("Start of deletePolicyType");
+    String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getNearRtRicId()),
+            String.valueOf(input.getPolicyTypeId()));
     restAdapter.delete(uri);
     DeletePolicyTypeOutputBuilder responseBuilder = new DeletePolicyTypeOutputBuilder();
-    log.debug("End of deletePolicyType");
+    log.info("End of deletePolicyType");
     RpcResult rpcResult = RpcResultBuilder
         .status(true).withResult(responseBuilder.build()).build();
     return Futures.immediateFuture(rpcResult);
@@ -256,14 +259,12 @@ 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");
+    String uri = nearRicUrlProvider.getHealthCheck(String.valueOf(input.getNearRtRicId()));
+    restAdapter.get(uri, String.class);
     GetHealthCheckOutputBuilder responseBuilder = new GetHealthCheckOutputBuilder();
-    if (heathCheckStatus.get().equals("")) {
-      responseBuilder.setHealthStatus(true);
-    }
-    log.debug("End of getHealthCheck");
+    responseBuilder.setHealthStatus(true);
+    log.info("End of getHealthCheck");
     RpcResult rpcResult = RpcResultBuilder.status(true)
         .withResult(responseBuilder.build()).build();
     return Futures.immediateFuture(rpcResult);
@@ -278,14 +279,17 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
   @Override
   public ListenableFuture> getPolicyInstance(
       GetPolicyInstanceInput input) {
-    log.debug("Start of getPolicyInstance");
-    String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getPolicyTypeId()),
-        String.valueOf(input.getPolicyInstanceId()));
+    log.info("Start of getPolicyInstance");
+    log.info("Policy Type Id : {},  Policy Instance Id : {}", input.getPolicyTypeId(), input.getPolicyInstanceId());
+    String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getNearRtRicId()),
+            String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
     Optional policyInstance = restAdapter.get(uri, String.class);
     GetPolicyInstanceOutputBuilder responseBuilder = new GetPolicyInstanceOutputBuilder();
-    responseBuilder
-        .setPolicyInstance(policyInstance.isPresent() ? policyInstance.get() : StringUtils.EMPTY);
-    log.debug("End of getPolicyInstance");
+    if (policyInstance.isPresent()) {
+        log.info("Response policyInstance.get() : {} ", policyInstance.get());
+        responseBuilder.setPolicyInstance(policyInstance.get());
+    }
+    log.info("End of getPolicyInstance");
     RpcResult rpcResult = RpcResultBuilder
         .status(true).withResult(responseBuilder.build()).build();
     return Futures.immediateFuture(rpcResult);
@@ -294,14 +298,16 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
   @Override
   public ListenableFuture> getPolicyInstances(
       GetPolicyInstancesInput input) {
-    log.debug("Start of getPolicyInstances");
-    String uri = nearRicUrlProvider.getPolicyInstances(String.valueOf(input.getPolicyTypeId()));
+    log.info("Start of getPolicyInstances");
+    String uri = nearRicUrlProvider.getPolicyInstances(String.valueOf(input.getNearRtRicId()),
+            String.valueOf(input.getPolicyTypeId()));
     Optional> policyInstances = restAdapter.get(uri, List.class);
     GetPolicyInstancesOutputBuilder responseBuilder = new GetPolicyInstancesOutputBuilder();
     if (policyInstances.isPresent()) {
+      log.info("Response policyInstances.get() : {} ", policyInstances.get());
       responseBuilder.setPolicyInstanceIdList(policyInstances.get());
     }
-    log.debug("End of getPolicyInstances");
+    log.info("End of getPolicyInstances");
     RpcResult rpcResult = RpcResultBuilder
         .status(true).withResult(responseBuilder.build()).build();
     return Futures.immediateFuture(rpcResult);
@@ -309,17 +315,20 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
 
   @Override
   public ListenableFuture> getPolicyType(GetPolicyTypeInput input) {
-    log.debug("Start of getPolicyType");
-    log.debug("Policy Type Id : ", input.getPolicyTypeId());
-    String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getPolicyTypeId()));
-    Optional policyTypeSchema = restAdapter.get(uri, PolicyTypeSchema.class);
+    log.info("Start of getPolicyType");
+    log.info("Policy Type Id : {} ", input.getPolicyTypeId());
+    String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getNearRtRicId()),
+            String.valueOf(input.getPolicyTypeId()));
+    Optional policyType = restAdapter.get(uri, String.class);
     GetPolicyTypeOutputBuilder responseBuilder = new GetPolicyTypeOutputBuilder();
-    if (policyTypeSchema.isPresent()) {
-      responseBuilder.setDescription(policyTypeSchema.get().getDescription());
-      responseBuilder.setName(policyTypeSchema.get().getName());
-      responseBuilder.setPolicyType(policyTypeSchema.get().getCreateSchema().toString());
+    if (policyType.isPresent()) {
+      log.info("Response policyType.get() : {} ", policyType.get());
+      JSONObject policyTypeObj = new JSONObject(policyType.get());
+      responseBuilder.setDescription(policyTypeObj.getString("description"));
+      responseBuilder.setName(policyTypeObj.getString("name"));
+      responseBuilder.setPolicyType(policyTypeObj.getJSONObject("create_schema").toString());
     }
-    log.debug("End of getPolicyType");
+    log.info("End of getPolicyType");
     RpcResult rpcResult = RpcResultBuilder.status(true)
         .withResult(responseBuilder.build()).build();
     return Futures.immediateFuture(rpcResult);
@@ -328,12 +337,20 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
   @Override
   public ListenableFuture> getPolicyTypes(
       GetPolicyTypesInput input) {
-    log.debug("Start of getPolicyTypes");
-    String uri = nearRicUrlProvider.getPolicyTypes();
-    Optional> policyTypes = restAdapter.get(uri, List.class);
+    log.info("Start of getPolicyTypes");
+    String uri = nearRicUrlProvider.getPolicyTypes(String.valueOf(input.getNearRtRicId()));
+    Optional> policyTypes = restAdapter.get(uri, List.class);
     GetPolicyTypesOutputBuilder responseBuilder = new GetPolicyTypesOutputBuilder();
-    responseBuilder.setPolicyTypeIdList(policyTypes.get());
-    log.debug("End of getPolicyTypes");
+    if (policyTypes.isPresent()) {
+        log.info("Response policyTypes.get() : {} ", policyTypes.get());
+        List policyTypesListInteger = policyTypes.get();
+        List policyTypesListLong = new ArrayList<>();
+        for(Integer i : policyTypesListInteger){
+            policyTypesListLong.add(i.longValue());
+        }
+        responseBuilder.setPolicyTypeIdList(policyTypesListLong);
+    }
+    log.info("End of getPolicyTypes");
     RpcResult rpcResult = RpcResultBuilder.status(true)
         .withResult(responseBuilder.build()).build();
     return Futures.immediateFuture(rpcResult);
@@ -341,18 +358,17 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
 
   @Override
   public ListenableFuture> getStatus(GetStatusInput input) {
-    log.debug("Start of getStatus");
-    String uri = nearRicUrlProvider.getPolicyInstanceIdStatus(
+    log.info("Start of getStatus");
+    String uri = nearRicUrlProvider.getPolicyInstanceIdStatus(String.valueOf(input.getNearRtRicId()),
         String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
-    Optional> policyTypes = restAdapter.get(uri, List.class);
+    Optional status = restAdapter.get(uri, String.class);
     GetStatusOutputBuilder responseBuilder = new GetStatusOutputBuilder();
-    // TODO:
-    /*
-     * No Schema defined for the response so Identify a way to parse the schema or create the java
-     * object
-     */
-    responseBuilder.setStatus(RESPONSE_SUCCESS);
-    log.debug("End of getStatus");
+    if (status.isPresent()) {
+        log.info("Response status.get() : {} ", status.get());
+        JSONObject statusObj = new JSONObject(status.get());
+        responseBuilder.setStatus(statusObj.getString("status"));
+    }
+    log.info("End of getStatus");
     RpcResult rpcResult =
         RpcResultBuilder.status(true).withResult(responseBuilder.build()).build();
     return Futures.immediateFuture(rpcResult);