- public Future<RpcResult<Void>> updateFlow(UpdateFlowInput input) {
- try {
- Node node = NodeMapping.toADNode(input.getNode());
- Flow originalFlow = ToSalConversionsUtils.toFlow(input.getOriginalFlow());
- Flow updatedFlow = ToSalConversionsUtils.toFlow(input.getUpdatedFlow());
- Status status = delegate.modifyFlowAsync(node, originalFlow, updatedFlow);
- Void rpcResultType = null;
- return Futures.immediateFuture(Rpcs.getRpcResult(status.isSuccess(), rpcResultType, null));
- } catch (ConstructionException e) {
- LOG.error(e.getMessage());
- }
- return null;
+ public ListenableFuture<RpcResult<UpdateFlowOutput>> updateFlow(UpdateFlowInput input) {
+ @SuppressWarnings("unchecked")
+ org.opendaylight.controller.sal.core.Node node = InventoryMapping.toAdNode((InstanceIdentifier<Node>) input
+ .getNode().getValue());
+ Flow originalFlow = ToSalConversionsUtils.toFlow(input.getOriginalFlow(), null);
+ Flow updatedFlow = ToSalConversionsUtils.toFlow(input.getUpdatedFlow(), null);
+ Status status = delegate.modifyFlowAsync(node, originalFlow, updatedFlow);
+ UpdateFlowOutputBuilder builder = new UpdateFlowOutputBuilder();
+ builder.setTransactionId(new TransactionId(BigInteger.valueOf(status.getRequestId())));
+ UpdateFlowOutput rpcResultType = builder.build();
+ throw new UnsupportedOperationException("Need to translate AD-SAL status to MD-SAL UpdateFlowOuptut - eaw@cisco.com");
+ // return Futures.immediateFuture(Rpcs.getRpcResult(status.isSuccess(), rpcResultType, null));