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);