Bug 501801 - Use SubMonitor.split in org.eclipse.pde.core instead of
#worked
Change-Id: Iffa19d613c7cd92cc544c77ad58132bd166a02ef
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/BundleValidationOperation.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/BundleValidationOperation.java
index 503288a..a80c11d 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/BundleValidationOperation.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/BundleValidationOperation.java
@@ -36,19 +36,21 @@
@Override
public void run(IProgressMonitor monitor) throws CoreException {
- if (FACTORY == null)
+ if (FACTORY == null) {
FACTORY = Platform.getPlatformAdmin().getFactory();
- monitor.beginTask("", fModels.length + 1); //$NON-NLS-1$
+ }
+ SubMonitor subMonitor = SubMonitor.convert(monitor, fModels.length + 1);
fState = FACTORY.createState(true);
- for (int i = 0; i < fModels.length; i++) {
- BundleDescription bundle = fModels[i].getBundleDescription();
- if (bundle != null)
+ for (IPluginModelBase fModel : fModels) {
+ BundleDescription bundle = fModel.getBundleDescription();
+ if (bundle != null) {
fState.addBundle(FACTORY.createBundleDescription(bundle));
- monitor.worked(1);
+ }
+ subMonitor.step(1);
}
fState.setPlatformProperties(fProperties);
fState.resolve(false);
- monitor.done();
+ subMonitor.step(1);
}
public Map<Object, Object[]> getResolverErrors() {
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ExternalFeatureModelManager.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ExternalFeatureModelManager.java
index 24bf0a0..d9f4a72 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ExternalFeatureModelManager.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ExternalFeatureModelManager.java
@@ -187,14 +187,12 @@
}
private static TargetFeature[] createFeatures(URL[] featurePaths, IProgressMonitor monitor) {
- if (monitor == null)
- monitor = new NullProgressMonitor();
- monitor.beginTask("", featurePaths.length); //$NON-NLS-1$
+ SubMonitor subMonitor = SubMonitor.convert(monitor, featurePaths.length);
Map<String, TargetFeature> uniqueFeatures = new HashMap<>();
for (int i = 0; i < featurePaths.length; i++) {
File manifest = new File(featurePaths[i].getFile(), ICoreConstants.FEATURE_FILENAME_DESCRIPTOR);
if (!manifest.exists() || !manifest.isFile()) {
- monitor.worked(1);
+ subMonitor.step(1);
continue;
}
try {
@@ -203,7 +201,7 @@
} catch (CoreException e) {
// Ignore bad files in the collection
}
- monitor.worked(1);
+ subMonitor.step(1);
}
Collection<TargetFeature> models = uniqueFeatures.values();
return models.toArray(new TargetFeature[models.size()]);
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDEState.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDEState.java
index 74f4f10..57daa82 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDEState.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDEState.java
@@ -14,8 +14,7 @@
import java.io.File;
import java.net.URL;
import java.util.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.*;
import org.eclipse.osgi.service.resolver.*;
import org.eclipse.pde.core.plugin.IPluginModelBase;
import org.eclipse.pde.core.target.LoadTargetDefinitionJob;
@@ -81,7 +80,7 @@
/**
* Compares the given versions and prefers ".qualifier" versions over versions
* with any concrete qualifier.
- *
+ *
* @param v1 first version
* @param v2 second version
* @return a negative number, zero, or a positive number depending on
@@ -105,20 +104,17 @@
}
});
}
- monitor.beginTask(PDECoreMessages.PDEState_CreatingTargetModelState, urls.length);
- for (int i = 0; i < urls.length; i++) {
- File file = new File(urls[i].getFile());
+ SubMonitor subMonitor = SubMonitor.convert(monitor, PDECoreMessages.PDEState_CreatingTargetModelState,
+ urls.length);
+ for (URL url : urls) {
+ File file = new File(url.getFile());
try {
- if (monitor.isCanceled())
- // if canceled, stop loading bundles
- return;
- monitor.subTask(file.getName());
+ subMonitor.subTask(file.getName());
addBundle(file, -1);
} catch (CoreException e) {
PDECore.log(e);
- } finally {
- monitor.worked(1);
}
+ subMonitor.step(1);
}
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PluginModelManager.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PluginModelManager.java
index 86acef4..c4c78ca 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PluginModelManager.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PluginModelManager.java
@@ -531,10 +531,6 @@
fExternalManager.setModels(new IPluginModelBase[0]);
fEntries = entries;
LoadTargetDefinitionJob.load(unresolvedRepoBasedtarget);
- subMon.done();
- if (monitor != null) {
- monitor.done();
- }
return;
}
@@ -572,7 +568,7 @@
for (int i = 0; i < models.length; i++) {
addWorkspaceBundleToState(entries, models[i]);
}
- subMon.worked(15);
+ subMon.step(15);
if (PDECore.DEBUG_MODEL) {
System.out.println(fWorkspaceManager.getModels().length + " workspace models created in " + (System.currentTimeMillis() - startWorkspaceAdditions) + " ms"); //$NON-NLS-1$ //$NON-NLS-2$
@@ -580,7 +576,7 @@
// Resolve the state for all external and workspace models
fState.resolveState(true);
- subMon.worked(5);
+ subMon.step(5);
fEntries = entries;
// flush the extension registry cache since workspace data (BundleDescription id's) have changed.
@@ -598,16 +594,12 @@
}
}
- subMon.worked(25);
+ subMon.step(25);
if (PDECore.DEBUG_MODEL) {
long time = System.currentTimeMillis() - startTime;
System.out.println("PDE plug-in model initialization complete: " + time + " ms"); //$NON-NLS-1$//$NON-NLS-2$
}
- subMon.done();
- if (monitor != null) {
- monitor.done();
- }
}
/**
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/ExtensionPointSchemaBuilder.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/ExtensionPointSchemaBuilder.java
index b6104fa..4fc9b50 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/ExtensionPointSchemaBuilder.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/ExtensionPointSchemaBuilder.java
@@ -74,14 +74,9 @@
@Override
protected void clean(IProgressMonitor monitor) throws CoreException {
- SubMonitor localmonitor = SubMonitor.convert(monitor, NLS.bind(PDECoreMessages.ExtensionPointSchemaBuilder_0, getProject().getName()), 1);
- try {
- // clean existing markers on schema files
- cleanSchemasIn(getProject(), localmonitor);
- localmonitor.worked(1);
- } finally {
- localmonitor.done();
- }
+ SubMonitor subMonitor = SubMonitor.convert(monitor, NLS.bind(PDECoreMessages.ExtensionPointSchemaBuilder_0, getProject().getName()), 1);
+ // clean existing markers on schema files
+ cleanSchemasIn(getProject(), subMonitor.split(1));
}
/**
@@ -92,9 +87,6 @@
* @throws CoreException
*/
private void cleanSchemasIn(IContainer container, IProgressMonitor monitor) throws CoreException {
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
IResource[] members = container.members();
for (int i = 0; i < members.length; i++) {
IResource member = members[i];
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/FeatureConsistencyChecker.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/FeatureConsistencyChecker.java
index 7b63a80..7282fb8 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/FeatureConsistencyChecker.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/FeatureConsistencyChecker.java
@@ -107,13 +107,9 @@
IFile file = PDEProject.getFeatureXml(getProject());
if (file.exists()) {
SubMonitor localmonitor = SubMonitor.convert(monitor, NLS.bind(PDECoreMessages.FeatureConsistencyChecker_0, file.getName()), 1);
- try {
- // clean problem markers on feature XML file
- file.deleteMarkers(PDEMarkerFactory.MARKER_ID, true, IResource.DEPTH_ZERO);
- localmonitor.worked(1);
- } finally {
- localmonitor.done();
- }
+ // clean problem markers on feature XML file
+ file.deleteMarkers(PDEMarkerFactory.MARKER_ID, true, IResource.DEPTH_ZERO);
+ localmonitor.step(1);
}
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/ManifestConsistencyChecker.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/ManifestConsistencyChecker.java
index 44b42e3..ff3d855 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/ManifestConsistencyChecker.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/ManifestConsistencyChecker.java
@@ -385,22 +385,19 @@
@Override
protected void clean(IProgressMonitor monitor) throws CoreException {
SubMonitor localmonitor = SubMonitor.convert(monitor, NLS.bind(PDECoreMessages.ManifestConsistencyChecker_0, getProject().getName()), 1);
- try {
- // clean problem markers on the project
- cleanProblems(getProject(), IResource.DEPTH_ZERO);
- // clean the manifest directory (since errors can be created on manifest files with incorrect casing)
- IFile manifestFile = PDEProject.getManifest(getProject());
- cleanProblems(manifestFile.getParent(), IResource.DEPTH_ONE);
- // clean plug-in XML file
- cleanProblems(PDEProject.getPluginXml(getProject()), IResource.DEPTH_ZERO);
- // clean fragment XML file
- cleanProblems(PDEProject.getFragmentXml(getProject()), IResource.DEPTH_ZERO);
- // clean build properties
- cleanProblems(PDEProject.getBuildProperties(getProject()), IResource.DEPTH_ZERO);
- localmonitor.worked(1);
- } finally {
- localmonitor.done();
- }
+ // clean problem markers on the project
+ cleanProblems(getProject(), IResource.DEPTH_ZERO);
+ // clean the manifest directory (since errors can be created on manifest
+ // files with incorrect casing)
+ IFile manifestFile = PDEProject.getManifest(getProject());
+ cleanProblems(manifestFile.getParent(), IResource.DEPTH_ONE);
+ // clean plug-in XML file
+ cleanProblems(PDEProject.getPluginXml(getProject()), IResource.DEPTH_ZERO);
+ // clean fragment XML file
+ cleanProblems(PDEProject.getFragmentXml(getProject()), IResource.DEPTH_ZERO);
+ // clean build properties
+ cleanProblems(PDEProject.getBuildProperties(getProject()), IResource.DEPTH_ZERO);
+ localmonitor.step(1);
}
/**
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/UpdateSiteBuilder.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/UpdateSiteBuilder.java
index 52511db..8525853 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/UpdateSiteBuilder.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/UpdateSiteBuilder.java
@@ -93,13 +93,9 @@
IFile site = getProject().getFile("site.xml"); //$NON-NLS-1$
if (site.exists()) {
SubMonitor localmonitor = SubMonitor.convert(monitor, NLS.bind(PDECoreMessages.UpdateSiteBuilder_0, site.getName()), 1);
- try {
- // clean problem markers on site XML file
- site.deleteMarkers(PDEMarkerFactory.MARKER_ID, true, IResource.DEPTH_ZERO);
- localmonitor.worked(1);
- } finally {
- localmonitor.done();
- }
+ // clean problem markers on site XML file
+ site.deleteMarkers(PDEMarkerFactory.MARKER_ID, true, IResource.DEPTH_ZERO);
+ localmonitor.step(1);
}
}
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/exports/FeatureExportOperation.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/exports/FeatureExportOperation.java
index 7b57903..3dc15d1 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/exports/FeatureExportOperation.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/exports/FeatureExportOperation.java
@@ -246,14 +246,13 @@
fHasErrors = false;
int subTaskLength = 6 + (configs.length * 4) + (publishingP2Metadata() ? 2 : 0);
- SubMonitor subMonitor = SubMonitor.convert(monitor, subTaskLength);
- subMonitor.setTaskName(PDECoreMessages.FeatureExportJob_taskName);
+ SubMonitor subMonitor = SubMonitor.convert(monitor, PDECoreMessages.FeatureExportJob_taskName, subTaskLength);
HashMap<String, String> properties = createAntBuildProperties(configs);
BuildScriptGenerator generator = new BuildScriptGenerator();
setupGenerator(generator, featureID, version, configs, featureLocation);
generator.generate();
- subMonitor.worked(1);
+ subMonitor.step(1);
subMonitor.setTaskName(PDECoreMessages.FeatureExportOperation_runningBuildScript);
// compile the classes
runScript(featureLocation + IPath.SEPARATOR + "compile." + featureID + ".xml", new String[] {"main"}, properties, subMonitor.split(1)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -1148,7 +1147,7 @@
if (fInfo.useWorkspaceCompiledClasses) {
getWorkspaceExportHelper().buildBeforeExport(fInfo.items, subMonitor.split(45));
Set<?> errors = getWorkspaceExportHelper().checkForErrors(fInfo.items);
- subMonitor.worked(5);
+ subMonitor.step(5);
if (!errors.isEmpty()) {
return new Status(IStatus.ERROR, PDECore.PLUGIN_ID, NLS.bind(PDECoreMessages.FeatureExportOperation_workspaceBuildErrorsFoundDuringExport, errors.toString()));
}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/project/ProjectModifyOperation.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/project/ProjectModifyOperation.java
index ff18334..2522eff 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/project/ProjectModifyOperation.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/project/ProjectModifyOperation.java
@@ -10,8 +10,6 @@
*******************************************************************************/
package org.eclipse.pde.internal.core.project;
-import org.eclipse.jdt.core.IClasspathEntry;
-
import java.util.*;
import java.util.Map.Entry;
import org.eclipse.core.resources.*;
@@ -113,17 +111,17 @@
}
PDEProject.setBundleRoot(project, folder);
}
- sub.worked(1);
+ sub.step(1);
configureNatures(description);
- sub.worked(1);
+ sub.step(1);
if (project.hasNature(JavaCore.NATURE_ID)) {
configureJavaProject(description, before, jpExisted);
}
- sub.worked(1);
+ sub.step(1);
configureManifest(description, before);
- sub.worked(1);
+ sub.step(1);
configureBuildPropertiesFile(description, before);
- sub.worked(1);
+ sub.step(1);
// project settings for Equinox, Extension Registry, Automated dependency policy,
// manifest editor launch shortcuts and export wizard
@@ -173,11 +171,7 @@
if (fModel.isDirty()) {
fModel.save();
}
- sub.worked(1);
- sub.done();
- if (monitor != null) {
- monitor.done();
- }
+ sub.step(1);
}
/**
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/search/PluginSearchOperation.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/search/PluginSearchOperation.java
index ab20bef..5e13dd1 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/search/PluginSearchOperation.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/search/PluginSearchOperation.java
@@ -10,11 +10,11 @@
*******************************************************************************/
package org.eclipse.pde.internal.core.search;
-import org.eclipse.pde.core.IIdentifiable;
-
import java.util.ArrayList;
import java.util.regex.Pattern;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.pde.core.IIdentifiable;
import org.eclipse.pde.core.plugin.*;
import org.eclipse.pde.internal.core.util.PatternConstructor;
@@ -31,17 +31,13 @@
public void execute(IProgressMonitor monitor) {
IPluginModelBase[] entries = fInput.getSearchScope().getMatchingModels();
- monitor.beginTask("", entries.length); //$NON-NLS-1$
+ SubMonitor subMonitor = SubMonitor.convert(monitor, entries.length);
- try {
- for (int i = 0; i < entries.length; i++) {
- IPluginModelBase candidate = entries[i];
- visit(candidate);
- monitor.worked(1);
- }
- } finally {
- monitor.done();
+ for (IPluginModelBase candidate : entries) {
+ visit(candidate);
+ subMonitor.step(1);
}
+
}
private void visit(IPluginModelBase model) {
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/P2TargetUtils.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/P2TargetUtils.java
index eee0c31..9d24c68 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/P2TargetUtils.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/P2TargetUtils.java
@@ -931,9 +931,6 @@
// Get the root IUs for every relevant container in the target definition
IInstallableUnit[] units = getRootIUs(target, subMonitor.split(20));
- if (subMonitor.isCanceled()) {
- return;
- }
// create the provisioning plan
IPlanner planner = getPlanner();
@@ -950,10 +947,6 @@
context.setMetadataRepositories(getMetadataRepositories(target));
context.setArtifactRepositories(getArtifactRepositories(target));
- if (subMonitor.isCanceled()) {
- return;
- }
-
IProvisioningPlan plan = planner.getProvisioningPlan(request, context, subMonitor.split(20));
IStatus status = plan.getStatus();
if (!status.isOK()) {
@@ -966,18 +959,12 @@
// to continue, we don't want to update the running SDK while provisioning a target
PDECore.log(new Status(IStatus.INFO, PDECore.PLUGIN_ID, Messages.IUBundleContainer_6));
}
- subMonitor.worked(10);
- if (subMonitor.isCanceled()) {
- return;
- }
+ subMonitor.split(10);
// execute the provisioning plan
IPhaseSet phases = createPhaseSet();
IEngine engine = getEngine();
IStatus result = engine.perform(plan, phases, subMonitor.split(100));
- if (subMonitor.isCanceled()) {
- return;
- }
if (!result.isOK()) {
throw new CoreException(result);
}
@@ -1138,9 +1125,6 @@
// resolve IUs
IInstallableUnit[] units = getRootIUs(target, subMonitor.split(40));
- if (subMonitor.isCanceled()) {
- return;
- }
URI[] repositories = getMetadataRepositories(target);
int repoCount = repositories.length;
@@ -1151,7 +1135,7 @@
// do an initial slice to add everything the user requested
IQueryResult<IInstallableUnit> queryResult = slice(units, allMetadata, target, subMonitor.split(5));
- if (subMonitor.isCanceled() || queryResult == null || queryResult.isEmpty()) {
+ if (queryResult == null || queryResult.isEmpty()) {
return;
}
@@ -1165,7 +1149,7 @@
units2[units.length] = sourceIU;
queryResult = slice(units2, allMetadata, target, subMonitor.split(5));
- if (subMonitor.isCanceled() || queryResult == null || queryResult.isEmpty()) {
+ if (queryResult == null || queryResult.isEmpty()) {
return;
}
}
@@ -1193,10 +1177,7 @@
plan.removeInstallableUnit((IInstallableUnit) name);
}
- if (subMonitor.isCanceled()) {
- return;
- }
- subMonitor.worked(5);
+ subMonitor.split(5);
// execute the provisioning plan
IPhaseSet phases = createPhaseSet();
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/ProfileBundleContainer.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/ProfileBundleContainer.java
index 183d338..ac71a81 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/ProfileBundleContainer.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/target/ProfileBundleContainer.java
@@ -133,7 +133,7 @@
} catch (CoreException e) {
all.add(new InvalidTargetBundle(new BundleInfo(location), e.getStatus()));
}
- localMonitor.worked(1);
+ localMonitor.step(1);
}
// Add source bundles
for (BundleInfo element : source) {
@@ -146,9 +146,8 @@
} catch (CoreException e) {
all.add(new InvalidTargetBundle(new BundleInfo(location), e.getStatus()));
}
- localMonitor.worked(1);
+ localMonitor.step(1);
}
- localMonitor.done();
return all.toArray(new TargetBundle[all.size()]);
}
@@ -192,9 +191,8 @@
PDECore.log(e);
}
}
- localMonitor.worked(1);
+ localMonitor.step(1);
}
- localMonitor.done();
if (!all.isEmpty()) {
return all.toArray(new TargetBundle[all.size()]);
}