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()) {