Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 145123 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/mylar/internal/sandbox/web/WebRepositorySettingsPage.java (-81 / +30 lines)
Lines 22-110 Link Here
22
import org.eclipse.swt.widgets.Composite;
22
import org.eclipse.swt.widgets.Composite;
23
23
24
/**
24
/**
25
 * Settings page for generic web-based repository connector
25
 * Settings page for generic web-based repository connector 
26
 * 
26
 * 
27
 * @author Eugene Kuleshov
27
 * @author Eugene Kuleshov
28
 */
28
 */
29
public class WebRepositorySettingsPage extends AbstractRepositorySettingsPage implements IPropertyChangeListener {
29
public class WebRepositorySettingsPage extends AbstractRepositorySettingsPage implements IPropertyChangeListener {
30
	private static final String TITLE = "Web Repository Settings";
30
	private static final String TITLE = "Web Repository Settings";
31
32
	private static final String DESCRIPTION = "Generic web-based repository connector";
31
	private static final String DESCRIPTION = "Generic web-based repository connector";
33
32
34
	protected StringFieldEditor taskPrefixUrlEditor;
33
	protected StringFieldEditor taskPrefixUrlEditor;
35
36
	protected StringFieldEditor newTaskUrlEditor;
34
	protected StringFieldEditor newTaskUrlEditor;
37
35
	
38
	private static WebRepositoryInfo[] REPOSITORY_TEMPLATES = {
36
	
39
			new WebRepositoryInfo(
40
					"Subclipse (IssueZilla)",
41
					// "http://subclipse.tigris.org/issues/buglist.cgi?issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&order=Issue+Number",
42
					"http://subclipse.tigris.org/issues/",
43
					"http://subclipse.tigris.org/issues/enter_bug.cgi?component=subclipse",
44
					"http://subclipse.tigris.org/issues/show_bug.cgi?id="),
45
			new WebRepositoryInfo(
46
					"GlasFish (IssueZilla)",
47
					// "https://glassfish.dev.java.net/issues/buglist.cgi?component=glassfish&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&order=Issue+Number",
48
					"https://glassfish.dev.java.net/servlets/ProjectIssues",
49
					"https://glassfish.dev.java.net/issues/enter_bug.cgi?issue_type=DEFECT",
50
					"https://glassfish.dev.java.net/issues/show_bug.cgi?id="),
51
			new WebRepositoryInfo("Spring Framework (Jira)",
52
					"http://opensource.atlassian.com/projects/spring/browse/SPR",
53
					"http://opensource.atlassian.com/projects/spring/secure/CreateIssue!default.jspa",
54
					"http://opensource.atlassian.com/projects/spring/browse/"),
55
			new WebRepositoryInfo("ASM (GForge)", "http://forge.objectweb.org/tracker/?atid=100023&group_id=23",
56
					"http://forge.objectweb.org/tracker/?func=add&group_id=23&atid=100023",
57
					"http://forge.objectweb.org/tracker/index.php?func=detail&group_id=23&atid=100023&aid="),
58
			new WebRepositoryInfo("edgewall.org (Trac)",
59
					// "http://trac.edgewall.org/query?status=new&status=assigned&status=reopened&order=id"
60
					"http://trac.edgewall.org/", "http://trac.edgewall.org/newticket",
61
					"http://trac.edgewall.org/ticket/"), };
62
63
	public WebRepositorySettingsPage(AbstractRepositoryConnector connector) {
37
	public WebRepositorySettingsPage(AbstractRepositoryConnector connector) {
64
		super(TITLE, DESCRIPTION, connector);
38
		super(TITLE, DESCRIPTION, connector);
65
	}
39
	}
66
40
67
	@Override
41
	@Override
68
	protected void createAdditionalControls(Composite parent) {
42
	protected void createAdditionalControls(Composite parent) {
69
		for (WebRepositoryInfo info : REPOSITORY_TEMPLATES) {
43
		for (WebRepositoryTemplate template : WebRepositoryConnector.REPOSITORY_TEMPLATES) {
70
			if (repositoryLabelCombo.indexOf(info.label) == -1) {
44
			if(repositoryLabelCombo.indexOf(template.label)==-1) { 
71
				repositoryLabelCombo.add(info.label);
45
				repositoryLabelCombo.add(template.label);
72
			}
46
			}
73
		}
47
		}
74
48
		
75
		repositoryLabelCombo.addSelectionListener(new SelectionListener() {
49
		repositoryLabelCombo.addSelectionListener(new SelectionListener() {
76
50
77
			public void widgetSelected(SelectionEvent e) {
51
				public void widgetSelected(SelectionEvent e) {
78
				WebRepositoryInfo info = getInfo(repositoryLabelCombo.getText());
52
					WebRepositoryTemplate template = WebRepositoryConnector.getTemplate(repositoryLabelCombo.getText());
79
				if (info != null) {
53
					if(template!=null) {
80
					serverUrlEditor.setStringValue(info.repositoryUrl);
54
						serverUrlEditor.setStringValue(template.url);
81
					taskPrefixUrlEditor.setStringValue(info.taskPrefix);
55
						taskPrefixUrlEditor.setStringValue(template.prefix);
82
					newTaskUrlEditor.setStringValue(info.newTaskUrl);
56
						newTaskUrlEditor.setStringValue(template.newTask);
83
				}
84
			}
85
86
			public void widgetDefaultSelected(SelectionEvent e) {
87
				// ignore
88
			}
89
90
			private WebRepositoryInfo getInfo(String text) {
91
				for (WebRepositoryInfo info : REPOSITORY_TEMPLATES) {
92
					if (text.equals(info.label)) {
93
						return info;
94
					}
57
					}
95
				}
58
				}
96
				return null;
97
			}
98
		});
99
59
100
		taskPrefixUrlEditor = new StringFieldEditor("taskPrefixUrl", "Task prefix URL:", StringFieldEditor.UNLIMITED,
60
				public void widgetDefaultSelected(SelectionEvent e) {
101
				parent);
61
					// ignore
62
				}
63
				
64
			});
65
		
66
		taskPrefixUrlEditor = new StringFieldEditor("taskPrefixUrl", "Task prefix URL:", StringFieldEditor.UNLIMITED, parent);
102
		taskPrefixUrlEditor.setPropertyChangeListener(this);
67
		taskPrefixUrlEditor.setPropertyChangeListener(this);
103
68
		
104
		newTaskUrlEditor = new StringFieldEditor("newTaskUrl", "New task URL:", StringFieldEditor.UNLIMITED, parent);
69
		newTaskUrlEditor = new StringFieldEditor("newTaskUrl", "New task URL:", StringFieldEditor.UNLIMITED, parent);
105
		newTaskUrlEditor.setPropertyChangeListener(this);
70
		newTaskUrlEditor.setPropertyChangeListener(this);
106
71
		
107
		if (repository != null) {
72
		if(repository!=null) {
108
			taskPrefixUrlEditor.setStringValue(repository.getProperty(WebRepositoryConnector.PROPERTY_TASK_PREFIX_URL));
73
			taskPrefixUrlEditor.setStringValue(repository.getProperty(WebRepositoryConnector.PROPERTY_TASK_PREFIX_URL));
109
			newTaskUrlEditor.setStringValue(repository.getProperty(WebRepositoryConnector.PROPERTY_NEW_TASK_URL));
74
			newTaskUrlEditor.setStringValue(repository.getProperty(WebRepositoryConnector.PROPERTY_NEW_TASK_URL));
110
		}
75
		}
Lines 118-128 Link Here
118
		// ignore
83
		// ignore
119
	}
84
	}
120
85
86
	
121
	// IPropertyChangeListener
87
	// IPropertyChangeListener
122
88
	
123
	public void propertyChange(PropertyChangeEvent event) {
89
	public void propertyChange(PropertyChangeEvent event) {
124
		Object source = event.getSource();
90
		Object source = event.getSource();
125
		if (source == taskPrefixUrlEditor || source == newTaskUrlEditor) {
91
		if(source==taskPrefixUrlEditor || source == newTaskUrlEditor) {
126
			getWizard().getContainer().updateButtons();
92
			getWizard().getContainer().updateButtons();
127
		}
93
		}
128
	}
94
	}
Lines 130-156 Link Here
130
	@Override
96
	@Override
131
	public TaskRepository createTaskRepository() {
97
	public TaskRepository createTaskRepository() {
132
		TaskRepository repository = super.createTaskRepository();
98
		TaskRepository repository = super.createTaskRepository();
133
		repository.setProperty(WebRepositoryConnector.PROPERTY_TASK_PREFIX_URL, taskPrefixUrlEditor.getStringValue());
99
		repository.setProperty(WebRepositoryConnector.PROPERTY_TASK_PREFIX_URL, taskPrefixUrlEditor.getStringValue()); 
134
		repository.setProperty(WebRepositoryConnector.PROPERTY_NEW_TASK_URL, newTaskUrlEditor.getStringValue());
100
		repository.setProperty(WebRepositoryConnector.PROPERTY_NEW_TASK_URL, newTaskUrlEditor.getStringValue()); 
135
		return repository;
101
		return repository;
136
	}
102
	}
137
103
	
138
	private static class WebRepositoryInfo {
139
		public final String label;
140
141
		public final String repositoryUrl;
142
143
		public final String newTaskUrl;
144
145
		public final String taskPrefix;
146
147
		public WebRepositoryInfo(String label, String repositoryUrl, String newTaskUrl, String taskPrefix) {
148
			this.label = label;
149
			this.repositoryUrl = repositoryUrl;
150
			this.newTaskUrl = newTaskUrl;
151
			this.taskPrefix = taskPrefix;
152
		}
153
154
	}
155
156
}
104
}
105

Return to bug 145123