org.eclipse.mylar.internal.tasks.ui.wizards
Class AbstractRepositorySettingsPage

java.lang.Object
  extended by org.eclipse.jface.dialogs.DialogPage
      extended by org.eclipse.jface.wizard.WizardPage
          extended by org.eclipse.mylar.internal.tasks.ui.wizards.AbstractRepositorySettingsPage
All Implemented Interfaces:
org.eclipse.jface.dialogs.IDialogPage, org.eclipse.jface.dialogs.IMessageProvider, org.eclipse.jface.wizard.IWizardPage
Direct Known Subclasses:
RepositorySettingsPageTest.MockRepositorySettingsPage, WebRepositorySettingsPage

public abstract class AbstractRepositorySettingsPage
extends org.eclipse.jface.wizard.WizardPage

Author:
Mik Kersten, Rob Elves

Nested Class Summary
private static class AbstractRepositorySettingsPage.RepositoryStringFieldEditor
          Exposes StringFieldEditor.refreshValidState() TODO: is there a better way?
 
Field Summary
protected  org.eclipse.swt.widgets.Button anonymousButton
           
protected  AbstractRepositoryConnector connector
           
private  org.eclipse.swt.widgets.Composite container
           
private  org.eclipse.swt.widgets.Button defaultEncoding
           
private  org.eclipse.swt.widgets.Button httpAuthButton
           
private  org.eclipse.swt.widgets.Composite httpAuthComp
           
private  org.eclipse.ui.forms.widgets.ExpandableComposite httpAuthExpComposite
           
protected  org.eclipse.jface.preference.StringFieldEditor httpAuthPasswordEditor
           
protected  org.eclipse.jface.preference.StringFieldEditor httpAuthUserNameEditor
           
protected static java.lang.String LABEL_PASSWORD
           
protected static java.lang.String LABEL_REPOSITORY_LABEL
           
protected static java.lang.String LABEL_SERVER
           
protected static java.lang.String LABEL_USER
           
private  boolean needsAnonymousLogin
           
private  boolean needsEncoding
           
private  boolean needsHttpAuth
           
private  boolean needsProxy
           
private  boolean needsTimeZone
           
private  java.lang.String oldHttpAuthPassword
           
private  java.lang.String oldHttpAuthUserId
           
private  java.lang.String oldPassword
           
private  java.lang.String oldProxyHostname
           
private  java.lang.String oldProxyPassword
           
private  java.lang.String oldProxyPort
           
private  java.lang.String oldProxyUsername
           
private  java.lang.String oldUsername
           
private  java.lang.String originalUrl
           
private  org.eclipse.swt.widgets.Button otherEncoding
           
private  org.eclipse.swt.widgets.Combo otherEncodingCombo
           
private  org.eclipse.swt.widgets.Button proxyAuthButton
           
private  org.eclipse.swt.widgets.Composite proxyAuthComp
           
private  org.eclipse.ui.forms.widgets.ExpandableComposite proxyExpComposite
           
protected  org.eclipse.jface.preference.StringFieldEditor proxyHostnameEditor
           
protected  org.eclipse.jface.preference.StringFieldEditor proxyPasswordEditor
           
protected  org.eclipse.jface.preference.StringFieldEditor proxyPortEditor
           
protected  org.eclipse.jface.preference.StringFieldEditor proxyUserNameEditor
           
protected  TaskRepository repository
           
protected  org.eclipse.jface.preference.StringFieldEditor repositoryLabelEditor
           
protected  org.eclipse.jface.preference.StringFieldEditor repositoryPasswordEditor
           
private  java.util.Set<java.lang.String> repositoryUrls
           
protected  org.eclipse.jface.preference.StringFieldEditor repositoryUserNameEditor
           
protected  org.eclipse.swt.widgets.Combo serverUrlCombo
           
private  java.lang.String serverVersion
           
private  org.eclipse.swt.widgets.Button systemProxyButton
           
