Switch to MD-SAL APIs
[openflowplugin.git] / test-provider / src / main / java / org / opendaylight / openflowplugin / test / OpenflowpluginGroupTestCommandProvider.java
index 6bef0c1926ae316ffc1d8eb103cf8d60df327114..2c47a55b8aad9e3294cf98ac270202b7bc62d182 100644 (file)
@@ -5,22 +5,19 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.openflowplugin.test;
 
-import com.google.common.util.concurrent.CheckedFuture;
+import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.MoreExecutors;
 import java.util.ArrayList;
 import java.util.List;
 import org.eclipse.osgi.framework.console.CommandInterpreter;
 import org.eclipse.osgi.framework.console.CommandProvider;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Uri;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.CopyTtlInCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.CopyTtlOutCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.DecMplsTtlCaseBuilder;
@@ -67,7 +64,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.GroupBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.GroupKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
@@ -75,70 +71,59 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.N
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.osgi.framework.BundleContext;
 
+@SuppressWarnings("checkstyle:MethodName")
 public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
+    private static final String ORIGINAL_GROUP_NAME = "Foo";
 
-    private DataBroker dataBroker;
-    private ProviderContext pc;
+    private final DataBroker dataBroker;
     private final BundleContext ctx;
     private Group testGroup;
-    private Group testGroup2;
     private Node testNode;
-    private final String originalGroupName = "Foo";
-    private final String updatedGroupName = "Bar";
 
