ONOS-6259: Topo2 - Implement server-side highlighting model
- (Still WIP)
- refactored trafficSummary() and related methods up into superclass
- introduced hook method for link aggregation

Change-Id: I0a993bbc5ba5f0e861214f8d06877dad3f7bc8ee
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 cb91e0d..0653832 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
@@ -19,9 +19,13 @@
 
 import org.onosproject.ui.impl.TrafficMonitorBase;
 import org.onosproject.ui.impl.topo.util.ServicesBundle;
+import org.onosproject.ui.impl.topo.util.TrafficLink;
+import org.onosproject.ui.topo.Highlights;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.Set;
+
 /**
  * Encapsulates the behavior of monitoring specific traffic patterns in the
  * Topology-2 view.
@@ -31,6 +35,7 @@
     private static final Logger log =
             LoggerFactory.getLogger(Traffic2Monitor.class);
 
+    // link back to our message handler (for outbound messages)
     private final Topo2TrafficMessageHandler msgHandler;
 
     /**
@@ -49,24 +54,32 @@
     @Override
     protected void sendAllFlowTraffic() {
         log.debug("TOPO-2-TRAFFIC: sendAllFlowTraffic");
+        Highlights h = trafficSummary(TrafficLink.StatsType.FLOW_STATS);
+
         // TODO
     }
 
     @Override
     protected void sendAllPortTrafficBits() {
         log.debug("TOPO-2-TRAFFIC: sendAllPortTrafficBits");
+        Highlights h = trafficSummary(TrafficLink.StatsType.PORT_STATS);
+
         // TODO
     }
 
     @Override
     protected void sendAllPortTrafficPackets() {
         log.debug("TOPO-2-TRAFFIC: sendAllPortTrafficPackets");
+        Highlights h = trafficSummary(TrafficLink.StatsType.PORT_PACKET_STATS);
+
         // TODO
     }
 
     @Override
     protected void sendClearHighlights() {
         log.debug("TOPO-2-TRAFFIC: sendClearHighlights");
+        Highlights h = new Highlights();
+
         // TODO
     }
 
@@ -83,4 +96,16 @@
     @Override
     protected void clearSelection() {
     }
+
+    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+    // -- link aggregation
+
+
+    @Override
+    protected Set<TrafficLink> doAggregation(Set<TrafficLink> linksWithTraffic) {
+        // TODO: figure out how to aggregate the link data...
+        log.debug("Need to aggregate {} links", linksWithTraffic.size());
+
+        return linksWithTraffic;
+    }
 }