Skip to content

Commit fbef006

Browse files
committed
Use new static factory method to create UIJobs
The factory was introduce in eclipse-platform/eclipse.platform.ui#387
1 parent ebcd915 commit fbef006

File tree

25 files changed

+229
-364
lines changed

25 files changed

+229
-364
lines changed

apitools/org.eclipse.pde.api.tools.ui/META-INF/MANIFEST.MF

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
22
Bundle-ManifestVersion: 2
33
Bundle-Name: %pluginName
44
Bundle-SymbolicName: org.eclipse.pde.api.tools.ui; singleton:=true
5-
Bundle-Version: 1.2.700.qualifier
5+
Bundle-Version: 1.2.800.qualifier
66
Bundle-Localization: plugin
77
Eclipse-LazyStart: true
88
Bundle-ActivationPolicy: lazy
@@ -11,7 +11,7 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.11.0,4.0.0)",
1111
org.eclipse.jdt.core;bundle-version="[3.27.0,4.0.0)",
1212
org.eclipse.pde.ui;bundle-version="[3.4.0,4.0.0)",
1313
org.eclipse.pde.api.tools;bundle-version="1.0.600",
14-
org.eclipse.ui;bundle-version="[3.4.0,4.0.0)",
14+
org.eclipse.ui;bundle-version="[3.202.0,4.0.0)",
1515
org.eclipse.jdt.ui;bundle-version="[3.8.0,4.0.0)",
1616
org.eclipse.jface.text;bundle-version="[3.4.0,4.0.0)",
1717
org.eclipse.ui.forms;bundle-version="[3.3.100,4.0.0)",

apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiQuickFixProcessor.java

