Merge "device group registry exposes all registered group IDs"
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / services / NodeConfigServiceImpl.java
index e028febe16ff49916da9c173744634734270897d..052a1e212175650493ef2be6c9c435b3bc186216 100644 (file)
@@ -23,14 +23,13 @@ import java.util.concurrent.Future;
 /**
  * @author joe
  */
-// TODO: implement this
 public class NodeConfigServiceImpl extends CommonService implements NodeConfigService {
 
 
     @Override
     public Future<RpcResult<SetConfigOutput>> setConfig(final SetConfigInput input) {
-        final RequestContext requestContext = rpcContext.createRequestContext();
-        final SettableFuture<RpcResult<SetConfigOutput>> result = rpcContext.storeOrFail(requestContext);
+        final RequestContext requestContext = requestContextStack.createRequestContext();
+        final SettableFuture<RpcResult<SetConfigOutput>> result = requestContextStack.storeOrFail(requestContext);
         if (!result.isDone()) {
             SetConfigInputBuilder builder = new SetConfigInputBuilder();
             SwitchConfigFlag flag = SwitchConfigFlag.valueOf(input.getFlag());
@@ -40,10 +39,10 @@ public class NodeConfigServiceImpl extends CommonService implements NodeConfigSe
             builder.setMissSendLen(input.getMissSearchLength());
             builder.setVersion(version);
             ListenableFuture<RpcResult<Void>> futureResultFromOfLib = JdkFutureAdapters.listenInPoolThread(deviceContext.getPrimaryConnectionContext().getConnectionAdapter().setConfig(builder.build()));
-            RpcResultConvertor<SetConfigOutput> rpcResultConvertor = new RpcResultConvertor<>(requestContext);
-            rpcResultConvertor.processResultFromOfJava(futureResultFromOfLib, getWaitTime());
+            OFJResult2RequestCtxFuture<SetConfigOutput> OFJResult2RequestCtxFuture = new OFJResult2RequestCtxFuture<>(requestContext, deviceContext);
+            OFJResult2RequestCtxFuture.processResultFromOfJava(futureResultFromOfLib);
         } else {
-            requestContext.close();
+            RequestContextUtil.closeRequstContext(requestContext);
         }
         return result;
     }