Fix findbugs violations in test-provider and drop-test-karaf 10/69010/3
authorTom Pantelis <tompantelis@gmail.com>
Fri, 2 Mar 2018 18:08:03 +0000 (13:08 -0500)
committerAnil Vishnoi <vishnoianil@gmail.com>
Fri, 2 Mar 2018 21:04:09 +0000 (21:04 +0000)
- Field only ever set to null
- int value cast to float and then passed to Math.round
- Possible null pointer dereference in method on exception path
- Non-virtual method call passes null for non-null parameter
- Comparison of String parameter using == or !=
- Should be a static inner class
- Private method is never called
- int value cast to float and then passed to Math.round
- Unread field
- Unread field: should this field be static?
- Unused field
- Dead store to local variable
- Private method is never called
- Method uses the same code for two switch clauses
- Write to static field from instance method
- Field not initialized in constructor but dereferenced without null check

Change-Id: Ib09380d626ab9162c4308810fae9db90522269cf
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
drop-test-karaf/src/main/java/org/opendaylight/openflowplugin/droptestkaraf/DropAllPacketsCommandProvider.java
drop-test-karaf/src/main/java/org/opendaylight/openflowplugin/droptestkaraf/DropAllPacketsRpcCommandProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowPluginBulkGroupTransactionProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowPluginBulkTransactionProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginGroupTestCommandProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginMeterTestCommandProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginTableFeaturesTestCommandProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginTestCommandProvider.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginTestNodeConnectorNotification.java
test-provider/src/main/java/org/opendaylight/openflowplugin/test/OpenflowpluginTestTopologyNotification.java

