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 151602 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/mylar/internal/sandbox/web/WebQuery.java (-1 / +8 lines)
Lines 20-33 Link Here
20
20
21
	private final String regexp;
21
	private final String regexp;
22
	private final String taskPrefix;
22
	private final String taskPrefix;
23
	private final String loginUrl;
23
24
24
	public WebQuery(String description, String queryUrl, String taskPrefix, String regexp, 
25
	public WebQuery(String description, String queryUrl, String taskPrefix, String regexp, 
25
			TaskList taskList, String repositoryUrl) {
26
			TaskList taskList, String repositoryUrl, String loginUrl) {
26
		super(description, taskList);
27
		super(description, taskList);
27
		this.taskPrefix = taskPrefix;
28
		this.taskPrefix = taskPrefix;
28
29
29
		this.regexp = regexp;
30
		this.regexp = regexp;
30
		
31
		
32
		this.loginUrl = loginUrl;
33
		
31
		setUrl(queryUrl);
34
		setUrl(queryUrl);
32
		setRepositoryUrl(repositoryUrl);
35
		setRepositoryUrl(repositoryUrl);
33
	}
36
	}
Lines 44-47 Link Here
44
		return this.taskPrefix;
47
		return this.taskPrefix;
45
	}
48
	}
46
49
50
51
	public String getLoginUrl() {
52
		return loginUrl;
53
	}
47
}
54
}
(-)src/org/eclipse/mylar/internal/sandbox/web/WebQueryWizardPage.java (-4 / +18 lines)
Lines 63-68 Link Here
63
	private AbstractRepositoryConnector connector;
63
	private AbstractRepositoryConnector connector;
64
	private WebQuery query;
64
	private WebQuery query;
65
	private UpdatePreviewJob updatePreviewJob;
65
	private UpdatePreviewJob updatePreviewJob;
66
	private Text loginUrlText;
66
67
67
	public WebQueryWizardPage(TaskRepository repository) {
68
	public WebQueryWizardPage(TaskRepository repository) {
68
		this(repository, null);
69
		this(repository, null);
Lines 120-125 Link Here
120
		
121
		
121
		new Label(composite, SWT.NONE);
122
		new Label(composite, SWT.NONE);
122
123
124
		Label loginUrlLabel = new Label(composite, SWT.NONE);
125
		loginUrlLabel.setText("Login URL:");
126
127
		loginUrlText = new Text(composite, SWT.BORDER);
128
		loginUrlText.addModifyListener(new ModifyListener() {
129
			public void modifyText(final ModifyEvent e) {
130
				webPage = null;
131
			}
132
		});
133
		new Label(composite, SWT.NONE);
123
		Label queryUrlLabel = new Label(composite, SWT.NONE);
134
		Label queryUrlLabel = new Label(composite, SWT.NONE);
124
		queryUrlLabel.setText("URL:");
135
		queryUrlLabel.setText("URL:");
125
136
Lines 195-202 Link Here
195
		String queryUrl = queryUrlText.getText();
206
		String queryUrl = queryUrlText.getText();
196
		String taskPrefix = taskPrefixText.getText();
207
		String taskPrefix = taskPrefixText.getText();
197
		String regexp = regexpText.getText();
208
		String regexp = regexpText.getText();
209
		String loginUrl = loginUrlText.getText();
198
		return new WebQuery(description, queryUrl, taskPrefix, regexp, 
210
		return new WebQuery(description, queryUrl, taskPrefix, regexp, 
199
				TasksUiPlugin.getTaskListManager().getTaskList(), repository.getUrl());
211
				TasksUiPlugin.getTaskListManager().getTaskList(), repository.getUrl(), loginUrl);
200
	}
212
	}
201
213
202
	synchronized void updatePreview() {
214
	synchronized void updatePreview() {
Lines 204-210 Link Here
204
			updatePreviewJob = new UpdatePreviewJob("Updating preview");
216
			updatePreviewJob = new UpdatePreviewJob("Updating preview");
205
			updatePreviewJob.setPriority(Job.DECORATE);
217
			updatePreviewJob.setPriority(Job.DECORATE);
206
		}
218
		}
207
		updatePreviewJob.setParams(queryUrlText.getText(), regexpText.getText());
219
		updatePreviewJob.setParams(queryUrlText.getText(), regexpText.getText(), loginUrlText.getText());
208
		if(!updatePreviewJob.isActive()) {
220
		if(!updatePreviewJob.isActive()) {
209
			updatePreviewJob.schedule();
221
			updatePreviewJob.schedule();
210
		}
222
		}
