GUI -- Fixed a shut-down exception by explicitly closing all web-sockets on shutdown.

Change-Id: I3264a9029f36fdba150a3d729a2dd8c9024805d3
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 f262202..4ccf9ea 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
@@ -35,15 +35,28 @@
 
     private static final long PING_DELAY_MS = 5000;
 
+    private static UiWebSocketServlet instance;
+
     private ServiceDirectory directory = new DefaultServiceDirectory();
 
     private final Set<UiWebSocket> sockets = new HashSet<>();
     private final Timer timer = new Timer();
     private final TimerTask pruner = new Pruner();
 
+    /**
+     * Closes all currently open UI web-sockets.
+     */
+    public static void closeAll() {
+        if (instance != null) {
+            instance.sockets.forEach(UiWebSocket::close);
+            instance.sockets.clear();
+        }
+    }
+
     @Override
     public void init() throws ServletException {
         super.init();
+        instance = this;
         timer.schedule(pruner, PING_DELAY_MS, PING_DELAY_MS);
     }