Override equals() and hashCode() of FlowLink

Change-Id: I639e8b72eef31ca138b10976ae0e6e19760ef2dd
diff --git a/src/main/java/net/onrc/onos/api/flowmanager/FlowLink.java b/src/main/java/net/onrc/onos/api/flowmanager/FlowLink.java
index 42b7788..2fded10 100644
--- a/src/main/java/net/onrc/onos/api/flowmanager/FlowLink.java
+++ b/src/main/java/net/onrc/onos/api/flowmanager/FlowLink.java
@@ -1,5 +1,6 @@
 package net.onrc.onos.api.flowmanager;
 
+import com.google.common.base.Objects;
 import net.onrc.onos.core.util.Dpid;
 import net.onrc.onos.core.util.PortNumber;
 import net.onrc.onos.core.util.SwitchPort;
@@ -99,4 +100,23 @@
     public String toString() {
         return srcSwitchPort + "-->" + dstSwitchPort;
     }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o == null || getClass() != o.getClass()) {
+            return false;
+        }
+
+        FlowLink that = (FlowLink) o;
+        return Objects.equal(this.srcSwitchPort, that.srcSwitchPort)
+                && Objects.equal(this.dstSwitchPort, that.dstSwitchPort);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hashCode(srcSwitchPort, dstSwitchPort);
+    }
 }