Merge branch 'master' into fix_findbug_issues
diff --git a/pom.xml b/pom.xml
index 871ca57..71e8192 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
   </repositories>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <powermock.version>1.5</powermock.version>
+    <powermock.version>1.5.1</powermock.version>
     <restlet.version>2.1-RC1</restlet.version>
     <github.global.server>github</github.global.server>
   </properties>
@@ -349,7 +349,7 @@
     <dependency>
       <groupId>org.easymock</groupId>
       <artifactId>easymock</artifactId>
-      <version>3.1</version>
+      <version>3.2</version>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/src/main/java/net/floodlightcontroller/core/internal/Controller.java b/src/main/java/net/floodlightcontroller/core/internal/Controller.java
index 9d4ac9a..44510a7 100644
--- a/src/main/java/net/floodlightcontroller/core/internal/Controller.java
+++ b/src/main/java/net/floodlightcontroller/core/internal/Controller.java
@@ -746,7 +746,7 @@
                     }
                     if (is_core_switch) {
                         sw.setAttribute(IOFSwitch.SWITCH_IS_CORE_SWITCH, 
-                                        new Boolean(true));
+                                        true);
                     }
                 }
                 sw.removeAttribute(IOFSwitch.SWITCH_DESCRIPTION_FUTURE);
@@ -2352,7 +2352,7 @@
                         // new controller node IP
                         addedControllerNodeIPs.put(controllerID, discoveredIP);
                     } 
