Simon Hunt

Temporary patch around unavailable username during websocket failover.

Change-Id: I38f98816e2e9022d07aad49e1184faa2c2174428
...@@ -23,6 +23,7 @@ import org.onlab.osgi.ServiceDirectory; ...@@ -23,6 +23,7 @@ import org.onlab.osgi.ServiceDirectory;
23 23
24 import javax.servlet.ServletException; 24 import javax.servlet.ServletException;
25 import javax.servlet.http.HttpServletRequest; 25 import javax.servlet.http.HttpServletRequest;
26 +import java.security.Principal;
26 import java.util.HashSet; 27 import java.util.HashSet;
27 import java.util.Iterator; 28 import java.util.Iterator;
28 import java.util.Set; 29 import java.util.Set;
...@@ -72,7 +73,9 @@ public class UiWebSocketServlet extends WebSocketServlet { ...@@ -72,7 +73,9 @@ public class UiWebSocketServlet extends WebSocketServlet {
72 } 73 }
73 74
74 // FIXME: Replace this with globally shared opaque token to allow secure failover 75 // FIXME: Replace this with globally shared opaque token to allow secure failover
75 - String userName = request.getUserPrincipal().getName(); 76 + Principal p = request.getUserPrincipal();
77 + String userName = p != null ? p.getName() : FAKE_USERNAME;
78 +
76 UiWebSocket socket = new UiWebSocket(directory, userName); 79 UiWebSocket socket = new UiWebSocket(directory, userName);
77 synchronized (sockets) { 80 synchronized (sockets) {
78 sockets.add(socket); 81 sockets.add(socket);
...@@ -80,6 +83,9 @@ public class UiWebSocketServlet extends WebSocketServlet { ...@@ -80,6 +83,9 @@ public class UiWebSocketServlet extends WebSocketServlet {
80 return socket; 83 return socket;
81 } 84 }
82 85
86 + // FIXME: This should not be necessary
87 + private static final String FAKE_USERNAME = "UI-user";
88 +
83 /** 89 /**
84 * Sends the specified message to all the GUI clients. 90 * Sends the specified message to all the GUI clients.
85 * 91 *
......