From d658c53b0599c067da9ae032b65d88fa057a3fc2 Mon Sep 17 00:00:00 2001 From: Shireesh Anjal Date: Wed, 9 Nov 2011 14:00:59 +0530 Subject: Introduced system property login.password for avoiding human intervention on login dialog while running SWTBot automated tests. --- .../management/console/ConsoleConstants.java | 1 + .../management/console/dialogs/LoginDialog.java | 26 +++++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java index 47293228..4b5bbe15 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java @@ -24,4 +24,5 @@ package com.gluster.storage.management.console; public class ConsoleConstants { public static final String CONSOLE_TITLE = "Gluster Management Console"; public static final String TERMINAL_VIEW_ID = "org.eclipse.tm.terminal.view.TerminalView"; + public static final String PROPERTY_LOGIN_PASSWORD = "login.password"; } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java index 4622dc84..22e0620c 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java @@ -34,6 +34,8 @@ import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.window.Window; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ShellAdapter; +import org.eclipse.swt.events.ShellEvent; import org.eclipse.swt.events.TraverseEvent; import org.eclipse.swt.events.TraverseListener; import org.eclipse.swt.layout.GridData; @@ -49,9 +51,10 @@ import org.eclipse.swt.widgets.Text; import com.gluster.storage.management.client.ClustersClient; import com.gluster.storage.management.client.UsersClient; import com.gluster.storage.management.console.Activator; +import com.gluster.storage.management.console.ConsoleConstants; import com.gluster.storage.management.console.GlusterDataModelManager; import com.gluster.storage.management.console.IImageKeys; -import static com.gluster.storage.management.console.dialogs.ClusterSelectionDialog.CLUSTER_MODE; +import com.gluster.storage.management.console.dialogs.ClusterSelectionDialog.CLUSTER_MODE; import com.gluster.storage.management.console.preferences.PreferenceConstants; import com.gluster.storage.management.console.utils.GUIHelper; import com.gluster.storage.management.console.validators.StringRequiredValidator; @@ -171,6 +174,7 @@ public class LoginDialog extends Dialog { createPasswordLabel(composite); createPasswordText(composite); + setupAutoLoginIfRequired(); return composite; } @@ -203,6 +207,26 @@ public class LoginDialog extends Dialog { setupDataBinding(); } + private void setupAutoLoginIfRequired() { + final String password = System.getProperty(ConsoleConstants.PROPERTY_LOGIN_PASSWORD, null); + if (password == null) { + return; + } + getShell().addShellListener(new ShellAdapter() { + @Override + public void shellActivated(ShellEvent e) { + super.shellActivated(e); + + if (passwordText.getText().isEmpty()) { + // Check whether the password has been passed as system parameter. This can be used for avoiding + // human intervention on login dialog while running SWTBot automated tests. + passwordText.setText(password); + okPressed(); + } + } + }); + } + /** * Sets up data binding between the text fields and the connection details object. Also attaches a "string required" * validator to the "password" text field. This validator is configured to do the following on validation failure
-- cgit From bfdda1da5d8bf074dcff0ec4f35ea324bbcbb46e Mon Sep 17 00:00:00 2001 From: Shireesh Anjal Date: Wed, 9 Nov 2011 14:40:03 +0530 Subject: Added tooltips for the select, create and register radio buttons on the cluster selection dialog. --- .../management/console/dialogs/ClusterSelectionDialog.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java index ac510f5e..e5481862 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java @@ -50,6 +50,10 @@ import com.gluster.storage.management.console.utils.GUIHelper; * Cluster selection dialog, which prompts for the cluster name to be managed */ public class ClusterSelectionDialog extends Dialog { + private static final String MESSAGE_SELECT_CLUSTER = "Select the Cluster you want to manage in this session."; + private static final String MESSAGE_CREATE_CLUSTER = "Create an empty Cluster and start adding servers to it."; + private static final String MESSAGE_REGISTER_CLUSTER = "Register an existing Cluster with the Management Gateway and start managing it using the Management Console."; + protected enum CLUSTER_MODE { SELECT, CREATE, REGISTER }; private Combo clusterNameCombo = null; @@ -250,15 +254,15 @@ public class ClusterSelectionDialog extends Dialog { clusterSelectionComposite = new Composite(subComposite, SWT.NONE); GridLayout layout = new GridLayout(2, false); clusterSelectionComposite.setLayout(layout); + createClusterNameLabel(clusterSelectionComposite); createClusterNameCombo(clusterSelectionComposite); - - createPreferenceCheckboxes(clusterSelectionComposite); + createPreferenceCheckbox(clusterSelectionComposite); stackLayout.topControl = clusterSelectionComposite; } - private void createPreferenceCheckboxes(Composite composite) { + private void createPreferenceCheckbox(Composite composite) { GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, false); layoutData.verticalIndent = 5; layoutData.horizontalSpan = 2; @@ -277,15 +281,18 @@ public class ClusterSelectionDialog extends Dialog { if (clusters.size() > 0) { selectButton = new Button(composite, SWT.RADIO); selectButton.setText("&Select"); + selectButton.setToolTipText(MESSAGE_SELECT_CLUSTER); } } { createButton = new Button(composite, SWT.RADIO); createButton.setText("&Create"); + createButton.setToolTipText(MESSAGE_CREATE_CLUSTER); } { registerButton = new Button(composite, SWT.RADIO); registerButton.setText("&Register"); + registerButton.setToolTipText(MESSAGE_REGISTER_CLUSTER); } } -- cgit From 6af9dbfa4773f15ad0b75abdb6e1f82bca8b20ab Mon Sep 17 00:00:00 2001 From: Shireesh Anjal Date: Wed, 9 Nov 2011 14:49:23 +0530 Subject: Changed the auto login system property from login.password to auto.login.password --- .../src/com/gluster/storage/management/console/ConsoleConstants.java | 2 +- .../src/com/gluster/storage/management/console/dialogs/LoginDialog.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java index 4b5bbe15..1a2aa058 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java @@ -24,5 +24,5 @@ package com.gluster.storage.management.console; public class ConsoleConstants { public static final String CONSOLE_TITLE = "Gluster Management Console"; public static final String TERMINAL_VIEW_ID = "org.eclipse.tm.terminal.view.TerminalView"; - public static final String PROPERTY_LOGIN_PASSWORD = "login.password"; + public static final String PROPERTY_AUTO_LOGIN_PASSWORD = "auto.login.password"; } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java index 22e0620c..6120f5e3 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java @@ -208,7 +208,7 @@ public class LoginDialog extends Dialog { } private void setupAutoLoginIfRequired() { - final String password = System.getProperty(ConsoleConstants.PROPERTY_LOGIN_PASSWORD, null); + final String password = System.getProperty(ConsoleConstants.PROPERTY_AUTO_LOGIN_PASSWORD, null); if (password == null) { return; } -- cgit From 1e6158569fc775d0c1af5a97c7a3f30d4945c62c Mon Sep 17 00:00:00 2001 From: Shireesh Anjal Date: Wed, 9 Nov 2011 14:57:53 +0530 Subject: Introduced system property auto.cluster.name that can be used for avoiding human intervention on the cluster selection dialog while running SWTBot automated tests. --- .../management/console/ConsoleConstants.java | 1 + .../console/dialogs/ClusterSelectionDialog.java | 26 ++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java index 1a2aa058..6c7449f2 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java @@ -25,4 +25,5 @@ public class ConsoleConstants { public static final String CONSOLE_TITLE = "Gluster Management Console"; public static final String TERMINAL_VIEW_ID = "org.eclipse.tm.terminal.view.TerminalView"; public static final String PROPERTY_AUTO_LOGIN_PASSWORD = "auto.login.password"; + public static final String PROPERTY_AUTO_CLUSTER_NAME = "auto.cluster.name"; } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java index e5481862..cbbcbd46 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java @@ -30,6 +30,8 @@ import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.ShellAdapter; +import org.eclipse.swt.events.ShellEvent; import org.eclipse.swt.events.TraverseEvent; import org.eclipse.swt.events.TraverseListener; import org.eclipse.swt.layout.GridData; @@ -43,6 +45,7 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import com.gluster.storage.management.console.Activator; +import com.gluster.storage.management.console.ConsoleConstants; import com.gluster.storage.management.console.preferences.PreferenceConstants; import com.gluster.storage.management.console.utils.GUIHelper; @@ -166,8 +169,31 @@ public class ClusterSelectionDialog extends Dialog { createRadioButtons(); createSubComposites(); + setupAutoSelectionIfRequired(); + return composite; } + + private void setupAutoSelectionIfRequired() { + if (clusters.size() == 0) { + return; + } + + final String clusterName = System.getProperty(ConsoleConstants.PROPERTY_AUTO_CLUSTER_NAME, null); + if (clusterName == null) { + return; + } + + getShell().addShellListener(new ShellAdapter() { + @Override + public void shellActivated(ShellEvent e) { + super.shellActivated(e); + clusterNameCombo.setText(clusterName); + okPressed(); + } + }); + } + private void createSubComposites() { Composite subComposite = new Composite(composite, SWT.NONE); -- cgit