-    public OpenflowpluginGroupTestCommandProvider(BundleContext ctx) {
+    public OpenflowpluginGroupTestCommandProvider(DataBroker dataBroker, BundleContext ctx) {
+        this.dataBroker = dataBroker;
         this.ctx = ctx;
     }
 
-    public void onSessionInitiated(ProviderContext session) {
-        pc = session;
-        dataBroker = session.getSALService(DataBroker.class);
+    public void init() {
         ctx.registerService(CommandProvider.class.getName(), this, null);
         createTestNode();
     }
 
     private void createUserNode(String nodeRef) {
-        NodeRef nodeOne = createNodeRef(nodeRef);
         NodeBuilder builder = new NodeBuilder();
         builder.setId(new NodeId(nodeRef));
-        builder.setKey(new NodeKey(builder.getId()));
+        builder.withKey(new NodeKey(builder.getId()));
         testNode = builder.build();
     }
 
     private void createTestNode() {
-        NodeRef nodeOne = createNodeRef(OpenflowpluginTestActivator.NODE_ID);
         NodeBuilder builder = new NodeBuilder();
         builder.setId(new NodeId(OpenflowpluginTestActivator.NODE_ID));
-        builder.setKey(new NodeKey(builder.getId()));
+        builder.withKey(new NodeKey(builder.getId()));
         testNode = builder.build();
     }
 
     private InstanceIdentifier<Node> nodeToInstanceId(Node node) {
-        return InstanceIdentifier.create(Nodes.class).child(Node.class, node.getKey());
+        return InstanceIdentifier.create(Nodes.class).child(Node.class, node.key());
     }
 
-    private GroupBuilder createTestGroup(String actiontype, String type, String mod) {
+    private GroupBuilder createTestGroup(String actionType, String groupType, String groupMod) {
         // Sample data , committing to DataStore
 
-        String GroupType = type;
-        String ActionType = actiontype;
-        String Groupmod = mod;
-
-        long id = 1;
-        GroupKey key = new GroupKey(new GroupId(id));
         GroupBuilder group = new GroupBuilder();
         BucketBuilder bucket = new BucketBuilder();
         bucket.setBucketId(new BucketId((long) 12));
-        bucket.setKey(new BucketKey(new BucketId((long) 12)));
+        bucket.withKey(new BucketKey(new BucketId((long) 12)));
 
-        if (GroupType == null) {
-            GroupType = "g1";
+        if (groupType == null) {
+            groupType = "g1";
         }
-        if (ActionType == null) {
-            ActionType = "a1";
+        if (actionType == null) {
+            actionType = "a1";
         }
 
-        switch (GroupType) {
+        switch (groupType) {
             case "g1":
                 group.setGroupType(GroupTypes.GroupSelect);
                 break;
@@ -151,9 +136,11 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
             case "g4":
                 group.setGroupType(GroupTypes.GroupFf);
                 break;
+            default:
+                break;
         }
 
-        switch (ActionType) {
+        switch (actionType) {
             case "a1":
                 bucket.setAction(createPopVlanAction());
                 break;
@@ -170,8 +157,6 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
                 bucket.setAction(createPopPbbAction());
                 break;
             case "a6":
-                bucket.setAction(createPushPbbAction());
-                break;
             case "a7":
                 bucket.setAction(createPushPbbAction());
                 break;
@@ -238,10 +223,11 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
             case "a28":
                 bucket.setAction(createNonAppyPushVlanAction());
                 break;
-
+            default:
+                break;
         }
 
-        if (Groupmod == "add") {
+        if ("add".equals(groupMod)) {
             bucket.setWatchGroup((long) 14);
             bucket.setWatchPort((long) 1234);
             bucket.setWeight(50);
@@ -250,13 +236,16 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
             bucket.setWatchPort((long) 134);
             bucket.setWeight(30);
         }
-        group.setKey(key);
+
+        long id = 1;
+        GroupKey key = new GroupKey(new GroupId(id));
+        group.withKey(key);
         // group.setInstall(false);
         group.setGroupId(new GroupId(id));
-        group.setGroupName(originalGroupName);
+        group.setGroupName(ORIGINAL_GROUP_NAME);
         group.setBarrier(false);
         BucketsBuilder value = new BucketsBuilder();
-        List<Bucket> value1 = new ArrayList<Bucket>();
+        List<Bucket> value1 = new ArrayList<>();
         value1.add(bucket.build());
         value.setBucket(value1);
         group.setBuckets(value.build());
@@ -269,8 +258,8 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         PopVlanActionBuilder vlanAction = new PopVlanActionBuilder();
         ActionBuilder action = new ActionBuilder();
         action.setAction(new PopVlanActionCaseBuilder().setPopVlanAction(vlanAction.build()).build());
-        action.setKey(new ActionKey(0));
-        List<Action> actions = new ArrayList<Action>();
+        action.withKey(new ActionKey(0));
+        List<Action> actions = new ArrayList<>();
         actions.add(action.build());
         return actions;
     }
@@ -280,7 +269,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         vlan.setEthernetType(0x8100);
         ActionBuilder action = new ActionBuilder();
         action.setAction(new PushVlanActionCaseBuilder().setPushVlanAction(vlan.build()).build());
-        List<Action> actions = new ArrayList<Action>();
+        List<Action> actions = new ArrayList<>();
         actions.add(action.build());
         return actions;
     }
@@ -290,7 +279,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         push.setEthernetType(0x8847);
         ActionBuilder action = new ActionBuilder();
         action.setAction(new PushMplsActionCaseBuilder().setPushMplsAction(push.build()).build());
-        List<Action> actions = new ArrayList<Action>();
+        List<Action> actions = new ArrayList<>();
         actions.add(action.build());
         return actions;
     }
@@ -300,7 +289,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         popMplsActionBuilder.setEthernetType(0XB);
         ActionBuilder action = new ActionBuilder();
         action.setAction(new PopMplsActionCaseBuilder().setPopMplsAction(popMplsActionBuilder.build()).build());
-        List<Action> actions = new ArrayList<Action>();
+        List<Action> actions = new ArrayList<>();
         actions.add(action.build());
         return actions;
     }
@@ -309,7 +298,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         PopPbbActionBuilder popPbbActionBuilder = new PopPbbActionBuilder();
         ActionBuilder action = new ActionBuilder();
         action.setAction(new PopPbbActionCaseBuilder().setPopPbbAction(popPbbActionBuilder.build()).build());
-        List<Action> actions = new ArrayList<Action>();
+        List<Action> actions = new ArrayList<>();
         actions.add(action.build());
         return actions;
     }
@@ -319,7 +308,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         pbb.setEthernetType(0x88E7);
         ActionBuilder action = new ActionBuilder();
         action.setAction(new PushPbbActionCaseBuilder().setPushPbbAction(pbb.build()).build());
-        List<Action> actions = new ArrayList<Action>();
+        List<Action> actions = new ArrayList<>();
         actions.add(action.build());
         return actions;
     }
@@ -328,8 +317,9 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         SetMplsTtlActionBuilder setMplsTtlActionBuilder = new SetMplsTtlActionBuilder();
         setMplsTtlActionBuilder.setMplsTtl((short) 0X1);
         ActionBuilder action = new ActionBuilder();
-        action.setAction(new SetMplsTtlActionCaseBuilder().setSetMplsTtlAction(setMplsTtlActionBuilder.build()).build());
-        List<Action> actions = new ArrayList<Action>();
+        action.setAction(new SetMplsTtlActionCaseBuilder().setSetMplsTtlAction(
+                setMplsTtlActionBuilder.build()).build());
+        List<Action> actions = new ArrayList<>();
         actions.add(action.build());
         return actions;
     }
@@ -339,7 +329,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         setNwTtlActionBuilder.setNwTtl((short) 1);
         ActionBuilder action = new ActionBuilder();
         action.setAction(new SetNwTtlActionCaseBuilder().setSetNwTtlAction(setNwTtlActionBuilder.build()).build());
-        List<Action> actions = new ArrayList<Action>();
+        List<Action> actions = new ArrayList<>();
         actions.add(action.build());
         return actions;
     }
@@ -349,8 +339,8 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         setQueueActionBuilder.setQueueId(1L);
         ActionBuilder action = new ActionBuilder();
         action.setAction(new SetQueueActionCaseBuilder().setSetQueueAction(setQueueActionBuilder.build()).build());
-        action.setKey(new ActionKey(0));
-        List<Action> actions = new ArrayList<Action>();
+        action.withKey(new ActionKey(0));
+        List<Action> actions = new ArrayList<>();
         actions.add(action.build());
         return actions;
     }
