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