GUI -- Added facility to upload and track various sprite JSON definitions. WIP
Change-Id: I5629e07d84b91d2d885737a9011acc4e13538cf2
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java
index e63dbf7..cd8c3c2 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java
@@ -145,7 +145,9 @@
"cancelTraffic",
"requestSummary",
"cancelSummary",
- "equalizeMasters"
+ "equalizeMasters",
+ "spriteListRequest",
+ "spriteDataRequest"
));
}
@@ -211,6 +213,11 @@
} else if (type.equals("equalizeMasters")) {
equalizeMasters(event);
+ } else if (type.equals("spriteListRequest")) {
+ sendSpriteList(event);
+ } else if (type.equals("spriteDataRequest")) {
+ sendSpriteData(event);
+
} else if (type.equals("topoStart")) {
sendAllInitialData();
} else if (type.equals("topoStop")) {
@@ -563,6 +570,22 @@
directory.get(MastershipAdminService.class).balanceRoles();
}
+ // Sends a list of sprite names.
+ private void sendSpriteList(ObjectNode event) {
+ ObjectNode root = mapper.createObjectNode();
+ ArrayNode names = mapper.createArrayNode();
+ get(SpriteService.class).getNames().forEach(names::add);
+ root.set("names", names);
+ sendMessage(envelope("spriteListResponse", number(event, "sid"), root));
+ }
+
+ // Sends requested sprite data.
+ private void sendSpriteData(ObjectNode event) {
+ ObjectNode root = mapper.createObjectNode();
+ root.set("defn", get(SpriteService.class).get(event.path("payload").path("name").asText()));
+ sendMessage(envelope("spriteDataResponse", number(event, "sid"), root));
+ }
+
// Adds all internal listeners.
private void addListeners() {