-                    else if (curIP != discoveredIP) {
+                    else if (curIP.equals(discoveredIP)) {
                         // IP changed                    
                         removedControllerNodeIPs.put(controllerID, curIP);
                         addedControllerNodeIPs.put(controllerID, discoveredIP);
diff --git a/src/main/java/net/onrc/onos/flow/FlowManagerImpl.java b/src/main/java/net/onrc/onos/flow/FlowManagerImpl.java
index 2e2706c..a7cd02a 100644
--- a/src/main/java/net/onrc/onos/flow/FlowManagerImpl.java
+++ b/src/main/java/net/onrc/onos/flow/FlowManagerImpl.java
@@ -210,7 +210,7 @@
 		    String type = v.getProperty("type").toString();
 		    // System.out.println("type: " + type);
 		    if (type.equals("port")) {
-			String number = v.getProperty("number").toString();
+			//String number = v.getProperty("number").toString();
 			// System.out.println("number: " + number);
 
 			Object obj = v.getProperty("number");
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java
index e5f2f58..8ee346b 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java
@@ -144,7 +144,6 @@
 	@Override
 	public void deleteLink(Link lt) {
 		IPortObject vportSrc = null, vportDst = null;
-		int count = 0;
 		
 		log.debug("deleteLink(): {}", lt);
 		
@@ -161,15 +160,17 @@
      		// FIXME: This needs to remove all edges
          	
          	if (vportSrc != null && vportDst != null) {
-
-   /*      		for (Edge e : vportSrc.asVertex().getEdges(Direction.OUT)) {
+/*
+        		int count = 0;
+         		for (Edge e : vportSrc.asVertex().getEdges(Direction.OUT)) {
          			log.debug("deleteLink(): {} in {} out {}", 
          					new Object[]{e.getLabel(), e.getVertex(Direction.IN), e.getVertex(Direction.OUT)});
          			if (e.getLabel().equals("link") && e.getVertex(Direction.IN).equals(vportDst)) {
          				graph.removeEdge(e);
          				count++;
          			}
-         		}*/
+         		}
+*/
          		vportSrc.removeLink(vportDst);
         		dbop.commit();
             	log.debug("deleteLink(): deleted edges src {} dst {}", new Object[]{
@@ -303,6 +304,7 @@
 	
 	static class ExtractLink implements PipeFunction<PathPipe<Vertex>, Link> {
 	
+		@SuppressWarnings("unchecked")
 		@Override
 		public Link compute(PathPipe<Vertex> pipe ) {
 			// TODO Auto-generated method stub
@@ -311,7 +313,7 @@
 			short s_port = 0;
 			short d_port = 0;
 			List<Vertex> V = new ArrayList<Vertex>();
-			V = pipe.next();
+			V = (List<Vertex>)pipe.next();
 			Vertex src_sw = V.get(0);
 			Vertex dest_sw = V.get(3);
 			Vertex src_port = V.get(1);
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
index 8df28ca..2c5f4ba 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
@@ -332,11 +332,7 @@
 		    if ((flowUserState != null)
 			&& flowUserState.equals("FE_USER_DELETE")) {
 			Iterable<IFlowEntry> flowEntries = flowPathObj.getFlowEntries();
-			boolean empty = true;	// TODO: an ugly hack
-			for (IFlowEntry flowEntryObj : flowEntries) {
-			    empty = false;
-			    break;
-			}
+			final boolean empty = !flowEntries.iterator().hasNext();
 			if (empty)
 			    deleteFlows.add(flowPathObj);
 		    }
@@ -878,7 +874,6 @@
      */
     @Override
     public boolean deleteAllFlows() {
-	List<Thread> threads = new LinkedList<Thread>();
 	final ConcurrentLinkedQueue<FlowId> concurrentAllFlowIds =
 	    new ConcurrentLinkedQueue<FlowId>();
 
@@ -906,6 +901,7 @@
 	//
 	// Create the threads to delete the Flow Paths
 	//
+	List<Thread> threads = new LinkedList<Thread>();
 	for (int i = 0; i < 10; i++) {
 	    Thread thread = new Thread(new Runnable() {
 		@Override
@@ -1333,7 +1329,6 @@
     public ArrayList<IFlowPath> getAllFlowsWithoutFlowEntries() {
     	Iterable<IFlowPath> flowPathsObj = null;
     	ArrayList<IFlowPath> flowPathsObjArray = new ArrayList<IFlowPath>();
-    	ArrayList<FlowPath> flowPaths = new ArrayList<FlowPath>();
 
     	op.commit();
     	
@@ -1356,6 +1351,7 @@
     		flowPathsObjArray.add(flowObj);
     	}
     	/*
+    	ArrayList<FlowPath> flowPaths = new ArrayList<FlowPath>();
     	for (IFlowPath flowObj : flowPathsObj) {
     	    //
     	    // Extract the Flow state
@@ -1606,7 +1602,6 @@
      * @return true on success, otherwise false.
      */
     public boolean reconcileFlow(IFlowPath flowObj, DataPath newDataPath) {
-	Map<Long, IOFSwitch> mySwitches = floodlightProvider.getSwitches();
 
 	//
 	// Set the incoming port matching and the outgoing port output
@@ -1647,7 +1642,6 @@
 	// Remove the old Flow Entries, and add the new Flow Entries
 	//
 	Iterable<IFlowEntry> flowEntries = flowObj.getFlowEntries();
-	LinkedList<IFlowEntry> deleteFlowEntries = new LinkedList<IFlowEntry>();
 	for (IFlowEntry flowEntryObj : flowEntries) {
 	    flowEntryObj.setUserState("FE_USER_DELETE");
 	    flowEntryObj.setSwitchState("FE_SWITCH_NOT_UPDATED");
diff --git a/src/main/java/net/onrc/onos/ofcontroller/linkdiscovery/web/LinksResource.java b/src/main/java/net/onrc/onos/ofcontroller/linkdiscovery/web/LinksResource.java
index c522a05..3c97e6a 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/linkdiscovery/web/LinksResource.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/linkdiscovery/web/LinksResource.java
@@ -3,6 +3,7 @@
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 
 import net.floodlightcontroller.routing.Link;
@@ -23,8 +24,9 @@
 
         if (ld != null) {
             links.putAll(ld.getLinks());
-            for (Link link: links.keySet()) {
-                LinkInfo info = links.get(link);
+            for(Entry<Link, LinkInfo> e : links.entrySet()) {
+                Link link = e.getKey();
+                LinkInfo info = e.getValue();
                 LinkWithType lwt = new LinkWithType(link,
                                                     info.getSrcPortState(),
                                                     info.getDstPortState(),
diff --git a/src/main/java/net/onrc/onos/ofcontroller/topology/TopologyManager.java b/src/main/java/net/onrc/onos/ofcontroller/topology/TopologyManager.java
index 545128d..618ae39 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/topology/TopologyManager.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/topology/TopologyManager.java
@@ -282,7 +282,7 @@
     public DataPath getTopoShortestPath(Map<Long, ?> shortestPathTopoHandler,
 					SwitchPort src, SwitchPort dest) {
 	@SuppressWarnings("unchecked")
-	Map<Long, Node> shortestPathTopo = (Map)shortestPathTopoHandler;
+	Map<Long, Node> shortestPathTopo = (Map<Long, Node>)shortestPathTopoHandler;
 	DataPath result_data_path = new DataPath();
 
 	// Initialize the source and destination in the data path to return
@@ -503,7 +503,7 @@
 	    String type = v.getProperty("type").toString();
 	    // System.out.println("type: " + type);
 	    if (type.equals("port")) {
-		String number = v.getProperty("number").toString();
+		//String number = v.getProperty("number").toString();
 		// System.out.println("number: " + number);
 
 		Object obj = v.getProperty("number");
diff --git a/src/main/java/net/onrc/onos/ofcontroller/util/DataPath.java b/src/main/java/net/onrc/onos/ofcontroller/util/DataPath.java
index dec70e3..e807b56 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/util/DataPath.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/util/DataPath.java
@@ -116,19 +116,18 @@
      * inPort/dpid/outPort;inPort/dpid/outPort;...
      */
     public String dataPathSummary() {
-	String resultStr = new String();
+	StringBuilder resultStr = new StringBuilder(5+1+20+1+5+1);
 	if (this.flowEntries != null) {
 	    for (FlowEntry flowEntry : this.flowEntries) {
 		// The data path summary string
-		resultStr = resultStr +
-		    flowEntry.inPort().toString() + "/"
-		    + flowEntry.dpid().toString() + "/" +
-		    flowEntry.outPort().toString() + ";";
+		resultStr.append(flowEntry.inPort().toString()).append('/')
+			.append(flowEntry.dpid().toString()).append('/')
+			.append(flowEntry.outPort().toString()).append(';');
 	    }
 	}
-	if (resultStr.isEmpty())
-	    resultStr = "X";		// Invalid shortest-path
-	return resultStr;
+	if (resultStr.length() == 0)
+	    resultStr.append("X");		// Invalid shortest-path
+	return resultStr.toString();
     }
 
     /**
diff --git a/src/main/java/net/onrc/onos/ofcontroller/util/FlowEntryAction.java b/src/main/java/net/onrc/onos/ofcontroller/util/FlowEntryAction.java
index 1f8849a..a1163c8 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/util/FlowEntryAction.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/util/FlowEntryAction.java
@@ -48,7 +48,7 @@
     /**
      * Action structure for ACTION_OUTPUT: Output to switch port.
      */
-    public class ActionOutput {
+    public static class ActionOutput {
 	private Port port;	// Output port
 	private short maxLen;	// Max. length (in bytes) to send to controller
 				// if the port is set to PORT_CONTROLLER
@@ -198,7 +198,7 @@
     /**
      * Action structure for ACTION_SET_VLAN_VID: Set the 802.1q VLAN id
      */
-    public class ActionSetVlanId {
+    public static class ActionSetVlanId {
 	private short vlanId;		// The VLAN ID to set
 
 	/**
@@ -296,7 +296,7 @@
     /**
      * Action structure for ACTION_SET_VLAN_PCP: Set the 802.1q priority
      */
-    public class ActionSetVlanPriority {
+    public static class ActionSetVlanPriority {
 	private byte vlanPriority;	// The VLAN priority to set
 
 	/**
@@ -394,7 +394,7 @@
     /**
      * Action structure for ACTION_STRIP_VLAN: Strip the 802.1q header
      */
-    public class ActionStripVlan {
+    public static class ActionStripVlan {
 	private boolean stripVlan;	// If true, strip the VLAN header
 
 	/**
@@ -489,7 +489,7 @@
      * Action structure for ACTION_SET_DL_SRC and ACTION_SET_DL_DST:
      * Set the Ethernet source/destination address.
      */
-    public class ActionSetEthernetAddr {
+    public static class ActionSetEthernetAddr {
 	private MACAddress addr;	// The MAC address to set
 
 	/**
@@ -589,7 +589,7 @@
      * Action structure for ACTION_SET_NW_SRC and ACTION_SET_NW_DST:
      * Set the IPv4 source/destination address.
      */
-    public class ActionSetIPv4Addr {
+    public static class ActionSetIPv4Addr {
 	private IPv4 addr;		// The IPv4 address to set
 
 	/**
@@ -689,7 +689,7 @@
      * Action structure for ACTION_SET_NW_TOS:
      * Set the IP ToS (DSCP field, 6 bits).
      */
-    public class ActionSetIpToS {
+    public static class ActionSetIpToS {
 	private byte ipToS;	// The IP ToS to set DSCP field, 6 bits)
 
 	/**
@@ -788,7 +788,7 @@
      * Action structure for ACTION_SET_TP_SRC and ACTION_SET_TP_DST:
      * Set the TCP/UDP source/destination port.
      */
-    public class ActionSetTcpUdpPort {
+    public static class ActionSetTcpUdpPort {
 	private short port;		// The TCP/UDP port to set
 
 	/**
@@ -886,7 +886,7 @@
     /**
      * Action structure for ACTION_ENQUEUE: Output to queue on port.
      */
-    public class ActionEnqueue {
+    public static class ActionEnqueue {
 	private Port port;	// Port that queue belongs. Should
 				// refer to a valid physical port
 				// (i.e. < PORT_MAX) or PORT_IN_PORT
diff --git a/src/main/java/net/onrc/onos/ofcontroller/util/FlowEntryMatch.java b/src/main/java/net/onrc/onos/ofcontroller/util/FlowEntryMatch.java
index a721ff2..fd41d09 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/util/FlowEntryMatch.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/util/FlowEntryMatch.java
@@ -16,7 +16,7 @@
     /**
      * A class for storing a value to match.
      */
-    class Field<T> {
+    static class Field<T> {
 	/**
 	 * Default constructor.
 	 */
diff --git a/src/main/java/net/onrc/onos/ofcontroller/util/FlowPathFlags.java b/src/main/java/net/onrc/onos/ofcontroller/util/FlowPathFlags.java
index 63241f0..4bbd399 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/util/FlowPathFlags.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/util/FlowPathFlags.java
@@ -9,10 +9,10 @@
     private long flags;
 
     // Discard the first-hop Flow Entry
-    private final long DISCARD_FIRST_HOP_ENTRY		= (1 << 0);
+    private static final long DISCARD_FIRST_HOP_ENTRY   = (1 << 0);
 
     // Keep only the first-hop Flow Entry
-    private final long KEEP_ONLY_FIRST_HOP_ENTRY	= (1 << 1);
+    private static final long KEEP_ONLY_FIRST_HOP_ENTRY = (1 << 1);
 
     /**
      * Default constructor.
diff --git a/src/main/java/org/openflow/util/HexString.java b/src/main/java/org/openflow/util/HexString.java
index 5777612..07cc1f7 100644
--- a/src/main/java/org/openflow/util/HexString.java
+++ b/src/main/java/org/openflow/util/HexString.java
@@ -27,35 +27,35 @@
      */
     public static String toHexString(byte[] bytes) {
         int i;
-        String ret = "";
+        StringBuilder ret = new StringBuilder(8*2+7);
         String tmp;
         for(i=0; i< bytes.length; i++) {
             if(i> 0)
-                ret += ":";
+                ret.append(':');
             tmp = Integer.toHexString(U8.f(bytes[i]));
             if (tmp.length() == 1)
-                ret += "0";
-            ret += tmp; 
+                ret.append('0');
+            ret.append(tmp);
         }
-        return ret;
+        return ret.toString();
     }
     
     public static String toHexString(long val, int padTo) {
         char arr[] = Long.toHexString(val).toCharArray();
-        String ret = "";
+        StringBuilder ret = new StringBuilder(8*2+7);
         // prepend the right number of leading zeros
         int i = 0;
         for (; i < (padTo * 2 - arr.length); i++) {
-            ret += "0";
+            ret.append('0');
             if ((i % 2) == 1)
-                ret += ":";
+                ret.append(':');
         }
         for (int j = 0; j < arr.length; j++) {
-            ret += arr[j];
+            ret.append(arr[j]);
             if ((((i + j) % 2) == 1) && (j < (arr.length - 1)))
-                ret += ":";
+                ret.append(':');
         }
-        return ret;        
+        return ret.toString();
     }
    
     public static String toHexString(long val) {
diff --git a/src/test/java/net/floodlightcontroller/core/internal/TestDatabaseManager.java b/src/test/java/net/floodlightcontroller/core/internal/TestDatabaseManager.java
index f811c9d..4e6477b 100644
--- a/src/test/java/net/floodlightcontroller/core/internal/TestDatabaseManager.java
+++ b/src/test/java/net/floodlightcontroller/core/internal/TestDatabaseManager.java
@@ -8,9 +8,8 @@
 import java.util.Iterator;
 import java.util.Set;
 
-import junit.framework.Assert;
-
 import org.apache.commons.io.FileUtils;
+import org.junit.Assert;
 
 import com.thinkaurelius.titan.core.TitanFactory;
 import com.thinkaurelius.titan.core.TitanGraph;
@@ -18,6 +17,7 @@
 import com.tinkerpop.blueprints.Vertex;
 import com.tinkerpop.blueprints.util.io.graphml.GraphMLReader;
 
+@SuppressWarnings("deprecation")
 public class TestDatabaseManager {
 	private static final String testDbLocation = "/tmp/onos-testdb";
 	
diff --git a/src/test/java/net/onrc/onos/graph/GraphDBConnectionTest.java b/src/test/java/net/onrc/onos/graph/GraphDBConnectionTest.java
index bee936d..397ed88 100644
--- a/src/test/java/net/onrc/onos/graph/GraphDBConnectionTest.java
+++ b/src/test/java/net/onrc/onos/graph/GraphDBConnectionTest.java
@@ -55,6 +55,7 @@
 	}
 
 	
+	@SuppressWarnings("unchecked")
 	private void expectDBConnectionAvailable() throws Exception {
 		isGraphOpen = false;
 		
@@ -62,7 +63,7 @@
 		mockStatic(TitanFactory.class);
 		mockStatic(EventTransactionalGraph.class);
 		graph = createMock(TitanGraph.class);
-		eg = createMock(EventTransactionalGraph.class);
+		eg = (EventTransactionalGraph<TitanGraph>)createMock(EventTransactionalGraph.class);
 		
 		// setup expectations
 		expect(graph.isOpen()).andAnswer(new IAnswer<Boolean>() {
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsIDeviceObjectTest.java b/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsIDeviceObjectTest.java
index 323a0eb..880335b 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsIDeviceObjectTest.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsIDeviceObjectTest.java
@@ -111,7 +111,6 @@
 		IPortObject portObj = ope.newPort(dpid, number);
 		IPortObject portObj2 = ope.newPort(dpid, number2);
 		
-		String ipaddr = "192.168.0.1";
 		IDeviceObject devObj = ope.newDevice();
 		
 		portObj.setDevice(devObj);
@@ -141,11 +140,8 @@
 	public void testSetRemoveHostPort() {
 		String dpid = "00:00:00:00:00:00:0a:07";
 		Short number = 1;	
-		Short number2 = 2;
 		IPortObject portObj = ope.newPort(dpid, number);
-		IPortObject portObj2 = ope.newPort(dpid, number2);
 		
-		String ipaddr = "192.168.0.1";
 		IDeviceObject devObj = ope.newDevice();
 		
 		devObj.setHostPort(portObj);
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsISwitchObjectTest.java b/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsISwitchObjectTest.java
index c4dca4b..dacfdb5 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsISwitchObjectTest.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsISwitchObjectTest.java
@@ -13,6 +13,7 @@
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
 import net.onrc.onos.ofcontroller.core.internal.SwitchStorageImpl;
 import net.onrc.onos.ofcontroller.core.internal.TestDatabaseManager;
+
 import org.easymock.EasyMock;
 import org.junit.After;
 import org.junit.Before;
@@ -146,16 +147,16 @@
 	public void testGetPorts() {
 		String dpid = "00:00:00:00:00:00:0a:07";
 		Short portNumber = 1;
-		int testSwitchPortNumber = 1;
+		final int testSwitchPortNumber = 1;
 		ISwitchObject swObj = ope.newSwitch(dpid);
 		IPortObject portObj = ope.newPort(dpid, portNumber);
 
 		swObj.addPort(portObj);
 		int i = 0;
-		for(IPortObject port : swObj.getPorts()){
+		for(@SuppressWarnings("unused") IPortObject port : swObj.getPorts()){
 			i++;
 		}
-		assertEquals(testSwitchPortNumber, 1);
+		assertEquals(testSwitchPortNumber, i);
 	}
 	
 	/**
@@ -225,7 +226,7 @@
 		portObj.setDevice(devObj);
 		
 		int i = 0;
-		for(IDeviceObject dev : swObj.getDevices()){
+		for(@SuppressWarnings("unused") IDeviceObject dev : swObj.getDevices()){
 			i++;
 		}
 		assertEquals(i, numOfDev);
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImplTest.java b/src/test/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImplTest.java
index f276680..24c17f4 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImplTest.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImplTest.java
@@ -23,7 +23,6 @@
 import org.slf4j.LoggerFactory;
 
 import com.thinkaurelius.titan.core.TitanFactory;
-import com.thinkaurelius.titan.core.TitanGraph;
 
 //Add Powermock preparation
 @RunWith(PowerMockRunner.class)
@@ -35,8 +34,6 @@
 	String conf;
     private GraphDBConnection mockConn = null;
     private GraphDBOperation mockOpe = null;
-    private GraphDBOperation realOpe = null;
-    private TitanGraph titanGraph = null;
     ISwitchStorage swSt = null;
     
 	@Before
@@ -375,12 +372,10 @@
 	 * Expect:
 	 * 	Should call rollback.
 	 */
-	//@Ignore
 	@Test
 	public void testDeleteSwitchException() {
 		String dpid = "00:00:00:00:00:00:0a:07";
 		String state = "ACTIVE";
-		String type = "";
 		
 		//Mock Switch
 		ISwitchObject mockISw = createMock(ISwitchObject.class);
@@ -392,8 +387,8 @@
 		expect(mockOpe.newSwitch(dpid)).andReturn(mockISw);
 		mockOpe.commit();
 		expect(mockOpe.searchSwitch(dpid)).andReturn(mockISw);
-    	mockOpe.removeSwitch(mockISw);
-    	mockOpe.commit();
+		mockOpe.removeSwitch(mockISw);
+		mockOpe.commit();
 		expectLastCall().andThrow(new RuntimeException());
 		mockOpe.rollback();
 		mockOpe.close();
@@ -515,12 +510,10 @@
 	 * Expect:
 	 * 	Nothing happens.
 	 */
-	//@Ignore
 	@Test
 	public void testAddPortAbnormalNoSwitch() {
 		String dpid = "00:00:00:00:00:00:0a:01";
 		short portNumber = 5;
-		String state = "ACTIVE";
 		String name = "port 5 at SEA switch";
 		
 		OFPhysicalPort portToAdd = new OFPhysicalPort();
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestDatabaseManager.java b/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestDatabaseManager.java
index 5b0a5b1..2fe5951 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestDatabaseManager.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestDatabaseManager.java
@@ -8,9 +8,8 @@
 import java.util.Iterator;
 import java.util.Set;
 
-import junit.framework.Assert;
-
 import org.apache.commons.io.FileUtils;
+import org.junit.Assert;
 
 import com.thinkaurelius.titan.core.TitanFactory;
 import com.thinkaurelius.titan.core.TitanGraph;
@@ -18,6 +17,7 @@
 import com.tinkerpop.blueprints.Vertex;
 import com.tinkerpop.blueprints.util.io.graphml.GraphMLReader;
 
+@SuppressWarnings("deprecation")
 public class TestDatabaseManager {
 	private static final String testDbLocation = "/tmp/onos-testdb";
 	
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableGraphDBOperation.java b/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableGraphDBOperation.java
index bcff36a..c695f8d 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableGraphDBOperation.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableGraphDBOperation.java
@@ -918,13 +918,13 @@
 		public Short getMatchVlanId() {return matchVlanId; }
 	
 		@Override
-		public void setMatchVlanId(Short matchVlanId) { matchVlanId = matchVlanId; }
+		public void setMatchVlanId(Short matchVlanId) { matchVlanIdToUpdate = matchVlanId; }
 
 		@Override
 		public Byte getMatchVlanPriority() {return matchVlanPriority; }
 	
 		@Override
-		public void setMatchVlanPriority(Byte matchVlanPriority) { matchVlanPriority = matchVlanPriority; }
+		public void setMatchVlanPriority(Byte matchVlanPriority) { matchVlanPriorityToUpdate = matchVlanPriority; }
 		
 		@Override
 		public String getMatchSrcIPv4Net() { return matchSrcIpaddr; }
@@ -942,13 +942,13 @@
 		public Byte getMatchIpProto() {return matchIpProto; }
 	
 		@Override
-		public void setMatchIpProto(Byte matchIpProto) { matchIpProto = matchIpProto; }
+		public void setMatchIpProto(Byte matchIpProto) { matchIpProtoToUpdate = matchIpProto; }
 
 		@Override
 		public Byte getMatchIpToS() {return matchIpToS; }
 	
 		@Override
-		public void setMatchIpToS(Byte matchIpToS) { matchIpToS = matchIpToS; }
+		public void setMatchIpToS(Byte matchIpToS) { matchIpToSToUpdate = matchIpToS; }
 
 		@Override
 		public Short getMatchSrcTcpUdpPort() {return matchSrcTcpUdpPort; }
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableLinkStorageImpl.java b/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableLinkStorageImpl.java
index 2f90d48..ecba546 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableLinkStorageImpl.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableLinkStorageImpl.java
@@ -18,6 +18,7 @@
  *
  */
 
+@SuppressWarnings("deprecation")
 public class TestableLinkStorageImpl extends LinkStorageImpl {
 	protected TitanGraph graph;
 
diff --git a/src/test/java/net/onrc/onos/ofcontroller/devicemanager/internal/DeviceStorageImplTestBB.java b/src/test/java/net/onrc/onos/ofcontroller/devicemanager/internal/DeviceStorageImplTestBB.java
index e4053f4..552cb9c 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/devicemanager/internal/DeviceStorageImplTestBB.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/devicemanager/internal/DeviceStorageImplTestBB.java
@@ -214,11 +214,8 @@
 				{
 
 					String portNumFromDB = port.getNumber().toString();
-					assertEquals(String.valueOf(portNum), portNumFromDB);						
+					assertEquals(String.valueOf(portNum), portNumFromDB);
 
-					ISwitchObject sw = port.getSwitch();
-					String str = sw.getDPID();
-					log.debug("");
 				}
 			}	
 
diff --git a/src/test/java/net/onrc/onos/ofcontroller/util/FlowEntryActionTest.java b/src/test/java/net/onrc/onos/ofcontroller/util/FlowEntryActionTest.java
index 4db734c..d816517 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/util/FlowEntryActionTest.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/util/FlowEntryActionTest.java
@@ -19,7 +19,7 @@
 	@Test
 	public void testSetActionOutputActionOutput(){
 		FlowEntryAction act = new FlowEntryAction();
-		ActionOutput actout = act.new ActionOutput(new Port((short)42));
+		ActionOutput actout = new FlowEntryAction.ActionOutput(new Port((short)42));
 		act.setActionOutput(actout);
 
 		assertEquals("action output",FlowEntryAction.ActionValues.ACTION_OUTPUT , act.actionType());
@@ -68,7 +68,7 @@
 	@Test
 	public void testSetActionSetVlanIdActionSetVlanId(){
 		FlowEntryAction act = new FlowEntryAction();
-		ActionSetVlanId actVlan = act.new ActionSetVlanId((short)42);
+		ActionSetVlanId actVlan = new FlowEntryAction.ActionSetVlanId((short)42);
 		act.setActionSetVlanId(actVlan);
 
 		assertEquals("action type",FlowEntryAction.ActionValues.ACTION_SET_VLAN_VID , act.actionType());
@@ -100,7 +100,7 @@
 	@Test
 	public void testSetActionSetVlanPriorityActionSetVlanPriority(){
 		FlowEntryAction act = new FlowEntryAction();
-		ActionSetVlanPriority actVlan = act.new ActionSetVlanPriority((byte)42);
+		ActionSetVlanPriority actVlan = new FlowEntryAction.ActionSetVlanPriority((byte)42);
 		act.setActionSetVlanPriority(actVlan);
 
 		assertEquals("action type",FlowEntryAction.ActionValues.ACTION_SET_VLAN_PCP , act.actionType());
@@ -132,7 +132,7 @@
 	@Test
 	public void testSetActionStripVlanActionStripVlan(){
 		FlowEntryAction act = new FlowEntryAction();
-		ActionStripVlan actVlan = act.new ActionStripVlan();
+		ActionStripVlan actVlan = new FlowEntryAction.ActionStripVlan();
 		act.setActionStripVlan(actVlan);
 
 		assertEquals("action type",FlowEntryAction.ActionValues.ACTION_STRIP_VLAN , act.actionType());
@@ -165,7 +165,7 @@
 	public void testSetActionSetEthernetSrcAddrActionSetEthernetAddr(){
 		FlowEntryAction act = new FlowEntryAction();
 		byte[] mac = { 1, 2, 3, 4, 5, 6 };
-		ActionSetEthernetAddr setEth = act.new ActionSetEthernetAddr(new MACAddress(mac));
+		ActionSetEthernetAddr setEth = new FlowEntryAction.ActionSetEthernetAddr(new MACAddress(mac));
 		act.setActionSetEthernetSrcAddr( setEth );
 
 		assertEquals("action type",FlowEntryAction.ActionValues.ACTION_SET_DL_SRC , act.actionType());
@@ -200,7 +200,7 @@
 	public void testSetActionSetEthernetDstAddrActionSetEthernetAddr(){
 		FlowEntryAction act = new FlowEntryAction();
 		byte[] mac = { 1, 2, 3, 4, 5, 6 };
-		ActionSetEthernetAddr setEth = act.new ActionSetEthernetAddr(new MACAddress(mac));
+		ActionSetEthernetAddr setEth = new FlowEntryAction.ActionSetEthernetAddr(new MACAddress(mac));
 		act.setActionSetEthernetDstAddr( setEth );
 
 		assertEquals("action type",FlowEntryAction.ActionValues.ACTION_SET_DL_DST , act.actionType());
@@ -233,7 +233,7 @@
 	@Test
 	public void testSetActionSetIPv4SrcAddrActionSetIPv4Addr(){
 		FlowEntryAction act = new FlowEntryAction();
-		ActionSetIPv4Addr setIp = act.new ActionSetIPv4Addr(new IPv4("127.0.0.1"));
+		ActionSetIPv4Addr setIp = new FlowEntryAction.ActionSetIPv4Addr(new IPv4("127.0.0.1"));
 		act.setActionSetIPv4SrcAddr( setIp );
 
 		assertEquals("action type",FlowEntryAction.ActionValues.ACTION_SET_NW_SRC , act.actionType());
@@ -266,7 +266,7 @@
 	@Test
 	public void testSetActionSetIPv4DstAddrActionSetIPv4Addr(){
 		FlowEntryAction act = new FlowEntryAction();
-		ActionSetIPv4Addr setIp = act.new ActionSetIPv4Addr(new IPv4("127.0.0.1"));
+		ActionSetIPv4Addr setIp = new FlowEntryAction.ActionSetIPv4Addr(new IPv4("127.0.0.1"));
 		act.setActionSetIPv4DstAddr( setIp );
 
 		assertEquals("action type",FlowEntryAction.ActionValues.ACTION_SET_NW_DST , act.actionType());
@@ -298,7 +298,7 @@
 	@Test
 	public void testSetActionSetIpToSActionSetIpToS(){
 		FlowEntryAction act = new FlowEntryAction();
-		ActionSetIpToS setIpTos = act.new ActionSetIpToS((byte)42);
+		ActionSetIpToS setIpTos = new FlowEntryAction.ActionSetIpToS((byte)42);
 		act.setActionSetIpToS( setIpTos );
 
 		assertEquals("action type",FlowEntryAction.ActionValues.ACTION_SET_NW_TOS , act.actionType());
@@ -330,7 +330,7 @@
 	@Test
 	public void testSetActionSetTcpUdpSrcPortActionSetTcpUdpPort(){
 		FlowEntryAction act = new FlowEntryAction();
-		ActionSetTcpUdpPort setPorts = act.new ActionSetTcpUdpPort((short)42);
+		ActionSetTcpUdpPort setPorts = new FlowEntryAction.ActionSetTcpUdpPort((short)42);
 		act.setActionSetTcpUdpSrcPort( setPorts );
 
 		assertEquals("action type",FlowEntryAction.ActionValues.ACTION_SET_TP_SRC , act.actionType());
@@ -362,7 +362,7 @@
 	@Test
 	public void testSetActionSetTcpUdpDstPortActionSetTcpUdpPort(){
 		FlowEntryAction act = new FlowEntryAction();
-		ActionSetTcpUdpPort setPorts = act.new ActionSetTcpUdpPort((short)42);
+		ActionSetTcpUdpPort setPorts = new FlowEntryAction.ActionSetTcpUdpPort((short)42);
 		act.setActionSetTcpUdpDstPort( setPorts );
 
 		assertEquals("action type",FlowEntryAction.ActionValues.ACTION_SET_TP_DST , act.actionType());
@@ -394,7 +394,7 @@
 	@Test
 	public void testSetActionEnqueueActionEnqueue(){
 		FlowEntryAction act = new FlowEntryAction();
-		ActionEnqueue enq = act.new ActionEnqueue(new Port((short)42), 1);
+		ActionEnqueue enq = new FlowEntryAction.ActionEnqueue(new Port((short)42), 1);
 		act.setActionEnqueue( enq );
 
 		assertEquals("action type",FlowEntryAction.ActionValues.ACTION_ENQUEUE , act.actionType());