SalFlowServiceImpl - implementing methods
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / services / SalGroupServiceImpl.java
index c0ec64511b5ab5d2366ac8d9408f1d62a53aef3b..1b03a27423d4e635906efdcf7bbd4ce10c40b4e0 100644 (file)
@@ -7,7 +7,7 @@
  */
 package org.opendaylight.openflowplugin.impl.services;
 
-import org.opendaylight.openflowplugin.api.openflow.rpc.RpcContext;
+import java.util.concurrent.Future;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.AddGroupInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.AddGroupOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.RemoveGroupInput;
@@ -17,7 +17,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.Upd
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.UpdateGroupOutput;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.slf4j.Logger;
-import java.util.concurrent.Future;
 
 /**
  * @author joe
@@ -30,12 +29,19 @@ public class SalGroupServiceImpl extends CommonService implements SalGroupServic
     public Future<RpcResult<AddGroupOutput>> addGroup(final AddGroupInput input) {
         // LOG.debug("Calling the GroupMod RPC method on MessageDispatchService");
         //
-        // // use primary connection
-        // final SwitchConnectionDistinguisher cookie = null;
+        // ListenableFuture<RpcResult<UpdateGroupOutput>> result = SettableFuture.create();
+        //
+        // // Convert the AddGroupInput to GroupModInput
+        // final GroupModInputBuilder ofGroupModInput = GroupConvertor.toGroupModInput(input, version, datapathId);
+        // final Xid xId = deviceContext.getNextXid();
+        // ofGroupModInput.setXid(xId.getValue());
         //
-        // final OFRpcTask<AddGroupInput, RpcResult<UpdateGroupOutput>> task = OFRpcTaskFactory.createAddGroupTask(
-        // rpcTaskContext, input, cookie);
-        // final ListenableFuture<RpcResult<UpdateGroupOutput>> result = task.submit();
+        // final Future<RpcResult<UpdateGroupOutput>> resultFromOFLib = messageService.groupMod(ofGroupModInput.build(),
+        // cookie);
+        // result = JdkFutureAdapters.listenInPoolThread(resultFromOFLib);
+        //
+        // result = chainFutureBarrier(result);
+        // hookFutureNotification(result, notificationProviderService, createGroupAddedNotification(input));
         //
         // return Futures.transform(result, OFRpcFutureResultTransformFactory.createForAddGroupOutput());
         return null;
@@ -46,27 +52,46 @@ public class SalGroupServiceImpl extends CommonService implements SalGroupServic
         // LOG.debug("Calling the update Group Mod RPC method on MessageDispatchService");
         //
         // // use primary connection
-        // final SwitchConnectionDistinguisher cookie = null;
         //
-        // final OFRpcTask<UpdateGroupInput, RpcResult<UpdateGroupOutput>> task =
-        // OFRpcTaskFactory.createUpdateGroupTask(
-        // rpcTaskContext, input, cookie);
-        // final ListenableFuture<RpcResult<UpdateGroupOutput>> result = task.submit();
+        // ListenableFuture<RpcResult<UpdateGroupOutput>> result = null;
+        //
+        // // Convert the UpdateGroupInput to GroupModInput
+        // final GroupModInputBuilder ofGroupModInput = GroupConvertor.toGroupModInput(input.getUpdatedGroup(), version,
+        // datapathId);
+        // final Xid xId = deviceContext.getNextXid();
+        // ofGroupModInput.setXid(xId.getValue());
+        //
+        // final Future<RpcResult<UpdateGroupOutput>> resultFromOFLib = messageService.groupMod(ofGroupModInput.build(),
+        // cookie);
+        // result = JdkFutureAdapters.listenInPoolThread(resultFromOFLib);
         //
-        return null;// return result;
+        // result = chainFutureBarrier(result);
+        // hookFutureNotification(result, notificationProviderService, createGroupUpdatedNotification(input));
+        //
+        // return result;
+        return null;
     }
 
     @Override
     public Future<RpcResult<RemoveGroupOutput>> removeGroup(final RemoveGroupInput input) {
         // LOG.debug("Calling the Remove Group RPC method on MessageDispatchService");
         //
-        // final SwitchConnectionDistinguisher cookie = null;
-        // final OFRpcTask<RemoveGroupInput, RpcResult<UpdateGroupOutput>> task =
-        // OFRpcTaskFactory.createRemoveGroupTask(
-        // rpcTaskContext, input, cookie);
-        // final ListenableFuture<RpcResult<UpdateGroupOutput>> result = task.submit();
+        // ListenableFuture<RpcResult<UpdateGroupOutput>> result = SettableFuture.create();
+        //
+        // // Convert the AddGroupInput to GroupModInput
+        // final GroupModInputBuilder ofGroupModInput = GroupConvertor.toGroupModInput(input, version, datapathId);
+        // final Xid xId = deviceContext.getNextXid();
+        // ofGroupModInput.setXid(xId.getValue());
+        //
+        // final Future<RpcResult<UpdateGroupOutput>> resultFromOFLib = messageService.groupMod(ofGroupModInput.build(),
+        // cookie);
+        // result = JdkFutureAdapters.listenInPoolThread(resultFromOFLib);
+        //
+        // result = chainFutureBarrier(result);
+        // hookFutureNotification(result, notificationProviderService, createGroupRemovedNotification(input));
         //
         // return Futures.transform(result, OFRpcFutureResultTransformFactory.createForRemoveGroupOutput());
         return null;
     }
+
 }