|
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; |
| 67 |
private Text loginPageUrlText; |
| 68 |
private Text loginTokenRegexpText; |
| 66 |
|
69 |
|
| 67 |
public WebQueryWizardPage(TaskRepository repository) { |
70 |
public WebQueryWizardPage(TaskRepository repository) { |
| 68 |
this(repository, null); |
71 |
this(repository, null); |
|
Lines 107-112
Link Here
|
| 107 |
queryUrlText.setText(template.taskQueryUrl); |
110 |
queryUrlText.setText(template.taskQueryUrl); |
| 108 |
regexpText.setText(template.getAttribute(WebRepositoryConnector.TASK_REGEXP)); |
111 |
regexpText.setText(template.getAttribute(WebRepositoryConnector.TASK_REGEXP)); |
| 109 |
taskPrefixText.setText(template.taskPrefixUrl); |
112 |
taskPrefixText.setText(template.taskPrefixUrl); |
|
|
113 |
loginPageUrlText.setText(template.repositoryUrl); |
| 114 |
loginTokenRegexpText.setText(template.getAttribute(WebRepositoryConnector.LOGIN_TOKEN_REGEXP)); |
| 115 |
loginUrlText.setText(template.getAttribute(WebRepositoryConnector.LOGIN_URL)); |
| 110 |
// } |
116 |
// } |
| 111 |
return; |
117 |
return; |
| 112 |
} |
118 |
} |
|
Lines 120-125
Link Here
|
| 120 |
|
126 |
|
| 121 |
new Label(composite, SWT.NONE); |
127 |
new Label(composite, SWT.NONE); |
| 122 |
|
128 |
|
|
|
129 |
Label loginPageUrlLabel = new Label(composite, SWT.NONE); |
| 130 |
loginPageUrlLabel.setText("Login Page URL:"); |
| 131 |
|
| 132 |
loginPageUrlText = new Text(composite, SWT.BORDER); |
| 133 |
loginPageUrlText.addModifyListener(new ModifyListener() { |
| 134 |
public void modifyText(final ModifyEvent e) { |
| 135 |
webPage = null; |
| 136 |
} |
| 137 |
}); |
| 138 |
loginPageUrlText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); |
| 139 |
new Label(composite, SWT.NONE); |
| 140 |
|
| 141 |
Label loginTokenRegexpLabel = new Label(composite, SWT.NONE); |
| 142 |
loginTokenRegexpLabel.setText("Login token regexp:"); |
| 143 |
loginTokenRegexpLabel.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, true)); |
| 144 |
|
| 145 |
loginTokenRegexpText = new Text(composite, SWT.BORDER); |
| 146 |
loginTokenRegexpText.addModifyListener(new ModifyListener() { |
| 147 |
public void modifyText(final ModifyEvent e) { |
| 148 |
webPage = null; |
| 149 |
} |
| 150 |
}); |
| 151 |
GridData gridDataLTRT = new GridData(SWT.FILL, SWT.FILL, true, true); |
| 152 |
gridDataLTRT.heightHint = 39; |
| 153 |
loginTokenRegexpText.setLayoutData(gridDataLTRT); |
| 154 |
new Label(composite, SWT.NONE); |
| 155 |
|
| 156 |
Label loginUrlLabel = new Label(composite, SWT.NONE); |
| 157 |
loginUrlLabel.setText("Login URL:"); |
| 158 |
|
| 159 |
loginUrlText = new Text(composite, SWT.BORDER); |
| 160 |
loginUrlText.addModifyListener(new ModifyListener() { |
| 161 |
public void modifyText(final ModifyEvent e) { |
| 162 |
webPage = null; |
| 163 |
} |
| 164 |
}); |
| 165 |
loginUrlText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); |
| 166 |
new Label(composite, SWT.NONE); |
| 167 |
|
| 123 |
Label queryUrlLabel = new Label(composite, SWT.NONE); |
168 |
Label queryUrlLabel = new Label(composite, SWT.NONE); |
| 124 |
queryUrlLabel.setText("URL:"); |
169 |
queryUrlLabel.setText("URL:"); |
| 125 |
|
170 |
|
|
Lines 186-191
Link Here
|
| 186 |
queryUrlText.setText(query.getUrl()); |
231 |
queryUrlText.setText(query.getUrl()); |
| 187 |
regexpText.setText(query.getRegexp()); |
232 |
regexpText.setText(query.getRegexp()); |
| 188 |
taskPrefixText.setText(query.getTaskPrefix()); |
233 |
taskPrefixText.setText(query.getTaskPrefix()); |
|
|
234 |
loginPageUrlText.setText(query.getLoginPageUrl()); |
| 235 |
loginTokenRegexpText.setText(query.getLoginTokenRegexp()); |
| 236 |
loginUrlText.setText(query.getLoginUrl()); |
| 189 |
} |
237 |
} |
| 190 |
sashForm.setWeights(new int[] {145, 107 }); |
238 |
sashForm.setWeights(new int[] {145, 107 }); |
| 191 |
} |
239 |
} |
|
Lines 195-202
Link Here
|
| 195 |
String queryUrl = queryUrlText.getText(); |
243 |
String queryUrl = queryUrlText.getText(); |
| 196 |
String taskPrefix = taskPrefixText.getText(); |
244 |
String taskPrefix = taskPrefixText.getText(); |
| 197 |
String regexp = regexpText.getText(); |
245 |
String regexp = regexpText.getText(); |
|
|
246 |
String loginUrl = loginUrlText.getText(); |
| 247 |
String loginPageUrl = loginPageUrlText.getText(); |
| 248 |
String loginTokenRegexp = loginTokenRegexpText.getText(); |
| 198 |
return new WebQuery(description, queryUrl, taskPrefix, regexp, |
249 |
return new WebQuery(description, queryUrl, taskPrefix, regexp, |
| 199 |
TasksUiPlugin.getTaskListManager().getTaskList(), repository.getUrl()); |
250 |
TasksUiPlugin.getTaskListManager().getTaskList(), repository.getUrl(), loginUrl, loginPageUrl, loginTokenRegexp); |
| 200 |
} |
251 |
} |
| 201 |
|
252 |
|
| 202 |
synchronized void updatePreview() { |
253 |
synchronized void updatePreview() { |
|
Lines 204-210
Link Here
|
| 204 |
updatePreviewJob = new UpdatePreviewJob("Updating preview"); |
255 |
updatePreviewJob = new UpdatePreviewJob("Updating preview"); |
| 205 |
updatePreviewJob.setPriority(Job.DECORATE); |
256 |
updatePreviewJob.setPriority(Job.DECORATE); |
| 206 |
} |
257 |
} |
| 207 |
updatePreviewJob.setParams(queryUrlText.getText(), regexpText.getText()); |
258 |
updatePreviewJob.setParams(queryUrlText.getText(), regexpText.getText(), loginUrlText.getText(), loginPageUrlText.getText(), loginTokenRegexpText.getText()); |
| 208 |
if(!updatePreviewJob.isActive()) { |
259 |
if(!updatePreviewJob.isActive()) { |
| 209 |
updatePreviewJob.schedule(); |
260 |
updatePreviewJob.schedule(); |
| 210 |
} |
261 |
} |
|
Lines 246-251
Link Here
|
| 246 |
private final class UpdatePreviewJob extends Job { |
297 |
private final class UpdatePreviewJob extends Job { |
| 247 |
private volatile String url; |
298 |
private volatile String url; |
| 248 |
private volatile String regexp; |
299 |
private volatile String regexp; |
|
|
300 |
private volatile String loginUrl; |
| 301 |
private volatile String loginPageUrl; |
| 302 |
private volatile String loginTokenRegexp; |
| 249 |
private volatile boolean active = false; |
303 |
private volatile boolean active = false; |
| 250 |
|
304 |
|
| 251 |
private UpdatePreviewJob(String name) { |
305 |
private UpdatePreviewJob(String name) { |
|
Lines 256-264
Link Here
|
| 256 |
return active; |
310 |
return active; |
| 257 |
} |
311 |
} |
| 258 |
|
312 |
|
| 259 |
public void setParams(String url, String regexp) { |
313 |
public void setParams(String url, String regexp, String loginUrl, String loginPageUrl, String loginTokenRegexp) { |
| 260 |
this.url = url; |
314 |
this.url = url; |
| 261 |
this.regexp = regexp; |
315 |
this.regexp = regexp; |
|
|
316 |
this.loginUrl = loginUrl; |
| 317 |
this.loginPageUrl = loginPageUrl; |
| 318 |
this.loginTokenRegexp = loginTokenRegexp; |
| 262 |
} |
319 |
} |
| 263 |
|
320 |
|
| 264 |
protected IStatus run(IProgressMonitor monitor) { |
321 |
protected IStatus run(IProgressMonitor monitor) { |
|
Lines 270-276
Link Here
|
| 270 |
final List<AbstractQueryHit> queryHits = new ArrayList<AbstractQueryHit>(); |
327 |
final List<AbstractQueryHit> queryHits = new ArrayList<AbstractQueryHit>(); |
| 271 |
try { |
328 |
try { |
| 272 |
if(webPage==null) { |
329 |
if(webPage==null) { |
| 273 |
webPage = WebRepositoryConnector.fetchResource(currentUrl, repository.getUserName(), repository.getPassword()); |
330 |
webPage = WebRepositoryConnector.fetchResource(currentUrl, repository.getUserName(), repository.getPassword(), loginUrl, loginPageUrl, loginTokenRegexp); |
| 274 |
} |
331 |
} |
| 275 |
|
332 |
|
| 276 |
QueryHitCollector collector = new QueryHitCollector(TasksUiPlugin.getTaskListManager().getTaskList()) { |
333 |
QueryHitCollector collector = new QueryHitCollector(TasksUiPlugin.getTaskListManager().getTaskList()) { |