ONOS-6259: Topo2 - Implement server-side highlighting model (WIP)
- Enhanced BiLink to allow a UiLinkId as its identifier.
- Corrected aggregation of traffic data for synthetic links in regions.
- Removed TrafficLink copy constructor (not needed).
Change-Id: Ia7d84f28ec69737e7474bfc100262b837effef73
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/Traffic2Monitor.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/Traffic2Monitor.java
index 60e7e83..bccc63c 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/Traffic2Monitor.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/Traffic2Monitor.java
@@ -31,6 +31,8 @@
import java.util.Map;
import java.util.Set;
+import static org.onosproject.ui.model.topo.UiLinkId.uiLinkId;
+
/**
* Encapsulates the behavior of monitoring specific traffic patterns in the
* Topology-2 view.
@@ -112,17 +114,13 @@
Map<UiLinkId, TrafficLink> mappedByUiLinkId = new HashMap<>();
for (TrafficLink tl : linksWithTraffic) {
- UiLinkId tlid = UiLinkId.uiLinkId(tl.key());
+ UiLinkId tlid = uiLinkId(tl.key());
UiSynthLink sl = synthLinkMap.get(tlid);
if (sl != null) {
UiLinkId aggrid = sl.link().id();
- TrafficLink aggregated = mappedByUiLinkId.get(aggrid);
- if (aggregated == null) {
- aggregated = new TrafficLink(tl);
- mappedByUiLinkId.put(aggrid, aggregated);
- } else {
- aggregated.mergeStats(tl);
- }
+ TrafficLink aggregated =
+ mappedByUiLinkId.computeIfAbsent(aggrid, TrafficLink::new);
+ aggregated.mergeStats(tl);
}
}