aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/core/api/src/main/java/org/onosproject/ui/topo/TopoJson.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/ui/topo/TopoJson.java')
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/ui/topo/TopoJson.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/ui/topo/TopoJson.java b/framework/src/onos/core/api/src/main/java/org/onosproject/ui/topo/TopoJson.java
index 8df03169..4030abdc 100644
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/ui/topo/TopoJson.java
+++ b/framework/src/onos/core/api/src/main/java/org/onosproject/ui/topo/TopoJson.java
@@ -37,6 +37,11 @@ public final class TopoJson {
static final String ID = "id";
static final String LABEL = "label";
static final String CSS = "css";
+ static final String BADGE = "badge";
+ static final String STATUS = "status";
+ static final String TXT = "txt";
+ static final String GID = "gid";
+ static final String MSG = "msg";
static final String TITLE = "title";
static final String TYPE = "type";
@@ -97,12 +102,26 @@ public final class TopoJson {
return payload;
}
+ private static ObjectNode json(NodeBadge b) {
+ ObjectNode n = objectNode()
+ .put(STATUS, b.status().code())
+ .put(b.isGlyph() ? GID : TXT, b.text());
+ if (b.message() != null) {
+ n.put(MSG, b.message());
+ }
+ return n;
+ }
+
private static ObjectNode json(DeviceHighlight dh) {
ObjectNode n = objectNode()
.put(ID, dh.elementId());
if (dh.subdued()) {
n.put(SUBDUE, true);
}
+ NodeBadge badge = dh.badge();
+ if (badge != null) {
+ n.set(BADGE, json(badge));
+ }
return n;
}