Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 46165 Details for
Bug 150327
Add repository label dropdown
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Added combo for repository label and property on TaskRepository
Clipboard-attachment (text/plain), 14.17 KB, created by
Eugene Kuleshov
on 2006-07-12 09:23:03 EDT
(
hide
)
Description:
Added combo for repository label and property on TaskRepository
Filename:
MIME Type:
Creator:
Eugene Kuleshov
Created:
2006-07-12 09:23:03 EDT
Size:
14.17 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylar.tasklist >Index: src/org/eclipse/mylar/provisional/tasklist/TaskRepository.java >=================================================================== >RCS file: /home/technology/org.eclipse.mylar/org.eclipse.mylar.tasklist/src/org/eclipse/mylar/provisional/tasklist/TaskRepository.java,v >retrieving revision 1.12 >diff -u -r1.12 TaskRepository.java >--- src/org/eclipse/mylar/provisional/tasklist/TaskRepository.java 6 Jul 2006 22:39:56 -0000 1.12 >+++ src/org/eclipse/mylar/provisional/tasklist/TaskRepository.java 12 Jul 2006 13:24:25 -0000 >@@ -231,6 +231,14 @@ > this.properties.put(TaskRepositoryManager.PROPERTY_SYNCTIMESTAMP, syncTime); > } > >+ public void setRepositoryLabel(String repositoryLabel) { >+ this.properties.put(TaskRepositoryManager.PROPERTY_LABEL, repositoryLabel); >+ } >+ >+ public String getRepositoryLabel() { >+ return this.properties.get(TaskRepositoryManager.PROPERTY_LABEL); >+ } >+ > public Map<String, String> getProperties() { > return this.properties; > } >Index: src/org/eclipse/mylar/provisional/tasklist/TaskRepositoryManager.java >=================================================================== >RCS file: /home/technology/org.eclipse.mylar/org.eclipse.mylar.tasklist/src/org/eclipse/mylar/provisional/tasklist/TaskRepositoryManager.java,v >retrieving revision 1.24 >diff -u -r1.24 TaskRepositoryManager.java >--- src/org/eclipse/mylar/provisional/tasklist/TaskRepositoryManager.java 11 Jul 2006 23:38:26 -0000 1.24 >+++ src/org/eclipse/mylar/provisional/tasklist/TaskRepositoryManager.java 12 Jul 2006 13:24:25 -0000 >@@ -51,6 +51,8 @@ > > public static final String PROPERTY_URL = "url"; > >+ public static final String PROPERTY_LABEL = "label"; >+ > public static final String PROPERTY_DELIM = ":"; > > public static final String PROPERTY_MIGRATION060 = "migration060"; >Index: src/org/eclipse/mylar/internal/tasklist/ui/wizards/AbstractRepositorySettingsPage.java >=================================================================== >RCS file: /home/technology/org.eclipse.mylar/org.eclipse.mylar.tasklist/src/org/eclipse/mylar/internal/tasklist/ui/wizards/AbstractRepositorySettingsPage.java,v >retrieving revision 1.24 >diff -u -r1.24 AbstractRepositorySettingsPage.java >--- src/org/eclipse/mylar/internal/tasklist/ui/wizards/AbstractRepositorySettingsPage.java 6 Jul 2006 15:46:38 -0000 1.24 >+++ src/org/eclipse/mylar/internal/tasklist/ui/wizards/AbstractRepositorySettingsPage.java 12 Jul 2006 13:24:24 -0000 >@@ -19,16 +19,17 @@ > import org.eclipse.mylar.internal.core.util.MylarStatusHandler; > import org.eclipse.mylar.provisional.tasklist.AbstractRepositoryConnector; > import org.eclipse.mylar.provisional.tasklist.TaskRepository; >+import org.eclipse.mylar.provisional.tasklist.TaskRepositoryManager; > import org.eclipse.swt.SWT; > import org.eclipse.swt.events.SelectionAdapter; > import org.eclipse.swt.events.SelectionEvent; > import org.eclipse.swt.events.SelectionListener; > 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.Group; > import org.eclipse.swt.widgets.Label; > import org.eclipse.swt.widgets.Text; > import org.eclipse.ui.IWorkbench; >@@ -38,6 +39,8 @@ > */ > public abstract class AbstractRepositorySettingsPage extends WizardPage { > >+ protected static final String LABEL_LABEL = "Label: "; >+ > protected static final String LABEL_SERVER = "Server: "; > > protected static final String LABEL_USER = "User Name: "; >@@ -48,8 +51,11 @@ > > protected static final String URL_PREFIX_HTTP = "http://"; > >+ > private AbstractRepositoryConnector connector; > >+ protected Combo repositoryLabelCombo; >+ > protected StringFieldEditor serverUrlEditor; > > protected StringFieldEditor userNameEditor; >@@ -98,6 +104,11 @@ > FillLayout layout = new FillLayout(); > container.setLayout(layout); > >+ new Label(container, SWT.NONE).setText(LABEL_LABEL); >+ >+ repositoryLabelCombo = new Combo(container, SWT.DROP_DOWN); >+ GridDataFactory.swtDefaults().grab(true, false).applyTo(repositoryLabelCombo); >+ > serverUrlEditor = new StringFieldEditor("", LABEL_SERVER, StringFieldEditor.UNLIMITED, container) { > > @Override >@@ -117,6 +128,8 @@ > > if (needsAnonymousLogin()) { > anonymousButton = new Button(container, SWT.CHECK); >+ GridDataFactory.fillDefaults().span(2, SWT.DEFAULT).applyTo(anonymousButton); >+ > anonymousButton.setText("Anonymous Access"); > anonymousButton.addSelectionListener(new SelectionListener() { > public void widgetSelected(SelectionEvent e) { >@@ -129,8 +142,8 @@ > } > }); > >- Label anonymousLabel = new Label(container, SWT.NONE); >- anonymousLabel.setText(""); >+// Label anonymousLabel = new Label(container, SWT.NONE); >+// anonymousLabel.setText(""); > } > > userNameEditor = new StringFieldEditor("", LABEL_USER, StringFieldEditor.UNLIMITED, container); >@@ -139,6 +152,11 @@ > oldUsername = repository.getUserName(); > oldPassword = repository.getPassword(); > try { >+ String repositoryLabel = repository.getProperty(TaskRepositoryManager.PROPERTY_LABEL); >+ if(repositoryLabel!=null && repositoryLabel.length()>0) { >+ repositoryLabelCombo.add(repositoryLabel); >+ repositoryLabelCombo.select(0); >+ } > serverUrlEditor.setStringValue(repository.getUrl()); > userNameEditor.setStringValue(repository.getUserName()); > passwordEditor.setStringValue(repository.getPassword()); >@@ -185,21 +203,24 @@ > createAdditionalControls(container); > > if (needsEncoding()) { >- Composite encodingContainer = new Composite(container, SWT.NONE); >- encodingContainer.setLayout(new GridLayout()); >- GridDataFactory.fillDefaults().span(2, SWT.DEFAULT).applyTo(encodingContainer); >+ Label encodingLabel = new Label(container, SWT.HORIZONTAL); >+ encodingLabel.setText("Character Encoding:"); >+ GridDataFactory.fillDefaults().align(SWT.TOP, SWT.DEFAULT).applyTo(encodingLabel); > >- Group encodingGroup = new Group(encodingContainer, SWT.FLAT); >- encodingGroup.setText("Character Encoding"); >- encodingGroup.setLayout(new GridLayout(2, false)); >- defaultEncoding = new Button(encodingGroup, SWT.RADIO); >+ Composite encodingContainer = new Composite(container, SWT.NONE); >+ GridLayout gridLayout = new GridLayout(2, false); >+ gridLayout.marginWidth = 0; >+ gridLayout.marginHeight = 0; >+ encodingContainer.setLayout(gridLayout); >+ >+ defaultEncoding = new Button(encodingContainer, SWT.RADIO); >+ defaultEncoding.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1)); > defaultEncoding.setText("Default (" + TaskRepository.DEFAULT_CHARACTER_ENCODING + ")"); > defaultEncoding.setSelection(true); >- GridDataFactory.fillDefaults().span(2, SWT.DEFAULT).applyTo(defaultEncoding); > >- final Button otherEncoding = new Button(encodingGroup, SWT.RADIO); >+ final Button otherEncoding = new Button(encodingContainer, SWT.RADIO); > otherEncoding.setText("Other:"); >- otherEncodingCombo = new Combo(encodingGroup, SWT.READ_ONLY); >+ otherEncodingCombo = new Combo(encodingContainer, SWT.READ_ONLY); > for (String encoding : Charset.availableCharsets().keySet()) { > if (!encoding.equals(TaskRepository.DEFAULT_CHARACTER_ENCODING)) { > otherEncodingCombo.add(encoding); >@@ -220,7 +241,7 @@ > } > } > }); >- >+ > if (repository != null) { > try { > String repositoryEncoding = repository.getCharacterEncoding(); >@@ -242,6 +263,7 @@ > } > > validateServerButton = new Button(container, SWT.PUSH); >+ GridDataFactory.swtDefaults().span(2, SWT.DEFAULT).grab(false, false).applyTo(validateServerButton); > validateServerButton.setText("Validate Settings"); > validateServerButton.addSelectionListener(new SelectionAdapter() { > >@@ -283,6 +305,10 @@ > > protected abstract boolean isValidUrl(String name); > >+ public String getRepositoryLabel() { >+ return repositoryLabelCombo.getText(); >+ } >+ > public String getServerUrl() { > return serverUrlEditor.getStringValue(); > } >@@ -304,8 +330,9 @@ > } > > /** >- * Exposes StringFieldEditor.refreshValidState() TODO: is there a better >- * way? >+ * Exposes StringFieldEditor.refreshValidState() >+ * >+ * TODO: is there a better way? > */ > private static class RepositoryStringFieldEditor extends StringFieldEditor { > public RepositoryStringFieldEditor(String name, String labelText, int style, Composite parent) { >@@ -382,7 +409,7 @@ > > TaskRepository repository = new TaskRepository(connector.getRepositoryType(), getServerUrl(), getVersion(), > getCharacterEncoding(), ""); >- >+ repository.setRepositoryLabel(getRepositoryLabel()); > repository.setAuthenticationCredentials(getUserName(), getPassword()); > return repository; > } >#P org.eclipse.mylar.sandbox >Index: src/org/eclipse/mylar/internal/sandbox/web/WebRepositorySettingsPage.java >=================================================================== >RCS file: /home/technology/org.eclipse.mylar/sandbox/org.eclipse.mylar.sandbox/src/org/eclipse/mylar/internal/sandbox/web/WebRepositorySettingsPage.java,v >retrieving revision 1.2 >diff -u -r1.2 WebRepositorySettingsPage.java >--- src/org/eclipse/mylar/internal/sandbox/web/WebRepositorySettingsPage.java 16 Jun 2006 18:34:08 -0000 1.2 >+++ src/org/eclipse/mylar/internal/sandbox/web/WebRepositorySettingsPage.java 12 Jul 2006 13:24:25 -0000 >@@ -20,6 +20,8 @@ > import org.eclipse.mylar.internal.tasklist.ui.wizards.AbstractRepositorySettingsPage; > import org.eclipse.mylar.provisional.tasklist.AbstractRepositoryConnector; > import org.eclipse.mylar.provisional.tasklist.TaskRepository; >+import org.eclipse.swt.events.SelectionEvent; >+import org.eclipse.swt.events.SelectionListener; > import org.eclipse.swt.widgets.Composite; > > /** >@@ -34,12 +36,70 @@ > protected StringFieldEditor taskPrefixUrlEditor; > protected StringFieldEditor newTaskUrlEditor; > >+ private static WebRepositoryInfo[] REPOSITORY_TEMPLATES = { >+ new WebRepositoryInfo( >+ "Subclipse (IssueZilla)", >+ // "http://subclipse.tigris.org/issues/buglist.cgi?issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&order=Issue+Number", >+ "http://subclipse.tigris.org/issues/", >+ "http://subclipse.tigris.org/issues/enter_bug.cgi?component=subclipse", >+ "http://subclipse.tigris.org/issues/show_bug.cgi?id="), >+ new WebRepositoryInfo( >+ "GlasFish (IssueZilla)", >+ // "https://glassfish.dev.java.net/issues/buglist.cgi?component=glassfish&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&order=Issue+Number", >+ "https://glassfish.dev.java.net/servlets/ProjectIssues", >+ "https://glassfish.dev.java.net/issues/enter_bug.cgi?issue_type=DEFECT", >+ "https://glassfish.dev.java.net/issues/show_bug.cgi?id="), >+ new WebRepositoryInfo("Spring Framework (Jira)", >+ "http://opensource.atlassian.com/projects/spring/browse/SPR", >+ "http://opensource.atlassian.com/projects/spring/secure/CreateIssue!default.jspa", >+ "http://opensource.atlassian.com/projects/spring/browse/"), >+ new WebRepositoryInfo("ASM (GForge)", >+ "http://forge.objectweb.org/tracker/?atid=100023&group_id=23", >+ "http://forge.objectweb.org/tracker/?func=add&group_id=23&atid=100023", >+ "http://forge.objectweb.org/tracker/index.php?func=detail&group_id=23&atid=100023&aid="), >+ new WebRepositoryInfo("edgewall.org (Trac)", >+ // "http://trac.edgewall.org/query?status=new&status=assigned&status=reopened&order=id" >+ "http://trac.edgewall.org/", >+ "http://trac.edgewall.org/newticket", >+ "http://trac.edgewall.org/ticket/"), }; > > public WebRepositorySettingsPage(AbstractRepositoryConnector connector) { > super(TITLE, DESCRIPTION, connector); > } > >+ @Override > protected void createAdditionalControls(Composite parent) { >+ for (WebRepositoryInfo info : REPOSITORY_TEMPLATES) { >+ if(repositoryLabelCombo.indexOf(info.label)==-1) { >+ repositoryLabelCombo.add(info.label); >+ } >+ } >+ >+ repositoryLabelCombo.addSelectionListener(new SelectionListener() { >+ >+ public void widgetSelected(SelectionEvent e) { >+ WebRepositoryInfo info = getInfo(repositoryLabelCombo.getText()); >+ if(info!=null) { >+ serverUrlEditor.setStringValue(info.repositoryUrl); >+ taskPrefixUrlEditor.setStringValue(info.taskPrefix); >+ newTaskUrlEditor.setStringValue(info.newTaskUrl); >+ } >+ } >+ >+ public void widgetDefaultSelected(SelectionEvent e) { >+ // ignore >+ } >+ >+ private WebRepositoryInfo getInfo(String text) { >+ for (WebRepositoryInfo info : REPOSITORY_TEMPLATES) { >+ if(text.equals(info.label)) { >+ return info; >+ } >+ } >+ return null; >+ } >+ }); >+ > taskPrefixUrlEditor = new StringFieldEditor("taskPrefixUrl", "Task prefix URL:", StringFieldEditor.UNLIMITED, parent); > taskPrefixUrlEditor.setPropertyChangeListener(this); > >@@ -72,10 +132,26 @@ > > @Override > public TaskRepository createTaskRepository() { >- Map<String, String> properties = new HashMap<String, String>(); >- properties.put(WebRepositoryConnector.PROPERTY_TASK_PREFIX_URL, taskPrefixUrlEditor.getStringValue()); >- properties.put(WebRepositoryConnector.PROPERTY_NEW_TASK_URL, newTaskUrlEditor.getStringValue()); >- return new TaskRepository(getConnector().getRepositoryType(), getServerUrl(), properties); >+ TaskRepository repository = super.createTaskRepository(); >+ repository.setProperty(WebRepositoryConnector.PROPERTY_TASK_PREFIX_URL, taskPrefixUrlEditor.getStringValue()); >+ repository.setProperty(WebRepositoryConnector.PROPERTY_NEW_TASK_URL, newTaskUrlEditor.getStringValue()); >+ return repository; >+ } >+ >+ >+ private static class WebRepositoryInfo { >+ public final String label; >+ public final String repositoryUrl; >+ public final String newTaskUrl; >+ public final String taskPrefix; >+ >+ public WebRepositoryInfo(String label, String repositoryUrl, String newTaskUrl, String taskPrefix) { >+ this.label = label; >+ this.repositoryUrl = repositoryUrl; >+ this.newTaskUrl = newTaskUrl; >+ this.taskPrefix = taskPrefix; >+ } >+ > } > > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 150327
: 46165 |
46166