Adding some PortEvent related internal interfaces.

Change-Id: I39ab061db367c355dc7721eef387f94cdec277ba
diff --git a/src/main/java/net/onrc/onos/core/topology/TopologyImpl.java b/src/main/java/net/onrc/onos/core/topology/TopologyImpl.java
index 31b143d..5411a1b 100644
--- a/src/main/java/net/onrc/onos/core/topology/TopologyImpl.java
+++ b/src/main/java/net/onrc/onos/core/topology/TopologyImpl.java
@@ -371,14 +371,28 @@
 
     @Override
     public PortEvent getPortEvent(final SwitchPort port) {
-        ConcurrentMap<PortNumber, PortEvent> portMap = this.ports.get(port.getDpid());
+        return getPortEvent(port.getDpid(), port.getPortNumber());
+    }
+
+    @Override
+    public PortEvent getPortEvent(final Dpid dpid, PortNumber portNumber) {
+        ConcurrentMap<PortNumber, PortEvent> portMap = this.ports.get(dpid);
         if (portMap != null) {
-            return portMap.get(port.getPortNumber());
+            return portMap.get(portNumber);
         }
         return null;
     }
 
     @Override
+    public Collection<PortEvent> getPortEvents(final Dpid dpid) {
+        ConcurrentMap<PortNumber, PortEvent> portList = ports.get(dpid);
+        if (portList == null) {
+            return Collections.emptyList();
+        }
+        return Collections.unmodifiableCollection(portList.values());
+    }
+
+    @Override
     public Collection<PortEvent> getAllPortEvents() {
         List<PortEvent> events = new LinkedList<>();
         for (ConcurrentMap<PortNumber, PortEvent> cm : ports.values()) {
diff --git a/src/main/java/net/onrc/onos/core/topology/TopologyInternal.java b/src/main/java/net/onrc/onos/core/topology/TopologyInternal.java
index 9656013..e712795 100644
--- a/src/main/java/net/onrc/onos/core/topology/TopologyInternal.java
+++ b/src/main/java/net/onrc/onos/core/topology/TopologyInternal.java
@@ -5,6 +5,7 @@
 import net.floodlightcontroller.util.MACAddress;
 import net.onrc.onos.core.util.Dpid;
 import net.onrc.onos.core.util.LinkTuple;
+import net.onrc.onos.core.util.PortNumber;
 import net.onrc.onos.core.util.SwitchPort;
 
 /**
@@ -35,6 +36,23 @@
     public PortEvent getPortEvent(SwitchPort port);
 
     /**
+     * Gets a PortEvent.
+     *
+     * @param dpid Switch DPID
+     * @param portNumber Port number
+     * @return the PortEvent for the (Dpid, PortNumber) if found, otherwise null
+     */
+    public PortEvent getPortEvent(Dpid dpid, PortNumber portNumber);
+
+    /**
+     * Gets all the PortEvents on a switch.
+     *
+     * @param dpid Switch DPID
+     * @return PortEvents
+     */
+    public Collection<PortEvent> getPortEvents(Dpid dpid);
+
+    /**
      * Gets all PortEvent entries.
      *
      * @return all PortEvent entries.