Test + Bugfix for ImmutableTopologySnapshot.
Change-Id: I7760657eec763e08e8d7c946fc5f3aadeb160707
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 1dc14c6..cc1cc9f 100644
--- a/src/main/java/net/onrc/onos/core/topology/TopologyImpl.java
+++ b/src/main/java/net/onrc/onos/core/topology/TopologyImpl.java
@@ -445,7 +445,11 @@
if (links == null) {
return null;
}
- return links.get(type);
+ LinkEvent link = links.get(type);
+ if (link.getDst().equals(linkId.getDst())) {
+ return link;
+ }
+ return null;
}
@Override
@@ -473,8 +477,15 @@
return Collections.emptyList();
}
+ List<LinkEvent> linkEvents = new ArrayList<>();
+ for (LinkEvent e : links.values()) {
+ if (e.getDst().equals(linkId.getDst())) {
+ linkEvents.add(e);
+ }
+ }
+
// unless invariant is broken, this should contain at most 1 element.
- return Collections.unmodifiableCollection(links.values());
+ return linkEvents;
}
@Override