diff options
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/ConfigurationWizardMainPage.java')
-rw-r--r-- | bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/ConfigurationWizardMainPage.java | 477 |
1 files changed, 0 insertions, 477 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/ConfigurationWizardMainPage.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/ConfigurationWizardMainPage.java deleted file mode 100644 index 09d3d40fe..000000000 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/ConfigurationWizardMainPage.java +++ /dev/null @@ -1,477 +0,0 @@ -package org.eclipse.team.internal.ccvs.ui.wizards; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * All Rights Reserved. - */ - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Properties; - -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.Path; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.FillLayout; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Group; -import org.eclipse.swt.widgets.Listener; -import org.eclipse.swt.widgets.Text; -import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin; -import org.eclipse.team.internal.ccvs.ui.Policy; - -/** - * Wizard page for entering information about a CVS repository location. - */ -public class ConfigurationWizardMainPage extends CVSWizardPage { - private boolean showValidate; - private boolean validate; - - // Widgets - - // Connection Method - private Combo connectionMethodCombo; - // User - private Combo userCombo; - // Password - private Text passwordText; - // Port - private Text portText; - private Button useDefaultPort; - private Button useCustomPort; - // Host - private Combo hostCombo; - // Repository Path - private Combo repositoryPathCombo; - // Validation - private Button validateButton; - - private static final int COMBO_HISTORY_LENGTH = 5; - - private Properties properties = null; - - // Dialog store id constants - private static final String STORE_USERNAME_ID = - "ConfigurationWizardMainPage.STORE_USERNAME_ID";//$NON-NLS-1$ - private static final String STORE_HOSTNAME_ID = - "ConfigurationWizardMainPage.STORE_HOSTNAME_ID";//$NON-NLS-1$ - private static final String STORE_PATH_ID = - "ConfigurationWizardMainPage.STORE_PATH_ID";//$NON-NLS-1$ - private static final String STORE_DONT_VALIDATE_ID = - "ConfigurationWizardMainPage.STORE_DONT_VALIDATE_ID";//$NON-NLS-1$ - - // In case the page was launched from a different wizard - private IDialogSettings settings; - - /** - * ConfigurationWizardMainPage constructor. - * - * @param pageName the name of the page - * @param title the title of the page - * @param titleImage the image for the page - */ - public ConfigurationWizardMainPage(String pageName, String title, ImageDescriptor titleImage) { - super(pageName, title, titleImage); - } - /** - * Adds an entry to a history, while taking care of duplicate history items - * and excessively long histories. The assumption is made that all histories - * should be of length <code>ConfigurationWizardMainPage.COMBO_HISTORY_LENGTH</code>. - * - * @param history the current history - * @param newEntry the entry to add to the history - * @return the history with the new entry appended - */ - private String[] addToHistory(String[] history, String newEntry) { - ArrayList l = new ArrayList(Arrays.asList(history)); - addToHistory(l, newEntry); - String[] r = new String[l.size()]; - l.toArray(r); - return r; - } - protected IDialogSettings getDialogSettings() { - return settings; - } - protected void setDialogSettings(IDialogSettings settings) { - this.settings = settings; - } - /** - * Adds an entry to a history, while taking care of duplicate history items - * and excessively long histories. The assumption is made that all histories - * should be of length <code>ConfigurationWizardMainPage.COMBO_HISTORY_LENGTH</code>. - * - * @param history the current history - * @param newEntry the entry to add to the history - */ - private void addToHistory(List history, String newEntry) { - history.remove(newEntry); - history.add(0,newEntry); - - // since only one new item was added, we can be over the limit - // by at most one item - if (history.size() > COMBO_HISTORY_LENGTH) - history.remove(COMBO_HISTORY_LENGTH); - } - /** - * Creates the UI part of the page. - * - * @param parent the parent of the created widgets - */ - public void createControl(Composite parent) { - Composite composite = createComposite(parent, 2); - // set F1 help - // WorkbenchHelp.setHelp(composite, new DialogPageContextComputer (this, ITeamHelpContextIds.REPO_CONNECTION_MAIN_PAGE)); - - Listener listener = new Listener() { - public void handleEvent(Event event) { - updateWidgetEnablements(); - } - }; - - Group g = createGroup(composite, Policy.bind("ConfigurationWizardMainPage.Location_1")); //$NON-NLS-1$ - - // Host name - createLabel(g, Policy.bind("ConfigurationWizardMainPage.host")); //$NON-NLS-1$ - hostCombo = createEditableCombo(g); - hostCombo.addListener(SWT.Selection, listener); - hostCombo.addListener(SWT.Modify, listener); - - // Repository Path - createLabel(g, Policy.bind("ConfigurationWizardMainPage.repositoryPath")); //$NON-NLS-1$ - repositoryPathCombo = createEditableCombo(g); - repositoryPathCombo.addListener(SWT.Selection, listener); - repositoryPathCombo.addListener(SWT.Modify, listener); - - g = createGroup(composite, Policy.bind("ConfigurationWizardMainPage.Authentication_2")); //$NON-NLS-1$ - - // User name - createLabel(g, Policy.bind("ConfigurationWizardMainPage.userName")); //$NON-NLS-1$ - userCombo = createEditableCombo(g); - userCombo.addListener(SWT.Selection, listener); - userCombo.addListener(SWT.Modify, listener); - - // Password - createLabel(g, Policy.bind("ConfigurationWizardMainPage.password")); //$NON-NLS-1$ - passwordText = createTextField(g); - passwordText.setEchoChar('*'); - - g = createGroup(composite, Policy.bind("ConfigurationWizardMainPage.Connection_3")); //$NON-NLS-1$ - - // Connection type - createLabel(g, Policy.bind("ConfigurationWizardMainPage.connection")); //$NON-NLS-1$ - connectionMethodCombo = createCombo(g); - - // Port number - // create a composite to ensure the radio buttons come in the correct order - Composite portGroup = new Composite(g, SWT.NONE); - GridData data = new GridData(); - data.horizontalSpan = 2; - portGroup.setLayoutData(data); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - layout.marginHeight = 0; - layout.marginWidth = 0; - portGroup.setLayout(layout); - useDefaultPort = createRadioButton(portGroup, Policy.bind("ConfigurationWizardMainPage.useDefaultPort"), 2); //$NON-NLS-1$ - useCustomPort = createRadioButton(portGroup, Policy.bind("ConfigurationWizardMainPage.usePort"), 1); //$NON-NLS-1$ - useCustomPort.addListener(SWT.Selection, listener); - portText = createTextField(portGroup); - portText.addListener(SWT.Selection, listener); - - // create a composite to ensure the validate button is in its own tab group - if (showValidate) { - Composite validateButtonTabGroup = new Composite(composite, SWT.NONE); - data = new GridData(); - data.horizontalSpan = 2; - validateButtonTabGroup.setLayoutData(data); - validateButtonTabGroup.setLayout(new FillLayout()); - - validateButton = new Button(validateButtonTabGroup, SWT.CHECK); - validateButton.setText(Policy.bind("ConfigurationWizardAutoconnectPage.validate")); //$NON-NLS-1$ - validateButton.addListener(SWT.Selection, new Listener() { - public void handleEvent(Event e) { - validate = validateButton.getSelection(); - } - }); - } - - initializeValues(); - updateWidgetEnablements(); - hostCombo.setFocus(); - - setControl(composite); - } - /** - * Utility method to create an editable combo box - * - * @param parent the parent of the combo box - * @return the created combo - */ - protected Combo createEditableCombo(Composite parent) { - Combo combo = new Combo(parent, SWT.NULL); - GridData data = new GridData(GridData.FILL_HORIZONTAL); - data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH; - combo.setLayoutData(data); - return combo; - } - - protected Group createGroup(Composite parent, String text) { - Group group = new Group(parent, SWT.NULL); - group.setText(text); - GridData data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 2; - //data.widthHint = GROUP_WIDTH; - - group.setLayoutData(data); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - group.setLayout(layout); - return group; - } - - /** - * @see CVSWizardPage#finish - */ - public boolean finish(IProgressMonitor monitor) { - // Set the result to be the current values - Properties result = new Properties(); - result.setProperty("connection", connectionMethodCombo.getText()); //$NON-NLS-1$ - result.setProperty("user", userCombo.getText()); //$NON-NLS-1$ - result.setProperty("password", passwordText.getText()); //$NON-NLS-1$ - result.setProperty("host", hostCombo.getText()); //$NON-NLS-1$ - if (useCustomPort.getSelection()) { - result.setProperty("port", portText.getText()); //$NON-NLS-1$ - } - result.setProperty("root", repositoryPathCombo.getText()); //$NON-NLS-1$ - this.properties = result; - - saveWidgetValues(); - - return true; - } - /** - * Returns the properties for the repository connection - * - * @return the properties or null - */ - public Properties getProperties() { - return properties; - } - /** - * Initializes states of the controls. - */ - private void initializeValues() { - // Set remembered values - IDialogSettings settings = getDialogSettings(); - if (settings != null) { - String[] hostNames = settings.getArray(STORE_HOSTNAME_ID); - if (hostNames != null) { - for (int i = 0; i < hostNames.length; i++) { - hostCombo.add(hostNames[i]); - } - } - String[] paths = settings.getArray(STORE_PATH_ID); - if (paths != null) { - for (int i = 0; i < paths.length; i++) { - repositoryPathCombo.add(paths[i]); - } - } - String[] userNames = settings.getArray(STORE_USERNAME_ID); - if (userNames != null) { - for (int i = 0; i < userNames.length; i++) { - userCombo.add(userNames[i]); - } - } - if (showValidate) { - validate = !settings.getBoolean(STORE_DONT_VALIDATE_ID); - validateButton.setSelection(validate); - } - } - - // Initialize other values and widget states - String[] methods = CVSProviderPlugin.getProvider().getSupportedConnectionMethods(); - for (int i = 0; i < methods.length; i++) { - connectionMethodCombo.add(methods[i]); - } - - connectionMethodCombo.select(0); - useDefaultPort.setSelection(true); - - if(properties != null) { - String method = (String)properties.getProperty("connection"); //$NON-NLS-1$ - if (method == null) { - connectionMethodCombo.select(0); - } else { - connectionMethodCombo.select(connectionMethodCombo.indexOf(method)); - } - - String user = (String)properties.getProperty("user"); //$NON-NLS-1$ - if (user != null) { - userCombo.setText(user); - } - - String password = (String)properties.getProperty("password"); //$NON-NLS-1$ - if (password != null) { - passwordText.setText(password); - } - - String host = (String)properties.getProperty("host"); //$NON-NLS-1$ - if (host != null) { - hostCombo.setText(host); - } - - String port = (String)properties.getProperty("port"); //$NON-NLS-1$ - if (port != null) { - useCustomPort.setSelection(true); - portText.setText(port); - } - - String repositoryPath = (String)properties.getProperty("root"); //$NON-NLS-1$ - if (repositoryPath != null) { - repositoryPathCombo.setText(repositoryPath); - } - } - } - /** - * Saves the widget values - */ - private void saveWidgetValues() { - // Update history - IDialogSettings settings = getDialogSettings(); - if (settings != null) { - String[] userNames = settings.getArray(STORE_USERNAME_ID); - if (userNames == null) userNames = new String[0]; - userNames = addToHistory(userNames, userCombo.getText()); - settings.put(STORE_USERNAME_ID, userNames); - - String[] hostNames = settings.getArray(STORE_HOSTNAME_ID); - if (hostNames == null) hostNames = new String[0]; - hostNames = addToHistory(hostNames, hostCombo.getText()); - settings.put(STORE_HOSTNAME_ID, hostNames); - - String[] paths = settings.getArray(STORE_PATH_ID); - if (paths == null) paths = new String[0]; - paths = addToHistory(paths, repositoryPathCombo.getText()); - settings.put(STORE_PATH_ID, paths); - - if (showValidate) { - settings.put(STORE_DONT_VALIDATE_ID, !validate); - } - } - } - - public void setShowValidate(boolean showValidate) { - this.showValidate = showValidate; - } - - /** - * Sets the properties for the repository connection - * - * @param properties the properties or null - */ - public void setProperties(Properties properties) { - this.properties = properties; - } - - /** - * Updates widget enablements and sets error message if appropriate. - */ - protected void updateWidgetEnablements() { - if (useDefaultPort.getSelection()) { - portText.setEnabled(false); - } else { - portText.setEnabled(true); - } - - validateFields(); - } - /** - * Validates the contents of the editable fields and set page completion - * and error messages appropriately. - */ - private void validateFields() { - String user = userCombo.getText(); - if (user.length() == 0) { - setErrorMessage(null); - setPageComplete(false); - return; - } - if ((user.indexOf('@') != -1) || (user.indexOf(':') != -1)) { - setErrorMessage(Policy.bind("ConfigurationWizardMainPage.invalidUserName")); //$NON-NLS-1$ - setPageComplete(false); - return; - } - - String host = hostCombo.getText(); - if (host.length() == 0) { - setErrorMessage(null); - setPageComplete(false); - return; - } - if (host.indexOf(':') != -1) { - setErrorMessage(Policy.bind("ConfigurationWizardMainPage.invalidHostName")); //$NON-NLS-1$ - setPageComplete(false); - return; - } - - if (portText.isEnabled()) { - if (portText.getText().length() == 0) { - setErrorMessage(null); - setPageComplete(false); - return; - } - try { - Integer.parseInt(portText.getText()); - } catch (NumberFormatException e) { - setErrorMessage(Policy.bind("ConfigurationWizardMainPage.invalidPort")); //$NON-NLS-1$ - setPageComplete(false); - return; - } - } - - if (repositoryPathCombo.getText().length() == 0) { - setErrorMessage(null); - setPageComplete(false); - return; - } else { - String pathString = repositoryPathCombo.getText(); - IPath path = new Path(pathString); - String[] segments = path.segments(); - for (int i = 0; i < segments.length; i++) { - String string = segments[i]; - if (string.charAt(0) == ' ' || string.charAt(string.length() -1) == ' ') { - setErrorMessage(Policy.bind("ConfigurationWizardMainPage.invalidPathWithSpaces")); //$NON-NLS-1$ - setPageComplete(false); - return; - } - } - // look for // and inform the user that we support use of C:\cvs\root instead of /c//cvs/root - if (pathString.indexOf("//") != -1) { //$NON-NLS-1$ - if (pathString.indexOf("//") == 2) { //$NON-NLS-1$ - // The user is probably trying to specify a CVSNT path - setErrorMessage(Policy.bind("ConfigurationWizardMainPage.useNTFormat")); //$NON-NLS-1$ - } else { - setErrorMessage(Policy.bind("ConfigurationWizardMainPage.invalidPathWithSlashes")); //$NON-NLS-1$ - } - setPageComplete(false); - return; - } - } - setErrorMessage(null); - setPageComplete(true); - } - - public boolean getValidate() { - return validate; - } -} |