Topology interface to use Dpid, PortNumber

- Modified Switch interface to use Dpid, PortNumber instead of Long
- Modified Port interface to use Dpid, PortNumber instead of Long
- Modified Topology interface which uses Dpid, PortNumber, SwitchPort

- PortImpl#toString() format has changed: "%d:%d" -> "Dpid#toString():PortNumber#toString"

- Part of ONOS-1564

Change-Id: I8decdbb2fb0cce9e087ad49af3a087b65b8511d7
diff --git a/src/main/java/net/onrc/onos/core/topology/LinkEvent.java b/src/main/java/net/onrc/onos/core/topology/LinkEvent.java
index 9b6630f..c54140d 100644
--- a/src/main/java/net/onrc/onos/core/topology/LinkEvent.java
+++ b/src/main/java/net/onrc/onos/core/topology/LinkEvent.java
@@ -4,6 +4,9 @@
 
 import net.onrc.onos.core.topology.PortEvent.SwitchPort;
 import net.onrc.onos.core.topology.web.serializers.LinkEventSerializer;
+import net.onrc.onos.core.util.Dpid;
+import net.onrc.onos.core.util.PortNumber;
+
 import org.codehaus.jackson.map.annotate.JsonSerialize;
 
 /**
@@ -39,6 +42,12 @@
                 link.getDstPort().getNumber());
     }
 
+    public LinkEvent(Dpid srcDpid, PortNumber srcPortNo,
+                     Dpid dstDpid, PortNumber dstPortNo) {
+        src = new SwitchPort(srcDpid, srcPortNo);
+        dst = new SwitchPort(dstDpid, dstPortNo);
+    }
+
     public SwitchPort getSrc() {
         return src;
     }
@@ -54,6 +63,12 @@
 
     public static final int LINKID_BYTES = 2 + PortEvent.PORTID_BYTES * 2;
 
+    public static ByteBuffer getLinkID(Dpid srcDpid, PortNumber srcPortNo,
+                                       Dpid dstDpid, PortNumber dstPortNo) {
+            return getLinkID(srcDpid.value(), (long) srcPortNo.value(),
+                             dstDpid.value(), (long) dstPortNo.value());
+    }
+
     public static ByteBuffer getLinkID(Long srcDpid, Long srcPortNo,
                                        Long dstDpid, Long dstPortNo) {
         return (ByteBuffer) ByteBuffer.allocate(LinkEvent.LINKID_BYTES).putChar('L')