Adding ability for the server to notify clients about GUI additions/removals.

Change-Id: I505f68c33cb9cf7b875b53792f8442ba0cf0662a
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java
index ffc558d..564b07f 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java
@@ -15,6 +15,7 @@
  */
 package org.onosproject.ui.impl;
 
+import com.fasterxml.jackson.databind.node.ObjectNode;
 import org.eclipse.jetty.websocket.WebSocket;
 import org.eclipse.jetty.websocket.WebSocketServlet;
 import org.onlab.osgi.DefaultServiceDirectory;
@@ -76,6 +77,18 @@
         return socket;
     }
 
+    /**
+     * Sends the specified message to all the GUI clients.
+     *
+     * @param type    message type
+     * @param payload message payload
+     */
+    static void sendToAll(String type, ObjectNode payload) {
+        if (instance != null) {
+            instance.sockets.forEach(ws -> ws.sendMessage(type, 0, payload));
+        }
+    }
+
     // Task for pruning web-sockets that are idle.
     private class Pruner extends TimerTask {
         @Override