Bug 501801 - Use SubMonitor.split in org.eclipse.pde.ui instead of
#worked

Change-Id: I36262dbffe76215aae4d225b5b09e5bdd5c19887
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/build/BaseBuildAction.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/build/BaseBuildAction.java
index b059304..d6f0d6c 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/build/BaseBuildAction.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/build/BaseBuildAction.java
@@ -16,8 +16,7 @@
 import org.eclipse.ant.launching.IAntLaunchConstants;
 import org.eclipse.core.commands.*;
 import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.*;
 import org.eclipse.debug.core.ILaunchConfiguration;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
 import org.eclipse.jdt.core.IJavaProject;
@@ -97,23 +96,21 @@
 	}
 
 	private void doBuild(IProgressMonitor monitor) throws CoreException, InvocationTargetException {
-		monitor.beginTask(PDEUIMessages.BuildAction_Validate, 4);
-		if (!ensureValid(fManifestFile, monitor)) {
-			monitor.done();
+
+		SubMonitor subMonitor = SubMonitor.convert(monitor, PDEUIMessages.BuildAction_Validate, 4);
+		if (!ensureValid(fManifestFile, subMonitor.split(1))) {
+			subMonitor.step(3); // consume all remaining work
 			return;
 		}
-		monitor.worked(1);
-		monitor.setTaskName(PDEUIMessages.BuildAction_Generate);
-		makeScripts(monitor);
-		monitor.worked(1);
-		monitor.setTaskName(PDEUIMessages.BuildAction_Update);
-		refreshLocal(monitor);
-		monitor.worked(1);
+		subMonitor.setTaskName(PDEUIMessages.BuildAction_Generate);
+		makeScripts(subMonitor.split(1));
+		subMonitor.setTaskName(PDEUIMessages.BuildAction_Update);
+		refreshLocal(subMonitor.split(1));
 		IProject project = fManifestFile.getProject();
 		IFile generatedFile = (IFile) project.findMember("build.xml"); //$NON-NLS-1$
 		if (generatedFile != null)
 			setDefaultValues(generatedFile);
-		monitor.worked(1);
+		subMonitor.step(1);
 
 	}
 
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/java/FindClassResolutionsOperation.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/java/FindClassResolutionsOperation.java
index b436371..3ddb6da 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/java/FindClassResolutionsOperation.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/java/FindClassResolutionsOperation.java
@@ -158,14 +158,14 @@
 		if (model != null && model.getBundleDescription() != null) {
 			importPkgs = model.getBundleDescription().getImportPackages();
 		}
-		subMonitor.worked(1);
+		subMonitor.step(1);
 
 		if (importPkgs != null) {
 			if (packageName != null) {
 				if (!isImportedPackage(packageName, importPkgs)) {
 					validPackages = getValidPackages(packageName);
 				}
-				subMonitor.worked(1);
+				subMonitor.step(1);
 			} else {
 				// find possible types in the global packages
 				validPackages = findValidPackagesContainingSimpleType(typeName, importPkgs, packagesToExport, subMonitor.split(1));