[ONOS-6958] Add glyph registration java code
Change-Id: I954c790062f8ff5498c34c334827c4f695278a9e
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocket.java b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocket.java
index ea7e5ed..32f4981 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocket.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocket.java
@@ -27,6 +27,7 @@
import org.onosproject.ui.UiConnection;
import org.onosproject.ui.UiExtension;
import org.onosproject.ui.UiExtensionService;
+import org.onosproject.ui.UiGlyph;
import org.onosproject.ui.UiMessageHandler;
import org.onosproject.ui.UiMessageHandlerFactory;
import org.onosproject.ui.UiSessionToken;
@@ -77,6 +78,8 @@
private static final String TOPO = "topo";
+ private static final String GLYPHS = "glyphs";
+
private static final long MAX_AGE_MS = 30_000;
private static final byte PING = 0x9;
@@ -436,9 +439,21 @@
instances.add(instance);
}
+ ArrayNode glyphInstances = arrayNode();
+ UiExtensionService uiExtensionService = directory.get(UiExtensionService.class);
+ for (UiGlyph glyph : uiExtensionService.getGlyphs()) {
+ ObjectNode glyphInstance = objectNode()
+ .put(GlyphConstants.ID, glyph.id())
+ .put(GlyphConstants.VIEWBOX, glyph.viewbox())
+ .put(GlyphConstants.PATH, glyph.path());
+ glyphInstances.add(glyphInstance);
+ }
+
ObjectNode payload = objectNode();
payload.set(CLUSTER_NODES, instances);
+ payload.set(GLYPHS, glyphInstances);
payload.put(USER, userName);
+
sendMessage(BOOTSTRAP, payload);
}