package org.opendaylight.transportpce.renderer.rpcs;
-import java.util.concurrent.Future;
-
+import com.google.common.util.concurrent.ListenableFuture;
+import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException;
import org.opendaylight.transportpce.renderer.provisiondevice.DeviceRendererService;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.renderer.rev170228.CreateOtsOmsInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.renderer.rev170228.CreateOtsOmsOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.renderer.rev170228.RendererRollbackInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.renderer.rev170228.RendererRollbackOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.renderer.rev170228.RendererService;
* @return Result of the request
*/
@Override
- public Future<RpcResult<ServicePathOutput>> servicePath(ServicePathInput input) {
+ public ListenableFuture<RpcResult<ServicePathOutput>> servicePath(ServicePathInput input) {
if (input.getOperation().getIntValue() == 1) {
LOG.info("Create operation request received");
- return RpcResultBuilder.success(deviceRenderer.setupServicePath(input, null)).buildFuture();
+ return RpcResultBuilder.success(this.deviceRenderer.setupServicePath(input, null)).buildFuture();
} else if (input.getOperation().getIntValue() == 2) {
LOG.info("Delete operation request received");
- return RpcResultBuilder.success(deviceRenderer.deleteServicePath(input)).buildFuture();
+ return RpcResultBuilder.success(this.deviceRenderer.deleteServicePath(input)).buildFuture();
}
return RpcResultBuilder.success(new ServicePathOutputBuilder().setResult("Invalid operation")).buildFuture();
}
/**
* Rollback created interfaces and cross connects specified by input.
*
- * @param input Lists of created interfaces and connections per node
+ * @param input
+ * Lists of created interfaces and connections per node
* @return Success flag and nodes which failed to rollback
*/
@Override
- public Future<RpcResult<RendererRollbackOutput>> rendererRollback(RendererRollbackInput input) {
- return RpcResultBuilder.success(deviceRenderer.rendererRollback(input)).buildFuture();
+ public ListenableFuture<RpcResult<RendererRollbackOutput>> rendererRollback(RendererRollbackInput input) {
+ return RpcResultBuilder.success(this.deviceRenderer.rendererRollback(input)).buildFuture();
+ }
+
+ @Override
+ public ListenableFuture<RpcResult<CreateOtsOmsOutput>> createOtsOms(CreateOtsOmsInput input) {
+ LOG.info("Request received to create oms and ots interfaces on {}: {}", input.getNodeId(), input
+ .getLogicalConnectionPoint());
+ try {
+ return RpcResultBuilder.success(deviceRenderer.createOtsOms(input)).buildFuture();
+ } catch (OpenRoadmInterfaceException e) {
+ LOG.error("failed to send request to create oms and ots interfaces on {}: {}", input.getNodeId(),
+ input.getLogicalConnectionPoint(),e);
+ }
+ return null;
}
}