@@ -360,7 +350,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         CopyTtlInBuilder ttlin = new CopyTtlInBuilder();
         ActionBuilder action = new ActionBuilder();
         action.setAction(new CopyTtlInCaseBuilder().setCopyTtlIn(ttlin.build()).build());
-        List<Action> actions = new ArrayList<Action>();
+        List<Action> actions = new ArrayList<>();
         actions.add(action.build());
         return actions;
     }
@@ -369,7 +359,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         CopyTtlOutBuilder ttlout = new CopyTtlOutBuilder();
         ActionBuilder action = new ActionBuilder();
         action.setAction(new CopyTtlOutCaseBuilder().setCopyTtlOut(ttlout.build()).build());
-        List<Action> actions = new ArrayList<Action>();
+        List<Action> actions = new ArrayList<>();
         actions.add(action.build());
         return actions;
     }
@@ -378,7 +368,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         DecMplsTtlBuilder mpls = new DecMplsTtlBuilder();
         ActionBuilder action = new ActionBuilder();
         action.setAction(new DecMplsTtlCaseBuilder().setDecMplsTtl(mpls.build()).build());
-        List<Action> actions = new ArrayList<Action>();
+        List<Action> actions = new ArrayList<>();
         actions.add(action.build());
         return actions;
     }
@@ -387,7 +377,6 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         DecNwTtlBuilder nwttl = new DecNwTtlBuilder();
         ActionBuilder action = new ActionBuilder();
         action.setAction(new DecNwTtlCaseBuilder().setDecNwTtl(nwttl.build()).build());
-        List<Action> actions = new ArrayList<Action>();
 
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
@@ -395,141 +384,140 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         Uri value = new Uri("2");
         output.setOutputNodeConnector(value);
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
-        ab.setKey(new ActionKey(0));
+        ab.withKey(new ActionKey(0));
         ab.setOrder(0);
