From 72319fb865ffed822f5a5b583eea7a8e81678961 Mon Sep 17 00:00:00 2001 From: Victor Kirhenshtein Date: Thu, 8 Sep 2016 16:09:11 +0300 Subject: [PATCH] fixed URL parameters access in web UI (caused by changes RAP 3.0) --- .../netxms/ui/eclipse/console/Application.java | 15 ++++++++++++++- .../console/ApplicationWorkbenchAdvisor.java | 12 ++++++------ .../ApplicationWorkbenchWindowAdvisor.java | 2 +- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/webui/webapp/Core/src/org/netxms/ui/eclipse/console/Application.java b/webui/webapp/Core/src/org/netxms/ui/eclipse/console/Application.java index ce96e4cc5..49c00c7f3 100644 --- a/webui/webapp/Core/src/org/netxms/ui/eclipse/console/Application.java +++ b/webui/webapp/Core/src/org/netxms/ui/eclipse/console/Application.java @@ -25,6 +25,7 @@ import org.eclipse.equinox.app.IApplication; import org.eclipse.equinox.app.IApplicationContext; import org.eclipse.rap.rwt.RWT; import org.eclipse.rap.rwt.client.service.ClientInfo; +import org.eclipse.rap.rwt.client.service.StartupParameters; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.application.WorkbenchAdvisor; @@ -43,7 +44,7 @@ public class Application implements IApplication */ public Object start(IApplicationContext context) throws Exception { - String lang = RWT.getRequest().getParameter("lang"); //$NON-NLS-1$ + String lang = getParameter("lang"); //$NON-NLS-1$ if (lang != null) RWT.setLocale(new Locale(lang)); @@ -91,4 +92,16 @@ public class Application implements IApplication { // Do nothing } + + /** + * Get application's parameter (passed as part of URL) + * + * @param name parameter's name + * @return parameter's value or null if not found + */ + public static String getParameter(final String name) + { + StartupParameters sp = RWT.getClient().getService(StartupParameters.class); + return (sp != null) ? sp.getParameter(name) : null; + } } diff --git a/webui/webapp/Core/src/org/netxms/ui/eclipse/console/ApplicationWorkbenchAdvisor.java b/webui/webapp/Core/src/org/netxms/ui/eclipse/console/ApplicationWorkbenchAdvisor.java index 069b33ffc..c3d1601db 100644 --- a/webui/webapp/Core/src/org/netxms/ui/eclipse/console/ApplicationWorkbenchAdvisor.java +++ b/webui/webapp/Core/src/org/netxms/ui/eclipse/console/ApplicationWorkbenchAdvisor.java @@ -140,26 +140,26 @@ public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor final Properties properties = new AppPropertiesLoader().load(); String password = ""; - boolean autoLogin = (RWT.getRequest().getParameter("auto") != null); //$NON-NLS-1$ + boolean autoLogin = (Application.getParameter("auto") != null); //$NON-NLS-1$ - String ssoTicket = RWT.getRequest().getParameter("ticket"); + String ssoTicket = Application.getParameter("ticket"); if (ssoTicket != null) { autoLogin = true; - String server = RWT.getRequest().getParameter("server"); //$NON-NLS-1$ + String server = Application.getParameter("server"); //$NON-NLS-1$ if (server == null) server = properties.getProperty("server", "127.0.0.1"); //$NON-NLS-1$ //$NON-NLS-2$ success = connectToServer(server, null, ssoTicket); } else if (autoLogin) { - String server = RWT.getRequest().getParameter("server"); //$NON-NLS-1$ + String server = Application.getParameter("server"); //$NON-NLS-1$ if (server == null) server = properties.getProperty("server", "127.0.0.1"); //$NON-NLS-1$ //$NON-NLS-2$ - String login = RWT.getRequest().getParameter("login"); //$NON-NLS-1$ + String login = Application.getParameter("login"); //$NON-NLS-1$ if (login == null) login = "guest"; - password = RWT.getRequest().getParameter("password"); //$NON-NLS-1$ + password = Application.getParameter("password"); //$NON-NLS-1$ if (password == null) password = ""; success = connectToServer(server, login, password); diff --git a/webui/webapp/Core/src/org/netxms/ui/eclipse/console/ApplicationWorkbenchWindowAdvisor.java b/webui/webapp/Core/src/org/netxms/ui/eclipse/console/ApplicationWorkbenchWindowAdvisor.java index 36c87d221..2243891d7 100644 --- a/webui/webapp/Core/src/org/netxms/ui/eclipse/console/ApplicationWorkbenchWindowAdvisor.java +++ b/webui/webapp/Core/src/org/netxms/ui/eclipse/console/ApplicationWorkbenchWindowAdvisor.java @@ -148,7 +148,7 @@ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor @Override public void postWindowOpen() { - String dashboardId = RWT.getRequest().getParameter("dashboard"); //$NON-NLS-1$ + String dashboardId = Application.getParameter("dashboard"); //$NON-NLS-1$ if (dashboardId != null) showDashboard(dashboardId); } -- 2.20.1