Adding packaging script.
Added display of raw DPID and IPs or MACs for hosts.
diff --git a/apps/tvue/src/main/java/org/onlab/onos/tvue/TopologyResource.java b/apps/tvue/src/main/java/org/onlab/onos/tvue/TopologyResource.java
index 992bbb3..145e94a 100644
--- a/apps/tvue/src/main/java/org/onlab/onos/tvue/TopologyResource.java
+++ b/apps/tvue/src/main/java/org/onlab/onos/tvue/TopologyResource.java
@@ -15,6 +15,7 @@
import org.onlab.onos.net.topology.TopologyGraph;
import org.onlab.onos.net.topology.TopologyService;
import org.onlab.onos.net.topology.TopologyVertex;
+import org.onlab.packet.IPAddress;
import org.onlab.rest.BaseResource;
import javax.ws.rs.GET;
@@ -54,6 +55,7 @@
ArrayNode vertexesNode = mapper.createArrayNode();
for (TopologyVertex vertex : graph.getVertexes()) {
vertexesNode.add(json(mapper, vertex.deviceId(), 2,
+ vertex.deviceId().uri().getSchemeSpecificPart(),
deviceService.isAvailable(vertex.deviceId())));
}
@@ -70,14 +72,17 @@
// Merge the exterior and interior vertexes and inject host links as
// the exterior edges.
for (Host host : hostService.getHosts()) {
- vertexesNode.add(json(mapper, host.id(), 3, true));
+ Set<IPAddress> ipAddresses = host.ipAddresses();
+ IPAddress ipAddress = ipAddresses.isEmpty() ? null : ipAddresses.iterator().next();
+ String label = ipAddress != null ? ipAddress.toString() : host.mac().toString();
+ vertexesNode.add(json(mapper, host.id(), 3, label, true));
edgesNode.add(json(mapper, 1, host.location(), new ConnectPoint(host.id(), portNumber(-1))));
}
// Now put the vertexes and edges into a root node and ship them off
ObjectNode rootNode = mapper.createObjectNode();
- rootNode.put("vertexes", vertexesNode);
- rootNode.put("edges", edgesNode);
+ rootNode.set("vertexes", vertexesNode);
+ rootNode.set("edges", edgesNode);
return Response.ok(rootNode.toString()).build();
}
@@ -126,12 +131,12 @@
return aggLinks;
}
-
// Produces JSON for a graph vertex.
private ObjectNode json(ObjectMapper mapper, ElementId id, int group,
- boolean isOnline) {
+ String label, boolean isOnline) {
return mapper.createObjectNode()
.put("name", id.uri().toString())
+ .put("label", label)
.put("group", group)
.put("online", isOnline);
}
diff --git a/apps/tvue/src/main/webapp/index.html b/apps/tvue/src/main/webapp/index.html
index 04abfa4..cf39019 100644
--- a/apps/tvue/src/main/webapp/index.html
+++ b/apps/tvue/src/main/webapp/index.html
@@ -147,8 +147,8 @@
}
return false;
}
- node = {"id": vertex.name, "group": vertex.group,
- "online": vertex.online, "stamp": stamp};
+ node = {"id": vertex.name, "label": vertex.label,
+ "group": vertex.group, "online": vertex.online, "stamp": stamp};
nodes.push(node);
topo.vertexes[vertex.name] = node;
update();
@@ -288,7 +288,7 @@
.attr("class", "textClass")
.attr("x", 20)
.attr("y", ".31em")
- .text(function (d) { return d.id; });
+ .text(function (d) { return d.label; });
node.exit().remove();