Lines 246-251 Link Here
246
	private final class UpdatePreviewJob extends Job {
258
	private final class UpdatePreviewJob extends Job {
247
		private volatile String url;
259
		private volatile String url;
248
		private volatile String regexp;
260
		private volatile String regexp;
261
		private volatile String loginUrl;
249
		private volatile boolean active = false;
262
		private volatile boolean active = false;
250
263
251
		private UpdatePreviewJob(String name) {
264
		private UpdatePreviewJob(String name) {
Lines 256-264 Link Here
256
			return active;
269
			return active;
257
		}
270
		}
258
271
259
		public void setParams(String url, String regexp) {
272
		public void setParams(String url, String regexp, String loginUrl) {
260
			this.url = url;
273
			this.url = url;
261
			this.regexp = regexp;
274
			this.regexp = regexp;
275
			this.loginUrl = loginUrl;
262
		}
276
		}
263
277
264
		protected IStatus run(IProgressMonitor monitor) {
278
		protected IStatus run(IProgressMonitor monitor) {
Lines 270-276 Link Here
270
				final List<AbstractQueryHit> queryHits = new ArrayList<AbstractQueryHit>();
284
				final List<AbstractQueryHit> queryHits = new ArrayList<AbstractQueryHit>();
271
				try {
285
				try {
272
					if(webPage==null) {
286
					if(webPage==null) {
273
						webPage = WebRepositoryConnector.fetchResource(currentUrl, repository.getUserName(), repository.getPassword());
287
						webPage = WebRepositoryConnector.fetchResource(currentUrl, repository.getUserName(), repository.getPassword(), loginUrl);
274
					}
288
					}
275
289
276
					QueryHitCollector collector = new QueryHitCollector(TasksUiPlugin.getTaskListManager().getTaskList()) {
290
					QueryHitCollector collector = new QueryHitCollector(TasksUiPlugin.getTaskListManager().getTaskList()) {
(-)src/org/eclipse/mylar/internal/sandbox/web/WebRepositoryConnector.java (-2 / +9 lines)
Lines 137-142 Link Here
137
			IProgressMonitor monitor, QueryHitCollector resultCollector) {
137
			IProgressMonitor monitor, QueryHitCollector resultCollector) {
138
		if (query instanceof WebQuery) {
138
		if (query instanceof WebQuery) {
139
			String queryUrl = query.getUrl();
139
			String queryUrl = query.getUrl();
140
			String loginUrl = ((WebQuery) query).getLoginUrl();
140
			String regexp = ((WebQuery) query).getRegexp();
141
			String regexp = ((WebQuery) query).getRegexp();
141
			String taskPrefix = ((WebQuery) query).getTaskPrefix();
142
			String taskPrefix = ((WebQuery) query).getTaskPrefix();
142
			String repositoryUrl = query.getRepositoryUrl();
143
			String repositoryUrl = query.getRepositoryUrl();
Lines 145-151 Link Here
145
			
146
			
146
			try {
147
			try {
147
//				if (regexp != null && regexp.trim().length() > 0) {
148
//				if (regexp != null && regexp.trim().length() > 0) {
148
					return performQuery(fetchResource(queryUrl, repositoryUser, repositoryPassword), regexp,
149
					return performQuery(fetchResource(queryUrl, repositoryUser, repositoryPassword, loginUrl), regexp,
149
							taskPrefix, repositoryUrl, monitor, resultCollector);
150
							taskPrefix, repositoryUrl, monitor, resultCollector);
150
//				} else {
151
//				} else {
151
//					return performRssQuery(queryUrl, taskPrefix, repositoryUrl, repositoryUser, repositoryPassword,
152
//					return performRssQuery(queryUrl, taskPrefix, repositoryUrl, repositoryUser, repositoryPassword,
Lines 269-279 Link Here
269
	}
270
	}
270
*/
271
*/
271
272
272
	public static String fetchResource(String url, String user, String password) throws IOException {
273
	public static String fetchResource(String url, String user, String password, String loginUrl) throws IOException {
273
		HttpClient client = new HttpClient();
274
		HttpClient client = new HttpClient();
274
		Proxy proxySettings = TasksUiPlugin.getDefault().getProxySettings();
275
		Proxy proxySettings = TasksUiPlugin.getDefault().getProxySettings();
275
		WebClientUtil.setupHttpClient(client, proxySettings, url, user, password);	
276
		WebClientUtil.setupHttpClient(client, proxySettings, url, user, password);	
276
		
277
		
278
		GetMethod getLogin = new GetMethod(loginUrl);
279
		try {
280
			client.executeMethod(getLogin);
281
		} catch (Exception e) {
282
			// TODO: handle exception
283
		}
277
		GetMethod get = new GetMethod(url);
284
		GetMethod get = new GetMethod(url);
278
		try {
285
		try {
279
			client.executeMethod(get);
286
			client.executeMethod(get);

Return to bug 151602