fix some codes
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java b/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
index 77c42b1..3cfa190 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
@@ -92,12 +92,8 @@
 		public void setPortState(Integer s);
 		
 		@JsonIgnore
-		@Incidence(label="on",direction = Direction.IN)
-		public ISwitchObject getSwitch();
-		
-		@JsonIgnore
 		@Adjacency(label="on",direction = Direction.IN)
-		public ISwitchObject getVertexSwitch();
+		public ISwitchObject getSwitch();
 				
 		@JsonProperty("devices")
 		@Adjacency(label="host")
diff --git a/src/main/java/net/onrc/onos/util/GraphDBOperation.java b/src/main/java/net/onrc/onos/util/GraphDBOperation.java
index df68282..950741d 100644
--- a/src/main/java/net/onrc/onos/util/GraphDBOperation.java
+++ b/src/main/java/net/onrc/onos/util/GraphDBOperation.java
@@ -174,7 +174,7 @@
 	public IDeviceObject searchDevice(String macAddr) {
 		// TODO Auto-generated method stub
 		FramedGraph<TitanGraph> fg = conn.getFramedGraph();	
-		return (fg != null && fg.getVertices("dl_address",macAddr).iterator().hasNext()) ? fg.getVertices("dl_address",macAddr,
+		return (fg != null && fg.getVertices("dl_addr",macAddr).iterator().hasNext()) ? fg.getVertices("dl_addr",macAddr,
     			IDeviceObject.class).iterator().next() : null;
     			
 	}
diff --git a/src/test/java/net/floodlightcontroller/devicemanager/internal/DeviceStorageImplTest.java b/src/test/java/net/floodlightcontroller/devicemanager/internal/DeviceStorageImplTest.java
index bedee03..cd1651f 100644
--- a/src/test/java/net/floodlightcontroller/devicemanager/internal/DeviceStorageImplTest.java
+++ b/src/test/java/net/floodlightcontroller/devicemanager/internal/DeviceStorageImplTest.java
@@ -6,31 +6,20 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javassist.bytecode.Descriptor.Iterator;
-
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
 import net.onrc.onos.ofcontroller.core.internal.SwitchStorageImpl;
 import net.onrc.onos.ofcontroller.devicemanager.internal.DeviceStorageImpl;
 import net.onrc.onos.util.GraphDBConnection;
-import net.onrc.onos.util.GraphDBConnection.Transaction;
 import net.onrc.onos.util.GraphDBOperation;
-import net.floodlightcontroller.core.internal.TestDatabaseManager;
 import net.floodlightcontroller.devicemanager.IDevice;
 import net.floodlightcontroller.devicemanager.SwitchPort;
-import net.floodlightcontroller.flowcache.FlowReconcileManager;
-import net.floodlightcontroller.packet.IPacket;
 import net.floodlightcontroller.packet.IPv4;
-import net.floodlightcontroller.storage.memory.MemoryStorageSource;
-
 import org.easymock.EasyMock;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.openflow.protocol.OFPacketIn;
 import org.openflow.util.HexString;
 import org.powermock.api.easymock.PowerMock;
 import org.powermock.core.classloader.annotations.PrepareForTest;
@@ -39,9 +28,6 @@
 import org.slf4j.LoggerFactory;
 
 import com.thinkaurelius.titan.core.TitanFactory;
-import com.thinkaurelius.titan.core.TitanGraph;
-import com.tinkerpop.blueprints.Vertex;
-import com.tinkerpop.gremlin.java.GremlinPipeline;
 
 //Add Powermock preparation
 @RunWith(PowerMockRunner.class)
@@ -50,29 +36,14 @@
 	
 	protected static Logger log = LoggerFactory.getLogger(SwitchStorageImpl.class);
 	
+	String conf;
 	DeviceStorageImpl deviceImpl;
-	DeviceManagerImpl deviceManager;
-	protected IPacket testARPReplyPacket_1;
-    FlowReconcileManager flowReconcileMgr;
-    MemoryStorageSource storageSource;
-    protected byte[] testARPReplyPacket_1_Srld;
-    protected OFPacketIn packetIn_1;
-    private static TitanGraph titanGraph;
-    String conf;
     private GraphDBConnection mockConn;
     private GraphDBOperation mockOpe;
     
 	@Before
 	public void setUp() throws Exception {
 
-// 		Make mock cassandra DB
-// 		Replace TitanFactory.open() to return mock DB
-//		titanGraph = TestDatabaseManager.getTestDatabase();
-//		TestDatabaseManager.populateTestData(titanGraph);
-//		PowerMock.mockStatic(TitanFactory.class);
-//		EasyMock.expect(TitanFactory.open((String)EasyMock.anyObject())).andReturn(titanGraph);
-//		PowerMock.replay(TitanFactory.class);
-		
 		PowerMock.mockStatic(GraphDBConnection.class);
 		mockConn = createMock(GraphDBConnection.class);
 		PowerMock.suppress(PowerMock.constructor(GraphDBConnection.class));
@@ -104,7 +75,7 @@
         		multiIntString = "[" + IPv4.fromIPv4Address(intValue);
         	}
         	else{
-           		multiIntString += ":" + IPv4.fromIPv4Address(intValue);
+           		multiIntString += "," + IPv4.fromIPv4Address(intValue);
         	}
         }
         return multiIntString + "]";
