Added UI_TYPE annotation key, and augmented BasicDeviceConfig and BasicHostConfig to support defining a custom "uiType" value to override the glyph used in rendering on the Topology View.
Change-Id: I615540419bce6e89e3761ef6ed3b9906be64b266
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
index 985cb17..c2c14f2 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
@@ -253,9 +253,13 @@
// Produces a device event message to the client.
protected ObjectNode deviceMessage(DeviceEvent event) {
Device device = event.subject();
+ String uiType = device.annotations().value(AnnotationKeys.UI_TYPE);
+ String devType = uiType != null ? uiType :
+ device.type().toString().toLowerCase();
+
ObjectNode payload = objectNode()
.put("id", device.id().toString())
- .put("type", device.type().toString().toLowerCase())
+ .put("type", devType)
.put("online", deviceService.isAvailable(device.id()))
.put("master", master(device.id()));
@@ -297,7 +301,7 @@
protected ObjectNode hostMessage(HostEvent event) {
Host host = event.subject();
Host prevHost = event.prevSubject();
- String hostType = host.annotations().value(AnnotationKeys.TYPE);
+ String hostType = host.annotations().value(AnnotationKeys.UI_TYPE);
ObjectNode payload = objectNode()
.put("id", host.id().toString())