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.json.JSONObject;
-import org.onap.sdnc.northbound.restadpter.NearRicUrlProvider;
-import org.onap.sdnc.northbound.restadpter.RestAdapter;
-import org.onap.sdnc.northbound.restadpter.RestAdapterImpl;
+import org.onap.sdnc.northbound.restadapter.RestAdapter;
+import org.onap.sdnc.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.onap.sdnc.northbound.a1.adapter.rev191002.A1ADAPTERAPIService;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyInstanceInput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyInstanceOutput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyInstanceOutputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyTypeInput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyTypeOutput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyTypeOutputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyInstanceInput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyInstanceOutput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyInstanceOutputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyTypeInput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyTypeOutput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyTypeOutputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetHealthCheckInput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetHealthCheckOutput;
-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;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstancesInput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstancesOutput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstancesOutputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypeInput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypeOutput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypeOutputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypesInput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypesOutput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyTypesOutputBuilder;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetStatusInput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetStatusOutput;
-import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetStatusOutputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.A1ADAPTERAPIService;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.DeleteA1PolicyInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.DeleteA1PolicyOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.DeleteA1PolicyOutputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.GetA1PolicyInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.GetA1PolicyInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.GetA1PolicyOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.GetA1PolicyOutputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.GetA1PolicyStatusInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.GetA1PolicyStatusOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.GetA1PolicyStatusOutputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.GetA1PolicyTypeInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.GetA1PolicyTypeOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.GetA1PolicyTypeOutputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.PutA1PolicyInput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.PutA1PolicyOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev200122.PutA1PolicyOutputBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.http.ResponseEntity;
/**
- * 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
+ * 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
*
* <pre>
*
*
*/
+@SuppressWarnings("squid:S1874") // "@Deprecated" code should not be used
public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
protected static final String APP_NAME = "nonrt-ric-api";
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;
protected RpcProviderRegistry rpcRegistry;
protected BindingAwareBroker.RpcRegistration<?> rpcRegistration;
private RestAdapter restAdapter;
- private NearRicUrlProvider nearRicUrlProvider;
- public NonrtRicApiProvider(DataBroker dataBroker,
- NotificationPublishService notificationPublishService,
+ public NonrtRicApiProvider(DataBroker dataBroker, NotificationPublishService notificationPublishService,
RpcProviderRegistry rpcProviderRegistry) {
log.info("Creating provider for {}", APP_NAME);
executor = Executors.newFixedThreadPool(1);
log.info("Initializing provider for {}", APP_NAME);
createContainers();
restAdapter = new RestAdapterImpl();
- nearRicUrlProvider = new NearRicUrlProvider();
log.info("Initialization complete for {}", APP_NAME);
}
log.info("Successfully closed provider for {}", APP_NAME);
}
- private static class Iso8601Util {
-
- private static TimeZone timeZone = TimeZone.getTimeZone("UTC");
- private static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
-
- private Iso8601Util() {}
-
- static {
- dateFormat.setTimeZone(timeZone);
- }
-
- private static String now() {
- return dateFormat.format(new Date());
- }
- }
-
public void setDataBroker(DataBroker dataBroker) {
this.dataBroker = dataBroker;
if (log.isDebugEnabled()) {
public void setNotificationService(NotificationPublishService notificationService) {
this.notificationService = notificationService;
if (log.isDebugEnabled()) {
- log.debug("Notification Service set to {}",
- notificationService == null ? NULL_PARAM : NON_NULL_PARAM);
+ log.debug("Notification Service set to {}", notificationService == null ? NULL_PARAM : NON_NULL_PARAM);
}
}
} catch (InterruptedException | ExecutionException e) {
log.error("Create containers failed: ", e);
+ Thread.currentThread().interrupt();
}
}
@Override
- public ListenableFuture<RpcResult<CreatePolicyInstanceOutput>> createPolicyInstance(
- CreatePolicyInstanceInput input) {
- 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.info("End of createPolicyInstance");
- RpcResult<CreatePolicyInstanceOutput> rpcResult = RpcResultBuilder
- .<CreatePolicyInstanceOutput>status(true).withResult(responseBuilder.build()).build();
+ public ListenableFuture<RpcResult<PutA1PolicyOutput>> putA1Policy(PutA1PolicyInput input) {
+ log.info("Start of putPolicy");
+ final Uri uri = input.getNearRtRicUrl();
+
+ log.info("PUT Request input.GetA1Policy() : {} ", uri);
+ ResponseEntity<String> 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());
+ }
+ responseBuilder.setHttpStatus(response.getStatusCodeValue());
+ log.info("End of PutA1Policy");
+ RpcResult<PutA1PolicyOutput> rpcResult = RpcResultBuilder.<PutA1PolicyOutput>status(true)
+ .withResult(responseBuilder.build()).build();
return Futures.immediateFuture(rpcResult);
}
@Override
- public ListenableFuture<RpcResult<CreatePolicyTypeOutput>> createPolicyType(
- CreatePolicyTypeInput input) {
- 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.info("End of createPolicyType");
- RpcResult<CreatePolicyTypeOutput> rpcResult = RpcResultBuilder
- .<CreatePolicyTypeOutput>status(true).withResult(responseBuilder.build()).build();
+ public ListenableFuture<RpcResult<DeleteA1PolicyOutput>> deleteA1Policy(DeleteA1PolicyInput input) {
+ log.info("Start of DeleteA1Policy");
+ final Uri uri = input.getNearRtRicUrl();
+ ResponseEntity<Object> 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());
+ }
+ responseBuilder.setHttpStatus(response.getStatusCodeValue());
+ RpcResult<DeleteA1PolicyOutput> rpcResult = RpcResultBuilder.<DeleteA1PolicyOutput>status(true)
+ .withResult(responseBuilder.build()).build();
return Futures.immediateFuture(rpcResult);
}
- @Override
- public ListenableFuture<RpcResult<DeletePolicyInstanceOutput>> deletePolicyInstance(
- DeletePolicyInstanceInput input) {
- 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.info("End of deletePolicyInstance");
- RpcResult<DeletePolicyInstanceOutput> rpcResult = RpcResultBuilder
- .<DeletePolicyInstanceOutput>status(true).withResult(responseBuilder.build()).build();
- return Futures.immediateFuture(rpcResult);
+ private GetA1PolicyOutput getA1(GetA1PolicyInput input) {
+ log.info("Start of getA1");
+ final Uri uri = input.getNearRtRicUrl();
+ ResponseEntity<String> 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());
+ }
+ responseBuilder.setHttpStatus(response.getStatusCodeValue());
+ return responseBuilder.build();
}
@Override
- public ListenableFuture<RpcResult<DeletePolicyTypeOutput>> deletePolicyType(
- DeletePolicyTypeInput input) {
- 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.info("End of deletePolicyType");
- RpcResult<DeletePolicyTypeOutput> rpcResult = RpcResultBuilder
- .<DeletePolicyTypeOutput>status(true).withResult(responseBuilder.build()).build();
+ public ListenableFuture<RpcResult<GetA1PolicyOutput>> getA1Policy(GetA1PolicyInput input) {
+ GetA1PolicyOutput output = getA1(input);
+ RpcResult<GetA1PolicyOutput> rpcResult = RpcResultBuilder.<GetA1PolicyOutput>status(true).withResult(output)
+ .build();
return Futures.immediateFuture(rpcResult);
}
@Override
- public ListenableFuture<RpcResult<GetHealthCheckOutput>> getHealthCheck(
- GetHealthCheckInput input) {
- log.info("Start of getHealthCheck");
- String uri = nearRicUrlProvider.getHealthCheck(String.valueOf(input.getNearRtRicId()));
- restAdapter.get(uri, String.class);
- GetHealthCheckOutputBuilder responseBuilder = new GetHealthCheckOutputBuilder();
- responseBuilder.setHealthStatus(true);
- log.info("End of getHealthCheck");
- RpcResult<GetHealthCheckOutput> rpcResult = RpcResultBuilder.<GetHealthCheckOutput>status(true)
- .withResult(responseBuilder.build()).build();
- return Futures.immediateFuture(rpcResult);
- }
+ public ListenableFuture<RpcResult<GetA1PolicyStatusOutput>> getA1PolicyStatus(GetA1PolicyStatusInput input) {
+ GetA1PolicyInputBuilder getInputBuilder = new GetA1PolicyInputBuilder();
+ getInputBuilder.setNearRtRicUrl(input.getNearRtRicUrl());
+ GetA1PolicyOutput getOutput = getA1(getInputBuilder.build());
- @Override
- public ListenableFuture<RpcResult<GetNearRTRICsOutput>> getNearRTRICs(GetNearRTRICsInput input) {
- log.info("Start of getNearRTRICs");
- GetNearRTRICsOutputBuilder responseBuilder = new GetNearRTRICsOutputBuilder();
- responseBuilder.setNearRtRicIdList(nearRicUrlProvider.getNearRTRicIdsList());
- log.info("End of getNearRTRICs");
- RpcResult<GetNearRTRICsOutput> rpcResult = RpcResultBuilder.<GetNearRTRICsOutput>status(true)
- .withResult(responseBuilder.build()).build();
- return Futures.immediateFuture(rpcResult);
- }
+ GetA1PolicyStatusOutputBuilder outputBuilder = new GetA1PolicyStatusOutputBuilder();
+ outputBuilder.setBody(getOutput.getBody());
+ outputBuilder.setHttpStatus(getOutput.getHttpStatus());
- @Override
- public ListenableFuture<RpcResult<GetPolicyInstanceOutput>> getPolicyInstance(
- GetPolicyInstanceInput input) {
- 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<String> policyInstance = restAdapter.get(uri, String.class);
- GetPolicyInstanceOutputBuilder responseBuilder = new GetPolicyInstanceOutputBuilder();
- if (policyInstance.isPresent()) {
- log.info("Response policyInstance.get() : {} ", policyInstance.get());
- responseBuilder.setPolicyInstance(policyInstance.get());
- }
- log.info("End of getPolicyInstance");
- RpcResult<GetPolicyInstanceOutput> rpcResult = RpcResultBuilder
- .<GetPolicyInstanceOutput>status(true).withResult(responseBuilder.build()).build();
- return Futures.immediateFuture(rpcResult);
+ return Futures.immediateFuture(RpcResultBuilder.<GetA1PolicyStatusOutput>status(true) //
+ .withResult(outputBuilder.build()) //
+ .build());
}
@Override
- public ListenableFuture<RpcResult<GetPolicyInstancesOutput>> getPolicyInstances(
- GetPolicyInstancesInput input) {
- log.info("Start of getPolicyInstances");
- String uri = nearRicUrlProvider.getPolicyInstances(String.valueOf(input.getNearRtRicId()),
- String.valueOf(input.getPolicyTypeId()));
- Optional<List<String>> 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.info("End of getPolicyInstances");
- RpcResult<GetPolicyInstancesOutput> rpcResult = RpcResultBuilder
- .<GetPolicyInstancesOutput>status(true).withResult(responseBuilder.build()).build();
- return Futures.immediateFuture(rpcResult);
- }
+ public ListenableFuture<RpcResult<GetA1PolicyTypeOutput>> getA1PolicyType(GetA1PolicyTypeInput input) {
+ GetA1PolicyInputBuilder getInputBuilder = new GetA1PolicyInputBuilder();
+ getInputBuilder.setNearRtRicUrl(input.getNearRtRicUrl());
+ GetA1PolicyOutput getOutput = getA1(getInputBuilder.build());
- @Override
- public ListenableFuture<RpcResult<GetPolicyTypeOutput>> getPolicyType(GetPolicyTypeInput input) {
- 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<String> policyType = restAdapter.get(uri, String.class);
- GetPolicyTypeOutputBuilder responseBuilder = new GetPolicyTypeOutputBuilder();
- 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.info("End of getPolicyType");
- RpcResult<GetPolicyTypeOutput> rpcResult = RpcResultBuilder.<GetPolicyTypeOutput>status(true)
- .withResult(responseBuilder.build()).build();
- return Futures.immediateFuture(rpcResult);
- }
+ GetA1PolicyTypeOutputBuilder outputBuilder = new GetA1PolicyTypeOutputBuilder();
+ outputBuilder.setBody(getOutput.getBody());
+ outputBuilder.setHttpStatus(getOutput.getHttpStatus());
- @Override
- public ListenableFuture<RpcResult<GetPolicyTypesOutput>> getPolicyTypes(
- GetPolicyTypesInput input) {
- log.info("Start of getPolicyTypes");
- String uri = nearRicUrlProvider.getPolicyTypes(String.valueOf(input.getNearRtRicId()));
- Optional<List<Integer>> policyTypes = restAdapter.get(uri, List.class);
- GetPolicyTypesOutputBuilder responseBuilder = new GetPolicyTypesOutputBuilder();
- if (policyTypes.isPresent()) {
- log.info("Response policyTypes.get() : {} ", policyTypes.get());
- List<Integer> policyTypesListInteger = policyTypes.get();
- List<Long> policyTypesListLong = new ArrayList<>();
- for(Integer i : policyTypesListInteger){
- policyTypesListLong.add(i.longValue());
- }
- responseBuilder.setPolicyTypeIdList(policyTypesListLong);
- }
- log.info("End of getPolicyTypes");
- RpcResult<GetPolicyTypesOutput> rpcResult = RpcResultBuilder.<GetPolicyTypesOutput>status(true)
- .withResult(responseBuilder.build()).build();
- return Futures.immediateFuture(rpcResult);
+ return Futures.immediateFuture(RpcResultBuilder.<GetA1PolicyTypeOutput>status(true) //
+ .withResult(outputBuilder.build()) //
+ .build());
}
- @Override
- public ListenableFuture<RpcResult<GetStatusOutput>> getStatus(GetStatusInput input) {
- log.info("Start of getStatus");
- String uri = nearRicUrlProvider.getPolicyInstanceIdStatus(String.valueOf(input.getNearRtRicId()),
- String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
- Optional<String> status = restAdapter.get(uri, String.class);
- GetStatusOutputBuilder responseBuilder = new GetStatusOutputBuilder();
- 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<GetStatusOutput> rpcResult =
- RpcResultBuilder.<GetStatusOutput>status(true).withResult(responseBuilder.build()).build();
- return Futures.immediateFuture(rpcResult);
- }
}