@@ -171,6 +142,7 @@
 			expect(mockOpe.newDevice()).andReturn(mockIDev);
 			expect(mockOpe.searchPort(switchMacAddr, portNum)).andReturn(mockIPort);
 			mockOpe.commit();
+
 			replay(mockOpe);				
 			
 			deviceImpl.init(conf);
@@ -179,6 +151,9 @@
 	        IDeviceObject obj = deviceImpl.addDevice(mockDev);	
 			assertNotNull(obj);
 			
+			verify(mockIDev);
+			verify(mockOpe);
+			
 		} catch(Exception e) {
 			fail(e.getMessage());
 		}
@@ -191,7 +166,7 @@
 	 * 	Already added device is existed.
 	 * Expect:
 	 * 	Get proper IDeviceObject still.
-	 *  Check the IDeviceObject properties set.
+	 *  Check the IDeviceObject properties set expectedly. 
 	 */
 	//@Ignore
 	@Test
@@ -259,6 +234,9 @@
 	        IDeviceObject obj2 = deviceImpl.addDevice(mockDev);
 			assertNotNull(obj2);
 			
+			verify(mockIDev);
+			verify(mockOpe);
+			
 		} catch(Exception e) {
 			fail(e.getMessage());
 		}
@@ -271,7 +249,7 @@
 	 * 	The mac address and attachment point are the same. 
 	 *  All of the other parameter are different.
 	 * Expect:
-	 * 	Changed parameters are set properly.
+	 * 	Changed parameters are set expectedly.
 	 */
 	//@Ignore
 	@Test
@@ -350,6 +328,9 @@
 			IDeviceObject obj2 = deviceImpl.updateDevice(mockDev2);
 			assertNotNull(obj2);
 			
+			verify(mockIDev);
+			verify(mockOpe);
+			
 		} catch(Exception e) {
 			fail(e.getMessage());
 		}
@@ -380,29 +361,17 @@
 			SwitchPort sp1 = new SwitchPort(switchMacAddrL, portNum);
 			SwitchPort[] sps = {sp1};
 			
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
+			expect(mockDev.getMACAddressString()).andReturn(macAddr).anyTimes();
 			expect(mockDev.getAttachmentPoints()).andReturn(sps);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
 			expect(mockDev.getIPv4Addresses()).andReturn(ipaddrs);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
 			replay(mockDev);
 			
 			//Dev2 (attached port is the same)
 			IDevice mockDev2 = createMock(Device.class);
 			String macAddr2 = "33:33:33:33:33:33";
-			expect(mockDev2.getMACAddressString()).andReturn(macAddr2);
-			expect(mockDev2.getMACAddressString()).andReturn(macAddr2);
-			expect(mockDev2.getMACAddressString()).andReturn(macAddr2);
-			expect(mockDev2.getMACAddressString()).andReturn(macAddr2);
+			expect(mockDev2.getMACAddressString()).andReturn(macAddr2).anyTimes();
 			expect(mockDev2.getIPv4Addresses()).andReturn(ipaddrs);
 			expect(mockDev2.getAttachmentPoints()).andReturn(sps);
