ONOS-6259: Topo2 - Implement server-side highlighting model
- NOTE: Still WIP
- Implement doAggregation() in Traffic2Monitor.
- Plumb through call to get relevantSynthLinks().
- Create UiLinkId from LinkKey.
- Add reference to original UiLink in the UiSynthLink, (so we can use as a key later).
- TrafficLink enhancements:
-- Implement equals/hashCode
-- add a copy constructor
-- add mergeStats() method
-- add stats accessor methods

Change-Id: I693626971b3511b842e80cee7fcd2a252087597f
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/ModelCache.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/ModelCache.java
index ec07673..fa426e1 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/ModelCache.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/ModelCache.java
@@ -49,8 +49,10 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import static org.onosproject.net.DefaultEdgeLink.createEdgeLink;
@@ -553,6 +555,14 @@
         return uiTopology.findSynthLinks(regionId);
     }
 
+    Map<UiLinkId, UiSynthLink> relevantSynthLinks(RegionId regionId) {
+        Map<UiLinkId, UiSynthLink> result = new HashMap<>();
+        for (UiSynthLink sl : getSynthLinks(regionId)) {
+            result.put(sl.original().id(), sl);
+        }
+        return result;
+    }
+
     /**
      * Refreshes the internal state.
      */
@@ -569,11 +579,6 @@
 
         services.region().getRegions().forEach(r -> {
             RegionId rid = r.id();
-
-//            BasicRegionConfig rcfg = cfgService.getConfig(rid, BasicRegionConfig.class);
-//            services.netcfg() ...
-            // TODO: figure out how to include peer-location data in UiRegion instance
-
             UiRegion region = uiTopology.findRegion(rid);
             if (region != null) {
                 reconcileDevicesAndHostsWithRegion(allDevices, allHosts, rid, region);