index 16ed866ca0e0a714c79d5caa7312f9a036c9e3b4..d9d41c35091b088d7a976984f14f58c1c9774a5c 100644 (file)
@@ -21,7 +21,7 @@ public class DropAllPacketsCommandProvider extends OsgiCommandSupport {
     @Argument(index = 0, name = "on-off",
             description = "target state of drop responder",
             required = true, multiValued = false)
-    String targetStateArg = null;
+    String targetStateArg;
 
 
     @Override
index 80f7ce1c428469666791f952285636d9b5e23398..a06c8cbf25e7da9f19fabe189103ced8692b9c9b 100644 (file)
@@ -21,7 +21,7 @@ public class DropAllPacketsRpcCommandProvider extends OsgiCommandSupport {
     @Argument(index = 0, name = "on-off",
             description = "target state of drop responder",
             required = true, multiValued = false)
-    String targetStateArg = null;
+    String targetStateArg;
 
     @Override
     protected Object doExecute() throws Exception {
index 1df23c3b9737539edd4e22bd35ae2667a177b220..bf700df0e327e5adf26615ecb06507b8f1e07b97 100644 (file)
@@ -86,7 +86,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;
@@ -101,7 +100,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4Match;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4MatchBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.node.error.service.rev140410.NodeErrorListener;
-import org.opendaylight.yangtools.concepts.Registration;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
@@ -110,29 +108,21 @@ import org.slf4j.LoggerFactory;
 @SuppressWarnings("checkstyle:MethodName")
 public class OpenflowPluginBulkGroupTransactionProvider implements CommandProvider {
     private static final Logger LOG = LoggerFactory.getLogger(OpenflowPluginBulkGroupTransactionProvider.class);
-    private NodeBuilder testNode;
     private DataBroker dataBroker;
     private final BundleContext ctx;
-    private ProviderContext pc;
-    private FlowBuilder testFlow;
     private final String originalFlowName = "Foo";
     private final NodeErrorListener nodeErrorListener = new NodeErrorListenerLoggingImpl();
-    private Registration listener1Reg;
-    private Registration listener2Reg;
-    private Group testGroup;
-    private Group testGroup2;
     private Node testNode12;
     private final String originalGroupName = "Foo";
-    private static NotificationService notificationService;
+    private NotificationService notificationService;
 
     public OpenflowPluginBulkGroupTransactionProvider(BundleContext ctx) {
         this.ctx = ctx;
     }
 
     public void onSessionInitiated(ProviderContext session) {
-        pc = session;
         notificationService = session.getSALService(NotificationService.class);
-        listener2Reg = notificationService.registerNotificationListener(nodeErrorListener);
+        notificationService.registerNotificationListener(nodeErrorListener);
         dataBroker = session.getSALService(DataBroker.class);
         ctx.registerService(CommandProvider.class.getName(), this, null);
         createTestFlow(createTestNode(null), null, null);
@@ -142,28 +132,19 @@ public class OpenflowPluginBulkGroupTransactionProvider implements CommandProvid
         if (nodeId == null) {
             nodeId = OpenflowpluginTestActivator.NODE_ID;
         }
-        NodeRef nodeOne = createNodeRef(nodeId);
         NodeBuilder builder = new NodeBuilder();
         builder.setId(new NodeId(nodeId));
         builder.setKey(new NodeKey(builder.getId()));
-        testNode = builder;
         return builder;
     }
 
     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()));
         testNode12 = builder.build();
     }
 
-    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);
-    }
-
     @Override
     public String getHelp() {
         return "No help";
@@ -557,12 +538,15 @@ public class OpenflowPluginBulkGroupTransactionProvider implements CommandProvid
         flow.setKey(key);
         flow.setPriority(2);
         flow.setFlowName(originalFlowName + "X" + flowType);
-        testFlow = flow;
         return flow;
     }
 
     private short getTableId(String tableId) {
         short table = 2;
+        if (tableId == null) {
+            return table;
+        }
+
         try {
             table = Short.parseShort(tableId);
         } catch (NumberFormatException ex) {
@@ -612,7 +596,6 @@ public class OpenflowPluginBulkGroupTransactionProvider implements CommandProvid
     }
 
     private void createUserNode(String nodeRef) {
-        NodeRef nodeOne = createNodeRef(nodeRef);
         NodeBuilder builder = new NodeBuilder();
         builder.setId(new NodeId(nodeRef));
         builder.setKey(new NodeKey(builder.getId()));
@@ -823,8 +806,6 @@ public class OpenflowPluginBulkGroupTransactionProvider implements CommandProvid
                 bucket.setAction(createPopPbbAction());
                 break;
             case "a6":
-                bucket.setAction(createPushPbbAction());
-                break;
             case "a7":
                 bucket.setAction(createPushPbbAction());
                 break;
@@ -847,7 +828,7 @@ public class OpenflowPluginBulkGroupTransactionProvider implements CommandProvid
                 break;
         }
 
-        if (groupmod == "add") {
+        if ("add".equals(groupmod)) {
             bucket.setWatchGroup((long) 14);
             bucket.setWatchPort((long) 1234);
             bucket.setWeight(50);
@@ -869,7 +850,6 @@ public class OpenflowPluginBulkGroupTransactionProvider implements CommandProvid
         value1.add(bucket.build());
         value.setBucket(value1);
         group.setBuckets(value.build());
-        testGroup = group.build();
         return group;
     }
 
index 58b9cd40eaf52f7e618bd6031d859a09e10bc232..034fd3e42b62141ccf4a41f774cfaf1d01a03924 100644 (file)
@@ -24,9 +24,7 @@ import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFaile
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
 import org.opendaylight.controller.sal.binding.api.NotificationService;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6FlowLabel;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.ControllerActionCaseBuilder;
@@ -90,7 +88,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instru
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
 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;
@@ -123,17 +120,15 @@ public class OpenflowPluginBulkTransactionProvider implements CommandProvider {
     private static final Logger LOG = LoggerFactory.getLogger(OpenflowPluginBulkTransactionProvider.class);
     private DataBroker dataBroker;
     private final BundleContext ctx;
-    private ProviderContext pc;
     private final String originalFlowName = "Foo";
     private final NodeErrorListener nodeErrorListener = new NodeErrorListenerLoggingImpl();
-    private static NotificationService notificationService;
+    private NotificationService notificationService;
 
     public OpenflowPluginBulkTransactionProvider(BundleContext ctx) {
         this.ctx = ctx;
     }
 
     public void onSessionInitiated(ProviderContext session) {
-        pc = session;
         notificationService = session.getSALService(NotificationService.class);
         notificationService.registerNotificationListener(nodeErrorListener);
         dataBroker = session.getSALService(DataBroker.class);
@@ -145,20 +140,12 @@ public class OpenflowPluginBulkTransactionProvider implements CommandProvider {
         if (nodeId == null) {
             nodeId = OpenflowpluginTestActivator.NODE_ID;
         }
-        NodeRef nodeOne = createNodeRef(nodeId);
         NodeBuilder builder = new NodeBuilder();
         builder.setId(new NodeId(nodeId));
         builder.setKey(new NodeKey(builder.getId()));
         return builder;
     }
 
-    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);
-    }
-
     @Override
     public String getHelp() {
         return "No help";
@@ -435,6 +422,10 @@ public class OpenflowPluginBulkTransactionProvider implements CommandProvider {
 
     private short getTableId(String tableId) {
         short table = 2;
+        if (tableId == null) {
+            return table;
+        }
+
         try {
             table = Short.parseShort(tableId);
         } catch (NumberFormatException ex) {
@@ -632,7 +623,7 @@ public class OpenflowPluginBulkTransactionProvider implements CommandProvider {
                 tf3 = createTestFlow(tn, "f1000", "10");
                 break;
             default:
-                break;
+                throw new IllegalArgumentException("Invalid flowtype: " + flowtype);
         }
 
         InstanceIdentifier<Flow> path1 = InstanceIdentifier.create(Nodes.class).child(Node.class, tn.getKey())
@@ -1253,23 +1244,6 @@ public class OpenflowPluginBulkTransactionProvider implements CommandProvider {
         return match;
     }
 
-    private static MatchBuilder createMatch33() {
-
-        MatchBuilder match = new MatchBuilder();
-        Ipv4MatchBuilder ipv4Match = new Ipv4MatchBuilder();
-        Ipv4Prefix prefix = new Ipv4Prefix("10.0.0.10");
-        ipv4Match.setIpv4Source(prefix);
-        Ipv4Match i4m = ipv4Match.build();
-        match.setLayer3Match(i4m);
-
-        EthernetMatchBuilder eth = new EthernetMatchBuilder();
-        EthernetTypeBuilder ethTypeBuilder = new EthernetTypeBuilder();
-        ethTypeBuilder.setType(new EtherType(0xfffeL));
-        eth.setEthernetType(ethTypeBuilder.build());
-        match.setEthernetMatch(eth.build());
-        return match;
-    }
-
     private static MatchBuilder createInphyportMatch(NodeId nodeId) {
         MatchBuilder match = new MatchBuilder();
         match.setInPort(new NodeConnectorId(nodeId + ":202"));
@@ -1315,9 +1289,6 @@ public class OpenflowPluginBulkTransactionProvider implements CommandProvider {
         eth.setEthernetType(ethTypeBuilder.build());
         match.setEthernetMatch(eth.build());
 
-        Ipv6Prefix dstip6 = new Ipv6Prefix("2002::2/64");
-        Ipv6Prefix srcip6 = new Ipv6Prefix("2001:0:0:0:0:0:0:1/56");
-        Ipv6Address ndtarget = new Ipv6Address("2001:db8:0:1:fd97:f9f0:a810:782e");
         Ipv6ExtHeaderBuilder nextheader = new Ipv6ExtHeaderBuilder();
         nextheader.setIpv6Exthdr(58);
         Ipv6LabelBuilder ipv6label = new Ipv6LabelBuilder();
index 7adb3b582641eaf98b60a4ecdf7a093d8c26e09d..f5d394545c748a15948d26db1e70d55c1dbbb57a 100644 (file)
@@ -8,6 +8,7 @@
 
 package org.opendaylight.openflowplugin.test;
 
+import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
@@ -68,7 +69,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;
@@ -78,27 +78,24 @@ 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 BundleContext ctx;
     private Group testGroup;
     private Node testNode;
-    private final String originalGroupName = "Foo";
 
     public OpenflowpluginGroupTestCommandProvider(BundleContext ctx) {
         this.ctx = ctx;
     }
 
     public void onSessionInitiated(ProviderContext session) {
-        pc = session;
         dataBroker = session.getSALService(DataBroker.class);
         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()));
@@ -106,7 +103,6 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
     }
 
     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()));
@@ -166,8 +162,6 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
                 bucket.setAction(createPopPbbAction());
                 break;
             case "a6":
-                bucket.setAction(createPushPbbAction());
-                break;
             case "a7":
                 bucket.setAction(createPushPbbAction());
                 break;
@@ -238,7 +232,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
                 break;
         }
 
-        if (groupMod == "add") {
+        if ("add".equals(groupMod)) {
             bucket.setWatchGroup((long) 14);
             bucket.setWatchPort((long) 1234);
             bucket.setWeight(50);
@@ -253,7 +247,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         group.setKey(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<>();
@@ -577,37 +571,6 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
         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());
-        return group;
-    }
-
     public void _removeGroup(final CommandInterpreter ci) {
         String nref = ci.nextArgument();
 
@@ -619,7 +582,7 @@ public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
             createUserNode(nref);
         }
         GroupBuilder gbuilder = createTestGroup(ci.nextArgument(), ci.nextArgument(), "add");
-        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(Group.class, new GroupKey(gbuilder.getGroupId()));
         modification.delete(LogicalDatastoreType.CONFIGURATION, path1);
@@ -652,7 +615,7 @@ 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(Group.class, new GroupKey(group.getGroupId()));
@@ -699,12 +662,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);
-    }
 }
index 9617cda37066e03565dd2e84fd1c7f88c86b25df..6762c9acaaeb2ee336128152cb8ae0c1a8ab823d 100644 (file)
@@ -55,7 +55,6 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
 
     private static final Logger LOG = LoggerFactory.getLogger(OpenflowpluginMeterTestCommandProvider.class);
     private DataBroker dataBroker;
-    private ProviderContext pc;
     private final BundleContext ctx;
     private Meter testMeter;
     private Meter testMeter1;
@@ -64,7 +63,7 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
     private final String originalMeterName = "Foo";
     private final String updatedMeterName = "Bar";
     private final MeterEventListener meterEventListener = new MeterEventListener();
-    private static NotificationService notificationService;
+    private NotificationService notificationService;
     private Registration listener1Reg;
 
     public OpenflowpluginMeterTestCommandProvider(BundleContext ctx) {
@@ -72,7 +71,6 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
     }
 
     public void onSessionInitiated(ProviderContext session) {
-        pc = session;
         dataBroker = session.getSALService(DataBroker.class);
         ctx.registerService(CommandProvider.class.getName(), this, null);
         notificationService = session.getSALService(NotificationService.class);
@@ -101,7 +99,7 @@ public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
         return InstanceIdentifier.create(Nodes.class).child(Node.class, node.getKey());
     }
 
-    final class MeterEventListener implements SalMeterListener {
+    private static final class MeterEventListener implements SalMeterListener {
 
         @Override
         public void onMeterAdded(MeterAdded notification) {
index 192e08fc003dbbb66ab07c98a0017d1f13707aee..dbb8d607f8e2003b1ea4170ac67bfcaf2f745cf4 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.openflowplugin.test;
 
+import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
@@ -590,7 +591,7 @@ public class OpenflowpluginTableFeaturesTestCommandProvider implements CommandPr
     }
 
     private void writeTableFeatures(final CommandInterpreter ci, TableFeatures tableFeatures) {
-        ReadWriteTransaction modification = dataBroker.newReadWriteTransaction();
+        ReadWriteTransaction modification = Preconditions.checkNotNull(dataBroker).newReadWriteTransaction();
 
         KeyedInstanceIdentifier<TableFeatures, TableFeaturesKey> path1 = InstanceIdentifier.create(Nodes.class)
                 .child(Node.class, testNode.getKey()).augmentation(FlowCapableNode.class)
index 8f6161cf2d95ecaf9cd211915b5fde1455923ad9..c2cf1313f30ae3d866c057e3784733eee8be9165 100644 (file)
@@ -14,7 +14,6 @@ import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.MoreExecutors;
 import java.math.BigInteger;
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -29,7 +28,6 @@ import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderCo
 import org.opendaylight.controller.sal.binding.api.NotificationService;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Dscp;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6FlowLabel;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
@@ -140,7 +138,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instru
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
 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;
@@ -188,7 +185,6 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
 
     private DataBroker dataBroker;
     private final BundleContext ctx;
-    private FlowBuilder testFlow;
     private static final String ORIGINAL_FLOW_NAME = "Foo";
     private static final String UPDATED_FLOW_NAME = "Bar";
     private static final String IPV4_PREFIX = "10.0.0.1/24";
@@ -196,7 +192,7 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
     private static final String SRC_MAC_ADDRESS = "00:00:00:00:23:ae";
     private final SalFlowListener flowEventListener = new FlowEventListenerLoggingImpl();
     private final NodeErrorListener nodeErrorListener = new NodeErrorListenerLoggingImpl();
-    private static NotificationService notificationService;
+    private NotificationService notificationService;
 
     public OpenflowpluginTestCommandProvider(final BundleContext ctx) {
         this.ctx = ctx;
@@ -707,7 +703,6 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
 
         flow.setKey(key);
         flow.setFlowName(ORIGINAL_FLOW_NAME + "X" + flowType);
-        testFlow = flow;
         return flow;
     }
 
@@ -751,7 +746,6 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
 
         flow.setKey(key);
         flow.setFlowName(ORIGINAL_FLOW_NAME + "X" + flowType);
-        testFlow = flow;
         return flow;
     }
 
@@ -765,13 +759,17 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
         flow.setTableId((short) 0);
         final FlowKey key = new FlowKey(new FlowId(Long.toString(id)));
         flow.setKey(key);
-        testFlow = flow;
         return flow;
     }
 
     private short getTableId(final String tableId) {
         final short TABLE_ID = 2;
         short table = TABLE_ID;
+
+        if (tableId == null) {
+            return table;
+        }
+
         try {
             table = Short.parseShort(tableId);
         } catch (NumberFormatException ex) {
@@ -2875,28 +2873,6 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
         return match;
     }
 
-    private static MatchBuilder createL3IPv4Match() {
-        final MatchBuilder match = new MatchBuilder();
-
-        final EthernetMatchBuilder eth = new EthernetMatchBuilder();
-        final EthernetTypeBuilder ethTypeBuilder = new EthernetTypeBuilder();
-        ethTypeBuilder.setType(new EtherType(0x0800L));
-        eth.setEthernetType(ethTypeBuilder.build());
-        match.setEthernetMatch(eth.build());
-
-        final Ipv4MatchBuilder ipv4Match = new Ipv4MatchBuilder();
-        // ipv4 match
-        final Ipv4Prefix dstip = new Ipv4Prefix("200.71.9.52/10");
-        final Ipv4Prefix srcip = new Ipv4Prefix("100.1.1.1/8");
-        final Ipv4MatchBuilder ipv4match = new Ipv4MatchBuilder();
-        ipv4match.setIpv4Destination(dstip);
-        ipv4match.setIpv4Source(srcip);
-        match.setLayer3Match(ipv4match.build());
-
-        return match;
-
-    }
-
     private static MatchBuilder createL3IPv6Match() {
         final MatchBuilder match = new MatchBuilder();
 
@@ -2906,9 +2882,6 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
         eth.setEthernetType(ethTypeBuilder.build());
         match.setEthernetMatch(eth.build());
 
-        final Ipv6Prefix dstip6 = new Ipv6Prefix("2002::2/64");
-        final Ipv6Prefix srcip6 = new Ipv6Prefix("2001:0:0:0:0:0:0:1/56");
-        final Ipv6Address ndtarget = new Ipv6Address("2001:db8:0:1:fd97:f9f0:a810:782e");
         final MacAddress ndsll = new MacAddress("c2:00:54:f5:00:00");
         final MacAddress ndtll = new MacAddress("00:0c:29:0e:4c:67");
         final Ipv6ExtHeaderBuilder nextheader = new Ipv6ExtHeaderBuilder();
@@ -3243,13 +3216,6 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
         writeFlow(ci, tf, tn);
     }
 
-    private static NodeRef createNodeRef(final String string) {
-        final NodeKey key = new NodeKey(new NodeId(string));
-        final InstanceIdentifier<Node> path = InstanceIdentifier.create(Nodes.class).child(Node.class, key);
-
-        return new NodeRef(path);
-    }
-
     @Override
     public String getHelp() {
         return "No help";
@@ -3267,11 +3233,6 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
         final String threadCountStr = ci.nextArgument();
         final String warmUpStr = ci.nextArgument();
 
-        Collection<String> testResults = null;
-        if (testResults == null) {
-            testResults = new ArrayList<>();
-        }
-
         int numberOfSwtiches = 0;
         int numberOfFlows = 0;
         int warmupIterations = 0;
@@ -3351,11 +3312,8 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
 
         int numberOfSwitches;
         int numberOfFlows;
-        int testTime;
         CommandInterpreter ci;
-        int testFlowsAdded;
         int theadNumber;
-        Collection<String> testResults = null;
         int tableID = 0;
 
         TestFlowThread(final int numberOfSwtiches, final int numberOfFlows, final CommandInterpreter ci,
@@ -3394,10 +3352,10 @@ public class OpenflowpluginTestCommandProvider implements CommandProvider {
                 }
             }
             final long endTime = System.currentTimeMillis();
-            final long timeInSeconds = Math.round((endTime - startTime) / 1000);
+            final long timeInSeconds = Math.round((endTime - startTime) / 1000.0F);
             if (timeInSeconds > 0) {
                 ci.println("Total flows added in Thread:" + this.theadNumber + ": Flows/Sec::"
-                    + Math.round(totalNumberOfFlows / timeInSeconds));
+                    + Math.round((float)totalNumberOfFlows / timeInSeconds));
             } else {
                 ci.println("Total flows added in Thread:" + this.theadNumber + ": Flows/Sec::" + totalNumberOfFlows);
             }
index e0ed0513c4dce2499d8059c6be3a794dffe09342..a53b09dbefeb5727bfd80b25d6dd584aeba1c5b5 100644 (file)
@@ -9,8 +9,6 @@ package org.opendaylight.openflowplugin.test;
 
 import java.util.ArrayList;
 import java.util.List;
-
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
 import org.opendaylight.controller.sal.binding.api.NotificationService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorRemoved;
@@ -18,7 +16,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeCon
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRemoved;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeUpdated;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.OpendaylightInventoryListener;
-import org.opendaylight.yangtools.concepts.Registration;
 import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -27,26 +24,19 @@ public class OpenflowpluginTestNodeConnectorNotification {
 
     private static final Logger LOG = LoggerFactory.getLogger(OpenflowpluginTestNodeConnectorNotification.class);
 
-    private DataBroker dataBroker;
-    private ProviderContext pc;
-    private final BundleContext ctx;
     private final PortEventListener portEventListener = new PortEventListener();
-    private static NotificationService notificationService;
-    private Registration listenerReg;
+    private NotificationService notificationService;
 
     public OpenflowpluginTestNodeConnectorNotification(BundleContext ctx) {
-        this.ctx = ctx;
     }
 
     public void onSessionInitiated(ProviderContext session) {
-        pc = session;
         notificationService = session.getSALService(NotificationService.class);
         // For switch events
-        listenerReg = notificationService.registerNotificationListener(portEventListener);
-        dataBroker = session.getSALService(DataBroker.class);
+        notificationService.registerNotificationListener(portEventListener);
     }
 
-    final class PortEventListener implements OpendaylightInventoryListener {
+    private static final class PortEventListener implements OpendaylightInventoryListener {
 
         List<NodeUpdated> nodeUpdated = new ArrayList<>();
         List<NodeRemoved> nodeRemoved = new ArrayList<>();
index c4116a899e0bee21b68252f2aa1ab69ba23e8775..9f48ebcc776035d3bdf429b2e8ae46c3e0f19bd9 100644 (file)
@@ -7,10 +7,6 @@
  */
 package org.opendaylight.openflowplugin.test;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
 import org.opendaylight.controller.sal.binding.api.NotificationService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819.FlowTopologyDiscoveryListener;
@@ -18,7 +14,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819.LinkOverutilized;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819.LinkRemoved;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.topology.discovery.rev130819.LinkUtilizationNormal;
-import org.opendaylight.yangtools.concepts.Registration;
 import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -27,32 +22,19 @@ public class OpenflowpluginTestTopologyNotification {
 
     private static final Logger LOG = LoggerFactory.getLogger(OpenflowpluginTestTopologyNotification.class);
 
-    private DataBroker dataBroker;
-    private ProviderContext pc;
-    private final BundleContext ctx;
     private final TopologyEventListener topologyEventListener = new TopologyEventListener();
-    private static NotificationService notificationService;
-    private Registration listenerReg;
+    private NotificationService notificationService;
 
     public OpenflowpluginTestTopologyNotification(BundleContext ctx) {
-        this.ctx = ctx;
     }
 
     public void onSessionInitiated(ProviderContext session) {
-        pc = session;
         notificationService = session.getSALService(NotificationService.class);
         // For switch events
-        listenerReg = notificationService.registerNotificationListener(topologyEventListener);
-        dataBroker = session.getSALService(DataBroker.class);
+        notificationService.registerNotificationListener(topologyEventListener);
     }
 
-    final class TopologyEventListener implements FlowTopologyDiscoveryListener {
-
-        List<LinkDiscovered> linkdiscovered = new ArrayList<>();
-        List<LinkOverutilized> linkoverutilized = new ArrayList<>();
-        List<LinkRemoved> linkremoved = new ArrayList<>();
-        List<LinkUtilizationNormal> linkutilizationnormal = new ArrayList<>();
-
+    private static final class TopologyEventListener implements FlowTopologyDiscoveryListener {
         @Override
         public void onLinkDiscovered(LinkDiscovered notification) {
             LOG.debug("-------------------------------------------");