+4-16
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,6 @@
2727
import org.eclipse.core.resources.IProject;
2828
import org.eclipse.core.runtime.CoreException;
2929
import org.eclipse.core.runtime.IPath;
30-
import org.eclipse.core.runtime.IProgressMonitor;
31-
import org.eclipse.core.runtime.IStatus;
32-
import org.eclipse.core.runtime.Status;
3330
import org.eclipse.core.runtime.jobs.Job;
3431
import org.eclipse.jdt.core.ICompilationUnit;
3532
import org.eclipse.jdt.core.Signature;
@@ -83,19 +80,10 @@ public UnknownAnnotationQuickFix(ICompilationUnit unit, String qualifiedname) {
8380

8481
@Override
8582
public void apply(IDocument document) {
86-
UIJob job = new UIJob("Update project to use API Tools annotations") { //$NON-NLS-1$
87-
@Override
88-
public IStatus runInUIThread(IProgressMonitor monitor) {
89-
try {
90-
Change changes = createChange(fUnit, fName);
91-
changes.perform(monitor);
92-
93-
} catch (CoreException e) {
94-
ApiUIPlugin.log(e);
95-
}
96-
return Status.OK_STATUS;
97-
}
98-
};
83+
Job job = UIJob.create("Update project to use API Tools annotations", monitor -> { //$NON-NLS-1$
84+
Change changes = createChange(fUnit, fName);
85+
changes.perform(monitor);
86+
});
9987
job.setPriority(Job.INTERACTIVE);
10088
job.schedule();
10189
}

apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ConfigureProblemSeverityForAPIToolsResolution.java

+22-41
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,12 @@
1414
package org.eclipse.pde.api.tools.ui.internal.markers;
1515

1616
import java.text.MessageFormat;
17-
import java.util.HashMap;
1817
import java.util.HashSet;
1918
import java.util.Map;
2019

2120
import org.eclipse.core.resources.IMarker;
2221
import org.eclipse.core.runtime.CoreException;
2322
import org.eclipse.core.runtime.IProgressMonitor;
24-
import org.eclipse.core.runtime.IStatus;
25-
import org.eclipse.core.runtime.Status;
2623
import org.eclipse.jdt.core.IJavaProject;
2724
import org.eclipse.jdt.core.JavaCore;
2825
import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
@@ -130,52 +127,36 @@ public int getRelevance() {
130127
}
131128

132129
@Override
133-
public void run(IMarker[] markers, IProgressMonitor monitor) {
134-
135-
UIJob job = new UIJob("") { //$NON-NLS-1$
136-
@Override
137-
public IStatus runInUIThread(IProgressMonitor monitor) {
138-
// Configure problem severity for missing baseline
139-
// This doesn't have project specific option
140-
if (fBackingMarker.getAttribute(IApiMarkerConstants.API_MARKER_ATTR_ID,
141-
-1) == IApiMarkerConstants.DEFAULT_API_BASELINE_MARKER_ID) {
142-
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
143-
int id = ApiProblemFactory.getProblemId(fBackingMarker);
144-
String type =ApiBaselinePreferencePage.MISSING_BASELINE_OPTION;
145-
if (id > -1) {
146-
if (id == ApiProblemFactory.createProblemId(IApiProblem.CATEGORY_API_BASELINE,
147-
IElementDescriptor.RESOURCE, IApiProblem.API_PLUGIN_NOT_PRESENT_IN_BASELINE,
148-
IApiProblem.NO_FLAGS)) {
149-
type =ApiBaselinePreferencePage.MISSING_PLUGIN_IN_BASELINE_OPTION;
150-
}
151-
152-
}
153-
Map<String, Object> data = new HashMap<>();
154-
155-
data.put(ApiBaselinePreferencePage.DATA_SELECT_OPTION_KEY,
156-
type);
157-
PreferencesUtil
158-
.createPreferenceDialogOn(shell, IApiToolsConstants.ID_BASELINES_PREF_PAGE, null, data)
159-
.open();
160-
161-
return Status.OK_STATUS;
130+
public void run(IMarker[] markers, IProgressMonitor m) {
131+
UIJob job = UIJob.create("", monitor -> { //$NON-NLS-1$
132+
// Configure problem severity for missing baseline
133+
// This doesn't have project specific option
134+
if (fBackingMarker.getAttribute(IApiMarkerConstants.API_MARKER_ATTR_ID,
135+
-1) == IApiMarkerConstants.DEFAULT_API_BASELINE_MARKER_ID) {
136+
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
137+
int id = ApiProblemFactory.getProblemId(fBackingMarker);
138+
String type = ApiBaselinePreferencePage.MISSING_BASELINE_OPTION;
139+
if (id > -1 && id == ApiProblemFactory.createProblemId(IApiProblem.CATEGORY_API_BASELINE,
140+
IElementDescriptor.RESOURCE, IApiProblem.API_PLUGIN_NOT_PRESENT_IN_BASELINE,
141+
IApiProblem.NO_FLAGS)) {
142+
type = ApiBaselinePreferencePage.MISSING_PLUGIN_IN_BASELINE_OPTION;
162143
}
163-
// Configure problem severity for API Error/Warning( Usage Error, API compatibility error, API
164-
// version error, since tag error, analysis option etc )
144+
Map<String, Object> data = Map.of(ApiBaselinePreferencePage.DATA_SELECT_OPTION_KEY, type);
145+
PreferencesUtil.createPreferenceDialogOn(shell, IApiToolsConstants.ID_BASELINES_PREF_PAGE, null, data)
146+
.open();
147+
} else {
148+
// Configure problem severity for API Error/Warning( Usage
149+
// Error, API compatibility error, API version error, since tag
150+
// error, analysis option etc )
165151
IJavaProject project = JavaCore.create(fBackingMarker.getResource().getProject());
166152
int id = ApiProblemFactory.getProblemId(fBackingMarker);
167153
int tab = -1;
168154
String key = null;
169155
key = Util.getAPIToolPreferenceKey(id);
170156
tab = Util.getAPIToolPreferenceTab(id);
171-
PDEConfigureProblemSeverityAction problemSeverityAction = new PDEConfigureProblemSeverityAction(
172-
project, key ,
173-
tab);
174-
problemSeverityAction.run();
175-
return Status.OK_STATUS;
157+
new PDEConfigureProblemSeverityAction(project, key, tab).run();
176158
}
177-
178-
};
159+
});
179160
job.setSystem(true);
180161
job.schedule();
181162
}

apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/DefaultApiProfileResolution.java

+5-10
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,11 @@
1414
package org.eclipse.pde.api.tools.ui.internal.markers;
1515

1616
import org.eclipse.core.resources.IMarker;
17-
import org.eclipse.core.runtime.IProgressMonitor;
18-
import org.eclipse.core.runtime.IStatus;
19-
import org.eclipse.core.runtime.Status;
2017
import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
2118
import org.eclipse.pde.api.tools.ui.internal.IApiToolsConstants;
2219
import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
2320
import org.eclipse.swt.graphics.Image;
21+
import org.eclipse.swt.widgets.Shell;
2422
import org.eclipse.ui.IMarkerResolution2;
2523
import org.eclipse.ui.progress.UIJob;
2624

@@ -49,13 +47,10 @@ public String getLabel() {
4947

5048
@Override
5149
public void run(IMarker marker) {
52-
UIJob job = new UIJob(MarkerMessages.DefaultApiProfileResolution_2) {
53-
@Override
54-
public IStatus runInUIThread(IProgressMonitor monitor) {
55-
SWTFactory.showPreferencePage(ApiUIPlugin.getShell(), IApiToolsConstants.ID_BASELINES_PREF_PAGE, null);
56-
return Status.OK_STATUS;
57-
}
58-
};
50+
UIJob job = UIJob.create(MarkerMessages.DefaultApiProfileResolution_2, monitor -> {
51+
Shell shell = ApiUIPlugin.getShell();
52+
SWTFactory.showPreferencePage(shell, IApiToolsConstants.ID_BASELINES_PREF_PAGE, null);
53+
});
5954
job.setSystem(true);
6055
job.schedule();
6156
}

apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/OpenPropertyPageResolution.java

+5-10
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,13 @@
1616
import org.eclipse.core.resources.IMarker;
1717
import org.eclipse.core.runtime.Assert;
1818
import org.eclipse.core.runtime.IAdaptable;
19-
import org.eclipse.core.runtime.IProgressMonitor;
20-
import org.eclipse.core.runtime.IStatus;
21-
import org.eclipse.core.runtime.Status;
2219
import org.eclipse.core.runtime.jobs.Job;
2320
import org.eclipse.osgi.util.NLS;
2421
import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
2522
import org.eclipse.pde.api.tools.ui.internal.IApiToolsConstants;
2623
import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
2724
import org.eclipse.swt.graphics.Image;
25+
import org.eclipse.swt.widgets.Shell;
2826
import org.eclipse.ui.IMarkerResolution2;
2927
import org.eclipse.ui.progress.UIJob;
3028

@@ -81,13 +79,10 @@ public String getLabel() {
8179

8280
@Override
8381
public void run(IMarker marker) {
84-
UIJob job = new UIJob(MarkerMessages.OpenPropertyPageResolution_opening_property_page_job_name) {
85-
@Override
86-
public IStatus runInUIThread(IProgressMonitor monitor) {
87-
SWTFactory.showPropertiesDialog(ApiUIPlugin.getShell(), fPageId, fElement, null);
88-
return Status.OK_STATUS;
89-
}
90-
};
82+
UIJob job = UIJob.create(MarkerMessages.OpenPropertyPageResolution_opening_property_page_job_name, monitor -> {
83+
Shell shell = ApiUIPlugin.getShell();
84+
SWTFactory.showPropertiesDialog(shell, fPageId, fElement, null);
85+
});
9186
job.setSystem(true);
9287
job.setPriority(Job.INTERACTIVE);
9388
job.schedule();

apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ProblemExplainIncompatibilityResolution.java

+6-12
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,14 @@
1919
import org.eclipse.core.resources.IMarker;
2020
import org.eclipse.core.runtime.CoreException;
2121
import org.eclipse.core.runtime.IProgressMonitor;
22-
import org.eclipse.core.runtime.IStatus;
23-
import org.eclipse.core.runtime.Status;
2422
import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
2523
import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
2624
import org.eclipse.pde.api.tools.internal.util.Util;
2725
import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
2826
import org.eclipse.pde.api.tools.ui.internal.IApiToolsConstants;
2927
import org.eclipse.swt.graphics.Image;
3028
import org.eclipse.ui.PlatformUI;
29+
import org.eclipse.ui.help.IWorkbenchHelpSystem;
3130
import org.eclipse.ui.progress.UIJob;
3231
import org.eclipse.ui.views.markers.WorkbenchMarkerResolution;
3332

@@ -77,20 +76,15 @@ public String getLabel() {
7776
}
7877

7978
@Override
80-
public void run(IMarker[] markers, IProgressMonitor monitor) {
79+
public void run(IMarker[] markers, IProgressMonitor m) {
8180
// Since only 1 page is made as of now , so for all explain
8281
// incompatibilities we can show the same page. However in future if the
8382
// pages are split, from marker we can get the type of incompatibility
8483
// and show different page URL.
85-
UIJob job = new UIJob("") { //$NON-NLS-1$
86-
@Override
87-
public IStatus runInUIThread(IProgressMonitor monitor) {
88-
PlatformUI.getWorkbench().getHelpSystem()
89-
.displayHelpResource("/org.eclipse.pde.doc.user/reference/api-tooling/api_evolution.htm"); //$NON-NLS-1$
90-
91-
return Status.OK_STATUS;
92-
}
93-
};
84+
UIJob job = UIJob.create("", monitor -> { //$NON-NLS-1$
85+
IWorkbenchHelpSystem helpSystem = PlatformUI.getWorkbench().getHelpSystem();
86+
helpSystem.displayHelpResource("/org.eclipse.pde.doc.user/reference/api-tooling/api_evolution.htm"); //$NON-NLS-1$
87+
});
9488
job.setSystem(true);
9589
job.schedule();
9690
}

apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/SinceTagResolution.java

+8-17
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616
import java.util.HashSet;
1717

1818
import org.eclipse.core.resources.IMarker;
19-
import org.eclipse.core.runtime.IProgressMonitor;
20-
import org.eclipse.core.runtime.IStatus;
21-
import org.eclipse.core.runtime.Status;
2219
import org.eclipse.jdt.ui.ISharedImages;
2320
import org.eclipse.jdt.ui.JavaUI;
2421
import org.eclipse.osgi.util.NLS;
@@ -85,20 +82,14 @@ public void run(final IMarker marker) {
8582
} else {
8683
title = NLS.bind(MarkerMessages.SinceTagResolution_add_since_tag, this.newVersionValue);
8784
}
88-
UIJob job = new UIJob(title) {
89-
@Override
90-
public IStatus runInUIThread(IProgressMonitor monitor) {
91-
SinceTagResolution.this.kind = ApiProblemFactory
92-
.getProblemKind(marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID, 0));
93-
SinceTagResolution.this.newVersionValue = marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_VERSION,
94-
null);
95-
UpdateSinceTagOperation updateSinceTagOperation = new UpdateSinceTagOperation(marker, otherMarkers,
96-
SinceTagResolution.this.kind,
97-
marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_VERSION, null));
98-
updateSinceTagOperation.run(monitor);
99-
return Status.OK_STATUS;
100-
}
101-
};
85+
UIJob job = UIJob.create(title, monitor -> {
86+
this.kind = ApiProblemFactory
87+
.getProblemKind(marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID, 0));
88+
this.newVersionValue = marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_VERSION, null);
89+
UpdateSinceTagOperation updateSinceTagOperation = new UpdateSinceTagOperation(marker, otherMarkers,
90+
this.kind, marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_VERSION, null));
91+
updateSinceTagOperation.run(monitor);
92+
});
10293
job.setSystem(true);
10394
job.schedule();
10495
}

apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/use/ApiUseScanJob.java

+6-16
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@
6060
import org.eclipse.pde.core.target.TargetBundle;
6161
import org.eclipse.ui.IEditorDescriptor;
6262
import org.eclipse.ui.IWorkbenchWindow;
63-
import org.eclipse.ui.PartInitException;
6463
import org.eclipse.ui.PlatformUI;
6564
import org.eclipse.ui.ide.IDE;
6665
import org.eclipse.ui.progress.UIJob;
@@ -184,7 +183,7 @@ protected IStatus run(IProgressMonitor monitor) {
184183

185184
} catch (CoreException e) {
186185
return e.getStatus();
187-
}
186+
}
188187
return Status.OK_STATUS;
189188
}
190189