-			expect(mockDev2.getMACAddressString()).andReturn(macAddr2);
-			expect(mockDev2.getMACAddressString()).andReturn(macAddr2);
 			replay(mockDev2);
 			
 			//Mock IPortObject 1 with dpid "00:00:00:00:00:00:0a:01" and port "1"
@@ -452,7 +421,9 @@
 			deviceImpl.removeDevice(mockDev);		
 		    IDeviceObject dev2 = deviceImpl.getDeviceByMac(macAddr);
 		    assertNull(dev2);
-		 
+		    
+			verify(mockIDev);
+			verify(mockOpe);
 		} catch(Exception e) {
 			fail(e.getMessage());
 		}
@@ -466,7 +437,7 @@
 	 * Expect:
 	 * 	1.Nothing happen when you put unregistered mac address
 	 *  2.Get the proper IDeviceObject.
-	 *  3.Check the IDeviceObject properties set.
+	 *  3.Check the IDeviceObject properties set expectedly.
 	 */
 	//@Ignore
 	@Test
@@ -486,14 +457,9 @@
 			
 			String dummyMac = "33:33:33:33:33:33";
 			
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
+			expect(mockDev.getMACAddressString()).andReturn(macAddr).anyTimes();
 			expect(mockDev.getIPv4Addresses()).andReturn(ipaddrs);
 			expect(mockDev.getAttachmentPoints()).andReturn(sps);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
 			replay(mockDev);
 			
 			//Mock IPortObject 1 with dpid "00:00:00:00:00:00:0a:01" and port "1"
@@ -538,6 +504,8 @@
 		    IDeviceObject dev = deviceImpl.getDeviceByMac(macAddr);
 		    assertNotNull(dev);
 		    
+			verify(mockIDev);
+			verify(mockOpe);   
 		} catch(Exception e) {
 			fail(e.getMessage());
 		}
@@ -551,7 +519,7 @@
 	 * Expect:
 	 * 	1. Nothing happen when you put unregistered mac address
 	 * 	2. Get the proper IDeviceObject.
-	 *  3. Check the IDeviceObject properties set.
+	 *  3. Check the IDeviceObject properties set expectedly.
 	 */
 	//@Ignore
 	@Test
@@ -561,8 +529,10 @@
 			IDevice mockDev = createMock(Device.class);
 			String macAddr = "99:99:99:99:99:99";
 			String ip = "192.168.100.1";
+			String ip2 = "192.168.100.2";
 			Integer ipInt = IPv4.toIPv4Address(ip);
-			Integer[] ipaddrs = {ipInt};
+			Integer ipInt2 = IPv4.toIPv4Address(ip2);
+			Integer[] ipaddrs = {ipInt, ipInt2};
 			String switchMacAddr = "00:00:00:00:00:00:0a:01";		
 			long switchMacAddrL = HexString.toLong(switchMacAddr);
 			short portNum = 2; 
@@ -571,14 +541,9 @@
 			
 			String dummyIP = "222.222.222.222";
 			
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
+			expect(mockDev.getMACAddressString()).andReturn(macAddr).anyTimes();
 			expect(mockDev.getIPv4Addresses()).andReturn(ipaddrs);
 			expect(mockDev.getAttachmentPoints()).andReturn(sps);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
 			replay(mockDev);
 			
 			//Mock IPortObject 1 with dpid "00:00:00:00:00:00:0a:01" and port "1"
@@ -597,7 +562,7 @@
 			//Expectation for mockIDeviceObject
 			IDeviceObject mockIDev = createMock(IDeviceObject.class);	
 			expect(mockIDev.getAttachedPorts()).andReturn(portList);
-			expect(mockIDev.getIPAddress()).andReturn(ip).times(2);
+			expect(mockIDev.getIPAddress()).andReturn(makeIPStringFromArray(ipaddrs)).times(2);
 			mockIDev.setIPAddress(makeIPStringFromArray(ipaddrs));
 			mockIDev.setMACAddress(macAddr);
 			mockIDev.setType("device");
@@ -617,8 +582,6 @@
 			expect(mockOpe.getDevices()).andReturn(deviceList).times(2);
 			replay(mockOpe);				
 			