private  org.eclipse.ui.forms.widgets.FormToolkit toolkit
           
protected static java.lang.String URL_PREFIX_HTTP
           
protected static java.lang.String URL_PREFIX_HTTPS
           
private  org.eclipse.swt.widgets.Button validateServerButton
           
 
Fields inherited from interface org.eclipse.jface.dialogs.IMessageProvider
ERROR, INFORMATION, NONE, WARNING
 
Constructor Summary
AbstractRepositorySettingsPage(java.lang.String title, java.lang.String description, AbstractRepositoryConnectorUi repositoryUi)
           
 
Method Summary
private  void addProxySection()
           
protected abstract  void createAdditionalControls(org.eclipse.swt.widgets.Composite parent)
           
 void createControl(org.eclipse.swt.widgets.Composite parent)
           
 TaskRepository createTaskRepository()
           
 java.lang.String getCharacterEncoding()
           
 AbstractRepositoryConnector getConnector()
           
 java.lang.String getHttpAuthPassword()
           
 java.lang.String getHttpAuthUserId()
           
 java.lang.String getPassword()
           
 java.lang.String getProxyHostname()
           
 java.lang.String getProxyPassword()
           
 java.lang.String getProxyPort()
           
 java.lang.String getProxyUsername()
           
 TaskRepository getRepository()
           
 java.lang.String getRepositoryLabel()
           
 java.lang.String getServerUrl()
           
 java.lang.Boolean getUseDefaultProxy()
           
 java.lang.String getUserName()
           
 java.lang.String getVersion()
           
 void init(org.eclipse.ui.IWorkbench workbench)
           
 boolean isAnonymousAccess()
           
 boolean isPageComplete()
           
protected  boolean isUniqueUrl(java.lang.String urlString)
           
protected abstract  boolean isValidUrl(java.lang.String name)
           
 boolean needsAnonymousLogin()
           
 boolean needsEncoding()
           
 boolean needsHttpAuth()
           
 boolean needsProxy()
           
 boolean needsTimeZone()
           
 void setAnonymous(boolean selected)
           
private  void setDefaultEncoding()
           
protected  void setEncoding(java.lang.String encoding)
           
 void setHttpAuth(boolean selected)
           
 void setNeedsAnonymousLogin(boolean needsAnonymousLogin)
           
 void setNeedsEncoding(boolean needsEncoding)
           
 void setNeedsHttpAuth(boolean needsHttpAuth)
           
 void setNeedsProxy(boolean needsProxy)
           
 void setNeedsTimeZone(boolean needsTimeZone)
           
 void setPassword(java.lang.String pass)
          for testing
 void setProxyAuth(boolean selected)
           
 void setRepository(TaskRepository repository)
           
 void setUrl(java.lang.String url)
          for testing
 void setUseDefaultProxy(boolean selected)
           
 void setUserId(java.lang.String id)
          for testing
 void setVersion(java.lang.String previousVersion)
           
static java.lang.String stripSlashes(java.lang.String url)
           
 void updateProperties(TaskRepository repository)
           
protected abstract  void validateSettings()
           
 
Methods inherited from class org.eclipse.jface.wizard.WizardPage
canFlipToNextPage, getContainer, getDialogSettings, getImage, getName, getNextPage, getPreviousPage, getShell, getWizard, isCurrentPage, setDescription, setErrorMessage, setImageDescriptor, setMessage, setPageComplete, setPreviousPage, setTitle, setWizard, toString
 
Methods inherited from class org.eclipse.jface.dialogs.DialogPage
convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, dispose, getControl, getDescription, getDialogFontName, getErrorMessage, getFont, getMessage, getMessageType, getTitle, getToolTipText, initializeDialogUnits, isControlCreated, performHelp, setButtonLayoutData, setControl, setMessage, setVisible
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.jface.dialogs.IDialogPage
dispose, getControl, getDescription, getErrorMessage, getMessage, getTitle, performHelp, setVisible
 