+
+        List<Action> actions = new ArrayList<>();
         actions.add(ab.build());
         actions.add(action.build());
         return actions;
     }
 
     private List<Action> createFloodOutputAction() {
-
-        List<Action> actions = new ArrayList<Action>();
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(30);
         Uri value = new Uri(OutputPortValues.FLOOD.toString());
         output.setOutputNodeConnector(value);
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
-        ab.setKey(new ActionKey(0));
+        ab.withKey(new ActionKey(0));
+
+        List<Action> actions = new ArrayList<>();
         actions.add(ab.build());
         return actions;
     }
 
     private List<Action> createAllOutputAction() {
-
-        List<Action> actions = new ArrayList<Action>();
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(30);
         Uri value = new Uri(OutputPortValues.ALL.toString());
         output.setOutputNodeConnector(value);
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
-        ab.setKey(new ActionKey(0));
+        ab.withKey(new ActionKey(0));
+
+        List<Action> actions = new ArrayList<>();
         actions.add(ab.build());
         return actions;
     }
 
     private List<Action> createAnyOutputAction() {
-
-        List<Action> actions = new ArrayList<Action>();
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(30);
         Uri value = new Uri(OutputPortValues.ANY.toString());
         output.setOutputNodeConnector(value);
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
-        ab.setKey(new ActionKey(0));
+        ab.withKey(new ActionKey(0));
+
+        List<Action> actions = new ArrayList<>();
         actions.add(ab.build());
         return actions;
     }
 
     private List<Action> createNormalOutputAction() {
-
-        List<Action> actions = new ArrayList<Action>();
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(30);
         Uri value = new Uri(OutputPortValues.NORMAL.toString());
         output.setOutputNodeConnector(value);
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
-        ab.setKey(new ActionKey(0));
+        ab.withKey(new ActionKey(0));
+
+        List<Action> actions = new ArrayList<>();
         actions.add(ab.build());
         return actions;
     }
 
     private List<Action> createInportOutputAction() {
-
-        List<Action> actions = new ArrayList<Action>();
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(30);
         Uri value = new Uri(OutputPortValues.INPORT.toString());
         output.setOutputNodeConnector(value);
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
-        ab.setKey(new ActionKey(0));
+        ab.withKey(new ActionKey(0));
+
+        List<Action> actions = new ArrayList<>();
         actions.add(ab.build());
         return actions;
     }
 
     private List<Action> creatTableOutputAction() {
-
-        List<Action> actions = new ArrayList<Action>();
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(30);
         Uri value = new Uri(OutputPortValues.TABLE.toString());
         output.setOutputNodeConnector(value);
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
-        ab.setKey(new ActionKey(0));
+        ab.withKey(new ActionKey(0));
+
+        List<Action> actions = new ArrayList<>();
         actions.add(ab.build());
         return actions;
     }
 
     private List<Action> createControllerAction() {
-
-        List<Action> actions = new ArrayList<Action>();
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(30);
         Uri value = new Uri(OutputPortValues.CONTROLLER.toString());
         output.setOutputNodeConnector(value);
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
-        ab.setKey(new ActionKey(0));
+        ab.withKey(new ActionKey(0));
+
+        List<Action> actions = new ArrayList<>();
         actions.add(ab.build());
         return actions;
     }
 
     private List<Action> createLocalOutputAction() {
-
-        List<Action> actions = new ArrayList<Action>();
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         output.setMaxLength(30);
         Uri value = new Uri(OutputPortValues.LOCAL.toString());
         output.setOutputNodeConnector(value);
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
-        ab.setKey(new ActionKey(0));
+        ab.withKey(new ActionKey(0));
+
+        List<Action> actions = new ArrayList<>();
         actions.add(ab.build());
         return actions;
     }
 
     private List<Action> createGroupAction() {
-
         GroupActionBuilder groupActionB = new GroupActionBuilder();
         groupActionB.setGroupId(1L);
         groupActionB.setGroup("0");
         ActionBuilder action = new ActionBuilder();
         action.setAction(new GroupActionCaseBuilder().setGroupAction(groupActionB.build()).build());
-        action.setKey(new ActionKey(0));
-        List<Action> actions = new ArrayList<Action>();
+        action.withKey(new ActionKey(0));
+        List<Action> actions = new ArrayList<>();
         actions.add(action.build());
         return actions;
     }
 
     private static List<Action> createNonAppyOutputAction() {
-
-        List<Action> actionList = new ArrayList<Action>();
         ActionBuilder ab = new ActionBuilder();
         OutputActionBuilder output = new OutputActionBuilder();
         Uri value = new Uri(OutputPortValues.CONTROLLER.toString());
@@ -537,25 +525,26 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         //output.setMaxLength(null);
         output.setMaxLength(66000);
         ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
+
+        List<Action> actionList = new ArrayList<>();
         actionList.add(ab.build());
         return actionList;
     }
 
     private static List<Action> createNonAppyPushMplsAction() {
 
-        List<Action> actionList = new ArrayList<Action>();
+        List<Action> actionList = new ArrayList<>();
         ActionBuilder ab = new ActionBuilder();
         PushMplsActionBuilder push = new PushMplsActionBuilder();
         push.setEthernetType(0x8849);
         ab.setAction(new PushMplsActionCaseBuilder().setPushMplsAction(push.build()).build());
         actionList.add(ab.build());
         return actionList;
-
     }
 
     private static List<Action> createNonAppyPushPbbAction() {
 
-        List<Action> actionList = new ArrayList<Action>();
+        List<Action> actionList = new ArrayList<>();
         ActionBuilder ab = new ActionBuilder();
         PushPbbActionBuilder pbb = new PushPbbActionBuilder();
         pbb.setEthernetType(0x88E8);
@@ -568,50 +557,15 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
 
     private static List<Action> createNonAppyPushVlanAction() {
 
-        List<Action> actionList = new ArrayList<Action>();
+        List<Action> actionList = new ArrayList<>();
         ActionBuilder ab = new ActionBuilder();
         PushVlanActionBuilder vlan = new PushVlanActionBuilder();
         vlan.setEthernetType(0x8101);
         ab.setAction(new PushVlanActionCaseBuilder().setPushVlanAction(vlan.build()).build());
         actionList.add(ab.build());
         return actionList;
-
-    }
-
-
-    private GroupBuilder createTestRemoveGroup() {
-        long id = 123;
-        GroupKey key = new GroupKey(new GroupId(id));
-        GroupBuilder group = new GroupBuilder();
-     /*   BucketBuilder bucket = new BucketBuilder();
-        bucket.setBucketId(new BucketId((long) 12));
-        bucket.setKey(new BucketKey(new BucketId((long) 12))); */
-        group.setKey(key);
-        //    group.setInstall(false);
-
-        group.setGroupId(new GroupId(id));
-      /*  PopVlanActionBuilder vlanAction = new PopVlanActionBuilder();
-        ActionBuilder action = new ActionBuilder();
-        action.setAction(new PopVlanActionCaseBuilder().setPopVlanAction(vlanAction.build()).build());
-        List<Action> actions = new ArrayList<Action>();
-        actions.add(action.build()); */
-     /*   bucket.setAction(actions);
-        bucket.setWatchGroup((long) 14);
-        bucket.setWatchPort((long) 1234);
-        bucket.setWeight(15); */
-        //   group.setGroupType(GroupTypes.GroupSelect);
-        //   group.setGroupName(originalGroupName);
-        //   group.setBarrier(false);
-        //    BucketsBuilder value = new BucketsBuilder();
-        //    List<Bucket> value1 = new ArrayList<Bucket>();
-        //    value1.add(bucket.build());
-        //   value.setBucket(value1);
-        //  group.setBuckets(value.build());
-        testGroup2 = group.build();
-        return group;
     }
 
-
     public void _removeGroup(final CommandInterpreter ci) {
         String nref = ci.nextArgument();
 
@@ -623,14 +577,13 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
             createUserNode(nref);
         }
         GroupBuilder gbuilder = createTestGroup(ci.nextArgument(), ci.nextArgument(), "add");
-        ReadWriteTransaction modification = dataBroker.newReadWriteTransaction();
-        InstanceIdentifier<Group> path1 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode.getKey())
+        ReadWriteTransaction modification = Preconditions.checkNotNull(dataBroker).newReadWriteTransaction();
+        InstanceIdentifier<Group> path1 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode.key())
                 .augmentation(FlowCapableNode.class).child(Group.class, new GroupKey(gbuilder.getGroupId()));
         modification.delete(LogicalDatastoreType.CONFIGURATION, path1);
