Prototyping mouse-over behaviour for path/traffic selection; needs re-work.
Change-Id: I27507e8129b790e56192077bfb56028f2ec56d90
diff --git a/web/gui/src/main/java/org/onlab/onos/gui/TopologyWebSocket.java b/web/gui/src/main/java/org/onlab/onos/gui/TopologyWebSocket.java
index 46bc930..9e2623f 100644
--- a/web/gui/src/main/java/org/onlab/onos/gui/TopologyWebSocket.java
+++ b/web/gui/src/main/java/org/onlab/onos/gui/TopologyWebSocket.java
@@ -91,7 +91,7 @@
private final IntentListener intentListener = new InternalIntentListener();
// Intents that are being monitored for the GUI
- private static Map<Intent, Long> intentsToMonitor = new ConcurrentHashMap<>();
+ private Map<Intent, Long> intentsToMonitor = new ConcurrentHashMap<>();
private long lastActive = System.currentTimeMillis();
private boolean listenersRemoved = false;
@@ -118,6 +118,8 @@
/**
* Indicates if this connection is idle.
+ *
+ * @return true if idle or closed
*/
synchronized boolean isIdle() {
boolean idle = (System.currentTimeMillis() - lastActive) > MAX_AGE_MS;
@@ -293,6 +295,10 @@
// Produces a set of intents that target all selected hosts or connect points.
private Set<Intent> getIntents(Set<Host> hosts, Set<ConnectPoint> edgePoints) {
Set<Intent> intents = new HashSet<>();
+ if (hosts.isEmpty()) {
+ return intents;
+ }
+
for (Intent intent : intentService.getIntents()) {
boolean isRelevant = false;
if (intent instanceof HostToHostIntent) {
@@ -454,6 +460,7 @@
ObjectNode payload = pathMessage(path, "host")
.put("intentId", intent.id().toString());
sendMessage(envelope("showPath", sid, payload));
+ sendMessage(trafficMessage(intentsToMonitor.keySet(), sid));
}
}
}