Field Detail

LABEL_REPOSITORY_LABEL

protected static final java.lang.String LABEL_REPOSITORY_LABEL
See Also:
Constant Field Values

LABEL_SERVER

protected static final java.lang.String LABEL_SERVER
See Also:
Constant Field Values

LABEL_USER

protected static final java.lang.String LABEL_USER
See Also:
Constant Field Values

LABEL_PASSWORD

protected static final java.lang.String LABEL_PASSWORD
See Also:
Constant Field Values

URL_PREFIX_HTTPS

protected static final java.lang.String URL_PREFIX_HTTPS
See Also:
Constant Field Values

URL_PREFIX_HTTP

protected static final java.lang.String URL_PREFIX_HTTP
See Also:
Constant Field Values

connector

protected AbstractRepositoryConnector connector

repositoryLabelEditor

protected org.eclipse.jface.preference.StringFieldEditor repositoryLabelEditor

serverUrlCombo

protected org.eclipse.swt.widgets.Combo serverUrlCombo

serverVersion

private java.lang.String serverVersion

repositoryUserNameEditor

protected org.eclipse.jface.preference.StringFieldEditor repositoryUserNameEditor

repositoryPasswordEditor

protected org.eclipse.jface.preference.StringFieldEditor repositoryPasswordEditor

httpAuthUserNameEditor

protected org.eclipse.jface.preference.StringFieldEditor httpAuthUserNameEditor

httpAuthPasswordEditor

protected org.eclipse.jface.preference.StringFieldEditor httpAuthPasswordEditor

proxyHostnameEditor

protected org.eclipse.jface.preference.StringFieldEditor proxyHostnameEditor

proxyPortEditor

protected org.eclipse.jface.preference.StringFieldEditor proxyPortEditor

proxyUserNameEditor

protected org.eclipse.jface.preference.StringFieldEditor proxyUserNameEditor

proxyPasswordEditor

protected org.eclipse.jface.preference.StringFieldEditor proxyPasswordEditor

repository

protected TaskRepository repository

validateServerButton

private org.eclipse.swt.widgets.Button validateServerButton

otherEncodingCombo

private org.eclipse.swt.widgets.Combo otherEncodingCombo

defaultEncoding

private org.eclipse.swt.widgets.Button defaultEncoding

anonymousButton

protected org.eclipse.swt.widgets.Button anonymousButton

oldUsername

private java.lang.String oldUsername

oldPassword

private java.lang.String oldPassword

oldHttpAuthUserId

private java.lang.String oldHttpAuthUserId

oldHttpAuthPassword

private java.lang.String oldHttpAuthPassword

needsAnonymousLogin

private boolean needsAnonymousLogin

needsTimeZone

private boolean needsTimeZone

needsEncoding

private boolean needsEncoding

needsHttpAuth

private boolean needsHttpAuth

container

private org.eclipse.swt.widgets.Composite container

httpAuthComp

private org.eclipse.swt.widgets.Composite httpAuthComp

proxyAuthComp

private org.eclipse.swt.widgets.Composite proxyAuthComp

httpAuthExpComposite

private org.eclipse.ui.forms.widgets.ExpandableComposite httpAuthExpComposite

proxyExpComposite

private org.eclipse.ui.forms.widgets.ExpandableComposite proxyExpComposite

repositoryUrls

private java.util.Set<java.lang.String> repositoryUrls

originalUrl

private java.lang.String originalUrl

otherEncoding

private org.eclipse.swt.widgets.Button otherEncoding

httpAuthButton

private org.eclipse.swt.widgets.Button httpAuthButton

needsProxy

private boolean needsProxy

systemProxyButton

private org.eclipse.swt.widgets.Button systemProxyButton

oldProxyUsername

private java.lang.String oldProxyUsername

oldProxyPassword

