SfcProviderRpc implements ServiceFunctionService, ServiceFunctionChainService, RenderedServicePathService,
        ServicePathIdService, RenderedIoamPathService { @Override public Future<RpcResult<DeleteRenderedPathOutput>> deleteRenderedPath(DeleteRenderedPathInput input) { boolean ret = true; RpcResultBuilder<DeleteRenderedPathOutput> rpcResultBuilder; RspName rspName = new RspName(input.getName()); RspName reverseRspName = SfcProviderRenderedPathAPI.getReversedRspName(rspName); if (reverseRspName != null) { ret = (ret && this.deleteRenderedPathWithRspName(reverseRspName)); } ret = (ret && this.deleteRenderedPathWithRspName(rspName)); DeleteRenderedPathOutputBuilder deleteRenderedPathOutputBuilder = new DeleteRenderedPathOutputBuilder(); deleteRenderedPathOutputBuilder.setResult(ret); if (ret) { rpcResultBuilder = RpcResultBuilder.success(deleteRenderedPathOutputBuilder.build()); } else { String message = "Error Deleting Rendered Service Path: " + input.getName(); rpcResultBuilder = RpcResultBuilder.<DeleteRenderedPathOutput>failed().withError(ErrorType.APPLICATION, message); } return Futures.immediateFuture(rpcResultBuilder.build()); }  static SfcProviderRpc getSfcProviderRpc(); void setDataProvider(DataBroker r); static void setDataProviderAux(DataBroker r); @Override Future<RpcResult<Void>> deleteAllServiceFunction(); @Override Future<RpcResult<Void>> deleteServiceFunction(DeleteServiceFunctionInput input); @Override Future<RpcResult<Void>> putServiceFunction(PutServiceFunctionInput input); @Override Future<RpcResult<ReadServiceFunctionOutput>> readServiceFunction(ReadServiceFunctionInput input); @Override Future<RpcResult<InstantiateServiceFunctionChainOutput>> instantiateServiceFunctionChain(
            InstantiateServiceFunctionChainInput input); @Override Future<RpcResult<Void>> putServiceFunctionChains(PutServiceFunctionChainsInput input); @Override Future<RpcResult<CreateRenderedPathOutput>> createRenderedPath(
            CreateRenderedPathInput createRenderedPathInput); @Override Future<RpcResult<DeleteRenderedPathOutput>> deleteRenderedPath(DeleteRenderedPathInput input); @Override Future<RpcResult<ReadRenderedServicePathFirstHopOutput>> readRenderedServicePathFirstHop(
            ReadRenderedServicePathFirstHopInput input); @Override Future<RpcResult<ReadRspFirstHopBySftListOutput>> readRspFirstHopBySftList(
            ReadRspFirstHopBySftListInput input); @Override Future<RpcResult<TraceRenderedServicePathOutput>> traceRenderedServicePath(
            TraceRenderedServicePathInput input); @Override Future<RpcResult<ReservePathIdRangeOutput>> reservePathIdRange(ReservePathIdRangeInput input); @Override Future<RpcResult<ReadPathIdOutput>> readPathId(ReadPathIdInput input); @Override Future<RpcResult<AllocatePathIdOutput>> allocatePathId(AllocatePathIdInput input); @Override Future<RpcResult<DeletePathIdOutput>> deletePathId(DeletePathIdInput input); @Override Future<RpcResult<SetGenerationAlgorithmOutput>> setGenerationAlgorithm(SetGenerationAlgorithmInput input); @Override Future<RpcResult<CreateIoamPathOutput>> createIoamPath(final CreateIoamPathInput input); @Override Future<RpcResult<DeleteIoamPathOutput>> deleteIoamPath(DeleteIoamPathInput input);  }
@Test public void deleteRenderedPathTest() throws Exception { init(); final RspName pathName1 = new RspName("rspName1"); final RspName pathName1Reverse = new RspName("rspName1-Reverse"); final RspName pathName2 = new RspName("rspName2"); assertRenderedServicePathDoesNotExist(pathName1); createRenderedServicePath(pathName1); assertRenderedServicePathExists(pathName1); deleteRenderedServicePath(pathName1); assertRenderedServicePathDoesNotExist(pathName1); assertRenderedServicePathDoesNotExist(pathName1); createRenderedServicePath(pathName1); assertRenderedServicePathExists(pathName1); assertRenderedServicePathExists(pathName1Reverse); deleteRenderedServicePath(pathName1); assertRenderedServicePathDoesNotExist(pathName1); assertRenderedServicePathDoesNotExist(pathName1Reverse); assertRenderedServicePathDoesNotExist(pathName2); createRenderedServicePath(pathName1); createRenderedServicePath(pathName2); assertRenderedServicePathExists(pathName1); assertRenderedServicePathExists(pathName2); deleteRenderedServicePath(pathName1); assertRenderedServicePathDoesNotExist(pathName1); assertRenderedServicePathExists(pathName2); deleteRenderedServicePath(pathName2); assertRenderedServicePathDoesNotExist(pathName1); assertRenderedServicePathDoesNotExist(pathName2); deleteRenderedServicePath(pathName1); assertRenderedServicePathDoesNotExist(pathName1); }