Deprecating old web-socket stuff and adding ability for client-side message handler registration. Failover still to be done and same for the async hooks.

Change-Id: I6029c91eb1a04e01401e495b9673ddaea728e215
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 9b11b42..99ca2e9 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
@@ -22,6 +22,7 @@
 import org.onosproject.ui.UiConnection;
 import org.onosproject.ui.UiExtensionService;
 import org.onosproject.ui.UiMessageHandler;
+import org.onosproject.ui.UiMessageHandlerFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -117,7 +118,7 @@
         lastActive = System.currentTimeMillis();
         try {
             ObjectNode message = (ObjectNode) mapper.reader().readTree(data);
-            String type = message.path("type").asText("unknown");
+            String type = message.path("event").asText("unknown");
             UiMessageHandler handler = handlers.get(type);
             if (handler != null) {
                 handler.process(message);
@@ -146,10 +147,15 @@
     private void createHandlers() {
         handlers = new HashMap<>();
         UiExtensionService service = directory.get(UiExtensionService.class);
-        service.getExtensions().forEach(ext -> ext.messageHandlerFactory().newHandlers().forEach(handler -> {
-            handler.init(this, directory);
-            handler.messageTypes().forEach(type -> handlers.put(type, handler));
-        }));
+        service.getExtensions().forEach(ext -> {
+            UiMessageHandlerFactory factory = ext.messageHandlerFactory();
+            if (factory != null) {
+                factory.newHandlers().forEach(handler -> {
+                    handler.init(this, directory);
+                    handler.messageTypes().forEach(type -> handlers.put(type, handler));
+                });
+            }
+        });
     }
 
     // Destroys message handlers.