private java.lang.String oldProxyPassword

oldProxyHostname

private java.lang.String oldProxyHostname

oldProxyPort

private java.lang.String oldProxyPort

proxyAuthButton

private org.eclipse.swt.widgets.Button proxyAuthButton

toolkit

private org.eclipse.ui.forms.widgets.FormToolkit toolkit
Constructor Detail

AbstractRepositorySettingsPage

public AbstractRepositorySettingsPage(java.lang.String title,
                                      java.lang.String description,
                                      AbstractRepositoryConnectorUi repositoryUi)
Method Detail

createControl

public void createControl(org.eclipse.swt.widgets.Composite parent)

addProxySection

private void addProxySection()

setEncoding

protected void setEncoding(java.lang.String encoding)

setDefaultEncoding

private void setDefaultEncoding()

setAnonymous

public void setAnonymous(boolean selected)

setHttpAuth

public void setHttpAuth(boolean selected)

setUseDefaultProxy

public void setUseDefaultProxy(boolean selected)

setProxyAuth

public void setProxyAuth(boolean selected)

createAdditionalControls

protected abstract void createAdditionalControls(org.eclipse.swt.widgets.Composite parent)

validateSettings

protected abstract void validateSettings()

isValidUrl

protected abstract boolean isValidUrl(java.lang.String name)

stripSlashes

public static java.lang.String stripSlashes(java.lang.String url)

getRepositoryLabel

public java.lang.String getRepositoryLabel()

getServerUrl

public java.lang.String getServerUrl()

getUserName

public java.lang.String getUserName()

getPassword

public java.lang.String getPassword()

getHttpAuthUserId

public java.lang.String getHttpAuthUserId()

getHttpAuthPassword

public java.lang.String getHttpAuthPassword()

getProxyHostname

public java.lang.String getProxyHostname()

getProxyPort

public java.lang.String getProxyPort()

getUseDefaultProxy

public java.lang.Boolean getUseDefaultProxy()

getProxyUsername

public java.lang.String getProxyUsername()

getProxyPassword

public java.lang.String getProxyPassword()

init

public void init(org.eclipse.ui.IWorkbench workbench)

isAnonymousAccess

public boolean isAnonymousAccess()

isPageComplete

public boolean isPageComplete()
Specified by:
isPageComplete in interface org.eclipse.jface.wizard.IWizardPage
Overrides:
isPageComplete in class org.eclipse.jface.wizard.WizardPage

isUniqueUrl

protected boolean isUniqueUrl(java.lang.String urlString)

setRepository

public void setRepository(TaskRepository repository)

setVersion

public void setVersion(java.lang.String previousVersion)

getVersion

public java.lang.String getVersion()

getRepository

public TaskRepository getRepository()

getCharacterEncoding

public java.lang.String getCharacterEncoding()

createTaskRepository

public TaskRepository createTaskRepository()

getConnector

public AbstractRepositoryConnector getConnector()

needsEncoding

public boolean needsEncoding()

needsTimeZone

public boolean needsTimeZone()

needsAnonymousLogin

public boolean needsAnonymousLogin()

setNeedsEncoding

public void setNeedsEncoding(boolean needsEncoding)

setNeedsTimeZone

public void setNeedsTimeZone(boolean needsTimeZone)

needsHttpAuth

public boolean needsHttpAuth()

setNeedsHttpAuth

public void setNeedsHttpAuth(boolean needsHttpAuth)

setNeedsProxy

public void setNeedsProxy(boolean needsProxy)

needsProxy

public boolean needsProxy()

setNeedsAnonymousLogin

public void setNeedsAnonymousLogin(boolean needsAnonymousLogin)

updateProperties

public void updateProperties(TaskRepository repository)

setUrl

public void setUrl(java.lang.String url)
for testing


setUserId

public void setUserId(java.lang.String id)
for testing


setPassword

public void setPassword(java.lang.String pass)
for testing