Implement rerouting feature in PathCalcRuntimeModule

Change-Id: Ie37ebd1fa6910e999d457481d7082adb0d1d9a3a
diff --git a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/PortEvent.java b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/PortEvent.java
index b42bf1e..8172f29 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/PortEvent.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/PortEvent.java
@@ -10,8 +10,8 @@
  */
 public class PortEvent {
     public static class SwitchPort {
-        public final Long dpid;
-        public final Long number;
+	public final Long dpid;
+	public final Long number;
 
 	/**
 	 * Default constructor.
@@ -39,6 +39,37 @@
             return "(" + Long.toHexString(dpid) + "@" + number + ")";
         }
 
+        @Override
+        public int hashCode() {
+            final int prime = 31;
+            int result = 1;
+            result = prime * result + ((dpid == null) ? 0 : dpid.hashCode());
+            result = prime * result
+        	    + ((number == null) ? 0 : number.hashCode());
+            return result;
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            if (this == obj)
+        	return true;
+            if (obj == null)
+        	return false;
+            if (getClass() != obj.getClass())
+        	return false;
+            SwitchPort other = (SwitchPort) obj;
+            if (dpid == null) {
+        	if (other.dpid != null)
+        	    return false;
+            } else if (!dpid.equals(other.dpid))
+        	return false;
+            if (number == null) {
+        	if (other.number != null)
+        	    return false;
+            } else if (!number.equals(other.number))
+        	return false;
+            return true;
+        }
     }
 
     private final SwitchPort id;