diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/MainIndexResource.java b/web/gui/src/main/java/org/onosproject/ui/impl/MainIndexResource.java index 415f2c3606..8713e9ebe7 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/MainIndexResource.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/MainIndexResource.java @@ -57,7 +57,7 @@ public class MainIndexResource extends AbstractInjectionResource { private static final String INJECT_JS_END = ""; private static final byte[] SCRIPT_START = "\n\n\n".getBytes(); + private static final byte[] SCRIPT_END = "\n\n".getBytes(); @Context private SecurityContext ctx; @@ -90,25 +90,31 @@ public class MainIndexResource extends AbstractInjectionResource { StreamEnumeration streams = new StreamEnumeration(of(stream(index, 0, p0s), - new ByteArrayInputStream(SCRIPT_START), - stream(auth, 0, auth.length()), - userPreferences(userName), - new ByteArrayInputStream(SCRIPT_END), - stream(index, p0e, p1s), - includeJs(service), - stream(index, p1e, p2s), - includeCss(service), - stream(index, p2e, p3s))); + new ByteArrayInputStream(SCRIPT_START), + stream(auth, 0, auth.length()), + userPreferences(userName), + userConsoleLog(userName), + new ByteArrayInputStream(SCRIPT_END), + stream(index, p0e, p1s), + includeJs(service), + stream(index, p1e, p2s), + includeCss(service), + stream(index, p2e, p3s))); return Response.ok(new SequenceInputStream(streams)).build(); } + private InputStream userConsoleLog(String userName) { + String code = "console.log('Logging in as user >" + userName + "<');\n"; + return new ByteArrayInputStream(code.getBytes()); + } + // Produces an input stream including user preferences. private InputStream userPreferences(String userName) { UiPreferencesService service = get(UiPreferencesService.class); ObjectNode prefs = mapper().createObjectNode(); service.getPreferences(userName).forEach(prefs::set); - String string = "var userPrefs = " + prefs.toString() + ";"; + String string = "var userPrefs = " + prefs.toString() + ";\n"; return new ByteArrayInputStream(string.getBytes()); }