X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=tapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Ftapi%2Fconnectivity%2FTapiConnectivityImpl.java;h=cd5d1da72a2609f76cdf9bf07f60f8bd76dfb56f;hb=2bc492b9e47dbc3122948d32b132ca3a939b5834;hp=7011804a85fc278ba46bc87081fd852f69f9bcba;hpb=1356c25b3553c36a5b7b4119435b8e1b96426e68;p=transportpce.git diff --git a/tapi/src/main/java/org/opendaylight/transportpce/tapi/connectivity/TapiConnectivityImpl.java b/tapi/src/main/java/org/opendaylight/transportpce/tapi/connectivity/TapiConnectivityImpl.java index 7011804a8..cd5d1da72 100644 --- a/tapi/src/main/java/org/opendaylight/transportpce/tapi/connectivity/TapiConnectivityImpl.java +++ b/tapi/src/main/java/org/opendaylight/transportpce/tapi/connectivity/TapiConnectivityImpl.java @@ -271,27 +271,36 @@ public class TapiConnectivityImpl implements TapiConnectivityService { DeleteConnectivityServiceInput input) { //TODO Auto-generated method stub // TODO add try - Uuid serviceUuid = new Uuid(input.getServiceIdOrName()); - this.tapiContext.deleteConnectivityService(serviceUuid); - ListenableFuture> output = - this.serviceHandler.serviceDelete(new ServiceDeleteInputBuilder() - .setServiceDeleteReqInfo(new ServiceDeleteReqInfoBuilder() - .setServiceName(input.getServiceIdOrName()) - .setTailRetention(ServiceDeleteReqInfo.TailRetention.No) - .build()) - .setSdncRequestHeader(new SdncRequestHeaderBuilder() - .setRequestId("request-1") - .setRpcAction(RpcActions.ServiceDelete) - .setNotificationUrl("notification url") - .setRequestSystemId("appname") - .build()) - .build()); - if (output == null) { - return RpcResultBuilder.failed().withError(RpcError.ErrorType.RPC, - "Failed to delete Link").buildFuture(); + if (input.getServiceIdOrName() != null) { + try { + Uuid serviceUuid = new Uuid(input.getServiceIdOrName()); + this.tapiContext.deleteConnectivityService(serviceUuid); + ListenableFuture> output = + this.serviceHandler.serviceDelete(new ServiceDeleteInputBuilder() + .setServiceDeleteReqInfo(new ServiceDeleteReqInfoBuilder() + .setServiceName(input.getServiceIdOrName()) + .setTailRetention(ServiceDeleteReqInfo.TailRetention.No) + .build()) + .setSdncRequestHeader(new SdncRequestHeaderBuilder() + .setRequestId("request-1") + .setRpcAction(RpcActions.ServiceDelete) + .setNotificationUrl("notification url") + .setRequestSystemId("appname") + .build()) + .build()); + RpcResult rpcResult = output.get(); + if (!rpcResult.getResult().getConfigurationResponseCommon().getResponseCode() + .equals(ResponseCodes.RESPONSE_FAILED)) { + LOG.info("Service is being deleted and devices are being rolled back"); + return RpcResultBuilder.success(new DeleteConnectivityServiceOutputBuilder().build()).buildFuture(); + } + LOG.error("Failed to delete service. Deletion process failed"); + } catch (InterruptedException | ExecutionException e) { + LOG.error("Failed to delete service.", e); + } } - LOG.info("Service is being deleted and devices are being rolled back"); - return RpcResultBuilder.success(new DeleteConnectivityServiceOutputBuilder().build()).buildFuture(); + return RpcResultBuilder.failed().withError(RpcError.ErrorType.RPC, + "Failed to delete Service").buildFuture(); } @Override