-
-			
 			deviceImpl.init(conf);
 	
 	        IDeviceObject obj = deviceImpl.addDevice(mockDev);	
@@ -629,6 +592,9 @@
 			
 		    IDeviceObject dev = deviceImpl.getDeviceByIP(ip);
 		    assertNotNull(dev);
+		    
+			verify(mockIDev);
+			verify(mockOpe);
 			
 		} catch(Exception e) {
 			fail(e.getMessage());
@@ -642,7 +608,7 @@
 	 * 	1. Unexisting attachment point argument is set
 	 * Expect:
 	 * 	1. Nothing happen when you put unexisting attachment point.
-	 * 	2. Change the attachment point.
+	 * 	2. Set the attachment point expectedly;
 	 */
 	//@Ignore
 	@Test
@@ -660,14 +626,9 @@
 			SwitchPort sp1 = new SwitchPort(switchMacAddrL, portNum);
 			SwitchPort[] sps = {sp1};
 			
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
+			expect(mockDev.getMACAddressString()).andReturn(macAddr).anyTimes();
 			expect(mockDev.getIPv4Addresses()).andReturn(ipaddrs);
 			expect(mockDev.getAttachmentPoints()).andReturn(sps);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
 			replay(mockDev);
 			
 			//Dev2
@@ -678,14 +639,9 @@
 			SwitchPort sp2 = new SwitchPort(lSwitchMacAddr2, portNum2);
 			SwitchPort sps2[] = {sp2};
 			
-			expect(mockDev2.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev2.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev2.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev2.getMACAddressString()).andReturn(macAddr);
+			expect(mockDev2.getMACAddressString()).andReturn(macAddr).anyTimes();
 			expect(mockDev2.getIPv4Addresses()).andReturn(ipaddrs);
 			expect(mockDev2.getAttachmentPoints()).andReturn(sps2);
-			expect(mockDev2.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev2.getMACAddressString()).andReturn(macAddr);
 			replay(mockDev2);
 			
 			//Dev3
@@ -696,14 +652,9 @@
 			SwitchPort sp3 = new SwitchPort(lSwitchMacAddr3, portNum3);
 			SwitchPort sps3[] = {sp3};
 			
-			expect(mockDev3.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev3.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev3.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev3.getMACAddressString()).andReturn(macAddr);
+			expect(mockDev3.getMACAddressString()).andReturn(macAddr).anyTimes();
 			expect(mockDev3.getIPv4Addresses()).andReturn(ipaddrs);
 			expect(mockDev3.getAttachmentPoints()).andReturn(sps3);
-			expect(mockDev3.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev3.getMACAddressString()).andReturn(macAddr);
 			replay(mockDev3);
 			
 			IDeviceObject mockIDev = createMock(IDeviceObject.class);	
@@ -776,6 +727,9 @@
 		    deviceImpl.changeDeviceAttachments(mockDev2);
 			
 		    deviceImpl.changeDeviceAttachments(mockDev3);
+		    
+			verify(mockIDev);
+			verify(mockOpe);
 			
 		} catch(Exception e) {
 			fail(e.getMessage());
@@ -795,7 +749,7 @@
 	 * Condition:
 	 * 	N/A
 	 * Expect:
-	 *  1. Check correctly changed the ipadress
+	 *  1. Set the ipadress expectedly.
 	 */
 	//@Ignore
 	@Test
@@ -814,14 +768,9 @@
 			SwitchPort sp1 = new SwitchPort(switchMacAddrL, portNum);
 			SwitchPort[] sps = {sp1};
 			
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
+			expect(mockDev.getMACAddressString()).andReturn(macAddr).anyTimes();
 			expect(mockDev.getIPv4Addresses()).andReturn(ipaddrs);
 			expect(mockDev.getAttachmentPoints()).andReturn(sps);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
-			expect(mockDev.getMACAddressString()).andReturn(macAddr);
 			replay(mockDev);
 			
 			//Dev2
@@ -871,6 +820,9 @@
 			assertNotNull(obj);
 
 	        deviceImpl.changeDeviceIPv4Address(mockDev2);	
+	        
+			verify(mockIDev);
+			verify(mockOpe);
 					
 		} 
 		catch(Exception e) {