@@ -380,20 +379,11 @@ void performReportCreation(int reportType, boolean cleanh, String hlocation, Str
380379
if (openhtml) {
381380
final File index = converter.getReportIndex();
382381
if (index != null) {
383-
UIJob ujob = new UIJob(Util.EMPTY_STRING) {
384-
@Override
385-
public IStatus runInUIThread(IProgressMonitor monitor) {
386-
IEditorDescriptor edesc = null;
387-
try {
388-
edesc = IDE.getEditorDescriptor(index.getName(), true, true);
389-
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
390-
IDE.openEditor(window.getActivePage(), index.toURI(), edesc.getId(), true);
391-
} catch (PartInitException e) {
392-
e.printStackTrace();
393-
}
394-
return Status.OK_STATUS;
395-
}
396-
};
382+
UIJob ujob = UIJob.create(Util.EMPTY_STRING, m -> {
383+
IEditorDescriptor edesc = IDE.getEditorDescriptor(index.getName(), true, true);
384+
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
385+
IDE.openEditor(window.getActivePage(), index.toURI(), edesc.getId(), true);
386+
});
397387
ujob.setPriority(Job.INTERACTIVE);
398388
ujob.setSystem(true);
399389
ujob.schedule();

apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiToolingSetupWizardPage.java

+6-9
Original file line numberDiff line numberDiff line change
@@ -438,16 +438,13 @@ public boolean finish() {
438438
*/
439439
private void notifyNoDefaultProfile() {
440440
if (ApiPlugin.getDefault().getApiBaselineManager().getDefaultApiBaseline() == null) {
441-
UIJob job = new UIJob("No default API profile detected") { //$NON-NLS-1$
442-
@Override
443-
public IStatus runInUIThread(IProgressMonitor monitor) {
444-
boolean doit = MessageDialog.openQuestion(getShell(), WizardMessages.ApiToolingSetupWizardPage_1, WizardMessages.ApiToolingSetupWizardPage_2 + WizardMessages.ApiToolingSetupWizardPage_3);
445-
if (doit) {
446-
SWTFactory.showPreferencePage(getShell(), IApiToolsConstants.ID_BASELINES_PREF_PAGE, null);
447-
}
448-
return Status.OK_STATUS;
441+
UIJob job = UIJob.create("No default API profile detected", monitor -> { //$NON-NLS-1$
442+
String msg = WizardMessages.ApiToolingSetupWizardPage_2 + WizardMessages.ApiToolingSetupWizardPage_3;
443+
if (MessageDialog.openQuestion(getShell(), WizardMessages.ApiToolingSetupWizardPage_1, msg)) {
444+
SWTFactory.showPreferencePage(getShell(), IApiToolsConstants.ID_BASELINES_PREF_PAGE, null);
449445
}
450-
};
446+
return Status.OK_STATUS;
447+
});
451448
job.setSystem(true);
452449
job.schedule();
453450
}

ui/org.eclipse.pde.runtime/META-INF/MANIFEST.MF

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ Manifest-Version: 1.0
22
Bundle-ManifestVersion: 2
33
Bundle-Name: %name
44
Bundle-SymbolicName: org.eclipse.pde.runtime; singleton:=true
5-
Bundle-Version: 3.7.500.qualifier
5+
Bundle-Version: 3.7.600.qualifier
66
Bundle-Activator: org.eclipse.pde.internal.runtime.PDERuntimePlugin
77
Bundle-Vendor: %provider-name
88
Bundle-Localization: plugin
99
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.11.0,4.0.0)",
10-
org.eclipse.ui;bundle-version="[3.3.0,4.0.0)",
10+
org.eclipse.ui;bundle-version="[3.202.0,4.0.0)",
1111
org.eclipse.ui.forms;bundle-version="[3.3.0,4.0.0)",
1212
org.eclipse.e4.ui.workbench;bundle-version="1.12.0",
1313
org.eclipse.e4.ui.model.workbench;bundle-version="2.1.0",

0 commit comments

Comments
 (0)