-        CheckedFuture<Void, TransactionCommitFailedException> commitFuture = modification.submit();
-        Futures.addCallback(commitFuture, new FutureCallback<Void>() {
+        modification.commit().addCallback(new FutureCallback<Object>() {
             @Override
-            public void onSuccess(Void aVoid) {
+            public void onSuccess(Object notUsed) {
                 ci.println("Status of Group Data Loaded Transaction: success.");
             }
 
@@ -638,7 +591,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
             public void onFailure(Throwable throwable) {
                 ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable));
             }
-        });
+        }, MoreExecutors.directExecutor());
     }
 
     public void _addGroup(CommandInterpreter ci) {
@@ -656,16 +609,15 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
     }
 
     private void writeGroup(final CommandInterpreter ci, Group group) {
-        ReadWriteTransaction modification = dataBroker.newReadWriteTransaction();
+        ReadWriteTransaction modification = Preconditions.checkNotNull(dataBroker).newReadWriteTransaction();
         InstanceIdentifier<Group> path1 = InstanceIdentifier.create(Nodes.class)
-                .child(Node.class, testNode.getKey()).augmentation(FlowCapableNode.class)
+                .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class)
                 .child(Group.class, new GroupKey(group.getGroupId()));
         modification.merge(LogicalDatastoreType.CONFIGURATION, nodeToInstanceId(testNode), testNode, true);
         modification.merge(LogicalDatastoreType.CONFIGURATION, path1, group, true);
-        CheckedFuture<Void, TransactionCommitFailedException> commitFuture = modification.submit();
-        Futures.addCallback(commitFuture, new FutureCallback<Void>() {
+        modification.commit().addCallback(new FutureCallback<Object>() {
             @Override
-            public void onSuccess(Void aVoid) {
+            public void onSuccess(Object notUsed) {
                 ci.println("Status of Group Data Loaded Transaction: success.");
             }
 
@@ -673,7 +625,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
             public void onFailure(Throwable throwable) {
                 ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable));
             }
-        });
+        }, MoreExecutors.directExecutor());
     }
 
     public void _modifyGroup(CommandInterpreter ci) {
@@ -703,12 +655,4 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
 
         return help.toString();
     }
-
-    private static NodeRef createNodeRef(String string) {
-        NodeKey key = new NodeKey(new NodeId(string));
-        InstanceIdentifier<Node> path =
-                InstanceIdentifier.create(Nodes.class).child(Node.class, key);
-
-        return new NodeRef(path);
-    }
 }