summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDhandapani <dhandapani@gluster.com>2011-11-10 11:31:13 +0530
committerDhandapani <dhandapani@gluster.com>2011-11-10 11:31:13 +0530
commit2edb256f9c6f11179539929d63d410806397d444 (patch)
tree2bde1a04c8cdf82c0ec01f19bc0f2d99bec798a4 /src
parent8bb81c61ef59166fc227ed6548f5aa5617f1b79a (diff)
parent10896cbdfc28fb2e1e3fb118c4194b23bcb907b2 (diff)
Merge branch 'master' of git@github.com:gluster/console
Diffstat (limited to 'src')
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ConsoleConstants.java2
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java39
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java26
3 files changed, 63 insertions, 4 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 47293228..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
@@ -24,4 +24,6 @@ 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_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 ac510f5e..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;
@@ -50,6 +53,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;
@@ -162,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);
@@ -250,15 +280,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 +307,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);
}
}
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..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
@@ -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_AUTO_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<br>