Returning of future from request context - NodeConfigService. 12/20812/2
authorJozef Gloncak <jgloncak@cisco.com>
Wed, 20 May 2015 13:28:02 +0000 (15:28 +0200)
committerJozef Gloncak <jgloncak@cisco.com>
Thu, 21 May 2015 06:05:46 +0000 (06:05 +0000)
Change-Id: I8f9fd184428378e3039ac6d3ab5345f2456ccc9f
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/NodeConfigServiceImpl.java

index 028f51d616748fabd5c272cad1dcf1e3902689b5..b04f5ed854b83c8fc7fe40a7d784236399fd409a 100644 (file)
@@ -53,23 +53,27 @@ public class NodeConfigServiceImpl extends CommonService implements NodeConfigSe
         final SettableFuture<RpcResult<SetConfigOutput>> settableFuture = SettableFuture.create();
         final org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.SetConfigInput setConfigInput = builder.build();
         outboundQueue.commitEntry(xid.getValue(), setConfigInput, new FutureCallback<OfHeader>() {
+
+            RpcResultBuilder<SetConfigOutput> rpcResultBuilder;
             @Override
             public void onSuccess(final OfHeader ofHeader) {
+                rpcResultBuilder =  RpcResultBuilder.<SetConfigOutput>success();
+                requestContext.setResult(rpcResultBuilder.build());
                 RequestContextUtil.closeRequstContext(requestContext);
-                getMessageSpy().spyMessage(setConfigInput.getImplementedInterface(), MessageSpy.STATISTIC_GROUP.TO_SWITCH_SUBMIT_SUCCESS);
 
-                settableFuture.set(RpcResultBuilder.<SetConfigOutput>success().build());
+                getMessageSpy().spyMessage(setConfigInput.getImplementedInterface(), MessageSpy.STATISTIC_GROUP.TO_SWITCH_SUBMIT_SUCCESS);
             }
 
             @Override
             public void onFailure(final Throwable throwable) {
-                RpcResultBuilder<SetConfigOutput> rpcResultBuilder = RpcResultBuilder.<SetConfigOutput>failed().withError(RpcError.ErrorType.APPLICATION, throwable.getMessage(), throwable);
+                rpcResultBuilder = RpcResultBuilder.<SetConfigOutput>failed().withError(RpcError.ErrorType.APPLICATION, throwable.getMessage(), throwable);
+                requestContext.setResult(rpcResultBuilder.build());
                 RequestContextUtil.closeRequstContext(requestContext);
+
                 getMessageSpy().spyMessage(setConfigInput.getImplementedInterface(), MessageSpy.STATISTIC_GROUP.TO_SWITCH_SUBMIT_FAILURE);
-                settableFuture.set(rpcResultBuilder.build());
             }
         });
-        return settableFuture;
+        return requestContext.getFuture();
 
     }
 }