Fixed bugs
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 29c4377..a6203ba 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
@@ -213,7 +213,7 @@
 		public void setIpv4Address(int ipv4Address);
 		
 		@JsonIgnore
-		@GremlinGroovy("it.in('hasAddress')")
+		@Adjacency(label = "hasAddress", direction = Direction.IN)
 		public IDeviceObject getDevice();
 	}
 	
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 36e1c5e..67b3ff0 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
@@ -437,17 +437,22 @@
 		// get source port vertex
 		String dpid = HexString.toHexString(lt.getSrc());
 		short port = lt.getSrcPort();
+		log.debug("addLinkImpl Src dpid : " + dpid + " port :" + port);
 		vportSrc = dbop.searchPort(dpid, port);
 		
 		// get dest port vertex
 		dpid = HexString.toHexString(lt.getDst());
 		port = lt.getDstPort();
+		log.debug("addLinkImpl Dst dpid : " + dpid + " port :" + port);
 		vportDst = dbop.searchPort(dpid, port);
-		            
+		
+		log.debug("addLinkImpl vportSrc : " + vportSrc + " vportDst : " + vportDst);
+		
 		if (vportSrc != null && vportDst != null) {
 			IPortObject portExist = null;
 			// check if the link exists
 			for (IPortObject V : vportSrc.getLinkedPorts()) {
+			        log.debug("vportSrc.getLinkedPorts() :" + V);
 				if (V.equals(vportDst)) {
 					portExist = V;
 					break;
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java
index 6599366..1f7f783 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java
@@ -438,7 +438,7 @@
     		// and takes forever.
     		boolean attached = false;
     		for (IPortObject portsOnSwitch : sw.getPorts()) {
-    			if (portsOnSwitch.getPortId() == portObject.getPortId()) {
+    			if (portsOnSwitch.getPortId().equals(portObject.getPortId())) {
     				attached = true;
     				break;
     			}
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowDatabaseOperation.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowDatabaseOperation.java
index 95185b9..ec27a0f 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowDatabaseOperation.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowDatabaseOperation.java
@@ -642,7 +642,9 @@
 	FlowEntry flowEntry = new FlowEntry();
 	flowEntry.setFlowEntryId(new FlowEntryId(flowEntryIdStr));
 	flowEntry.setDpid(new Dpid(switchDpidStr));
-
+	flowEntry.setIdleTimeout(idleTimeout);
+	flowEntry.setHardTimeout(hardTimeout);
+	
 	//
 	// Extract the match conditions
 	//
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 0f9ed91..9df6cae 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
@@ -376,7 +376,7 @@
 					 FlowEntryId flowEntryId) {
 	// Find the Flow Entry
 	FlowEntry flowEntry = datagridService.getFlowEntry(flowEntryId);
-	if (flowEntryId == null)
+	if (flowEntry == null)
 	    return;		// Flow Entry not found
 
 	// Find the Flow Path