diff options
author | Lars Vogel | 2015-10-11 18:01:25 +0000 |
---|---|---|
committer | Lars Vogel | 2016-09-09 08:42:58 +0000 |
commit | 17c9cb2d257048b6cbfc5a6c7afa89680da4864c (patch) | |
tree | 32680f1eecd99dd52c351696f2af168283560be5 | |
parent | 0dee869f44d2139c7f5121007528e4c249dee786 (diff) | |
download | eclipse.platform.text-17c9cb2d257048b6cbfc5a6c7afa89680da4864c.tar.gz eclipse.platform.text-17c9cb2d257048b6cbfc5a6c7afa89680da4864c.tar.xz eclipse.platform.text-17c9cb2d257048b6cbfc5a6c7afa89680da4864c.zip |
Bug 479523 - Replace usage of SubProgressMonitor with SubMonitor in
eclipse.platform.text
SubProgressMonitor has been deprecated and SubMonitor shows much better
performance characteristics and has a simpler API
This commit replaces the usage except for Progress which has internal
methods for creating SubProgressMonitor, will be handled by another
commit
Change-Id: I8637366a18fa2f55c8993407f479ed454e0ffe01
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
4 files changed, 43 insertions, 70 deletions
diff --git a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/manipulation/ContainerCreator.java b/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/manipulation/ContainerCreator.java index 4dfbaaf1d00..b57a918bf00 100644 --- a/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/manipulation/ContainerCreator.java +++ b/org.eclipse.core.filebuffers/src/org/eclipse/core/filebuffers/manipulation/ContainerCreator.java @@ -20,7 +20,7 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.SubProgressMonitor; +import org.eclipse.core.runtime.SubMonitor; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IFolder; @@ -68,7 +68,7 @@ public class ContainerCreator { IWorkspaceRunnable runnable= new IWorkspaceRunnable() { @Override public void run(IProgressMonitor monitor) throws CoreException { - monitor.beginTask(FileBuffersMessages.ContainerCreator_task_creatingContainer, fContainerFullPath.segmentCount()); + SubMonitor subMonitor = SubMonitor.convert(monitor, FileBuffersMessages.ContainerCreator_task_creatingContainer, fContainerFullPath.segmentCount()); if (fContainer != null) return; @@ -91,7 +91,7 @@ public class ContainerCreator { if (resource != null) { if (resource instanceof IContainer) { fContainer= (IContainer) resource; - monitor.worked(1); + subMonitor.worked(1); } else { // fContainerFullPath specifies a file as directory throw new CoreException(new Status(IStatus.ERROR, FileBuffersPlugin.PLUGIN_ID, IStatus.OK, NLSUtility.format(FileBuffersMessages.ContainerCreator_destinationMustBeAContainer, resource.getFullPath()), null)); @@ -100,15 +100,11 @@ public class ContainerCreator { else { if (i == 0) { IProject projectHandle= createProjectHandle(root, currentSegment); - IProgressMonitor subMonitor= new SubProgressMonitor(monitor, 1); - fContainer= createProject(projectHandle, subMonitor); - subMonitor.done(); + fContainer= createProject(projectHandle, subMonitor.newChild(1)); } else { IFolder folderHandle= createFolderHandle(fContainer, currentSegment); - IProgressMonitor subMonitor= new SubProgressMonitor(monitor, 1); - fContainer= createFolder(folderHandle, subMonitor); - subMonitor.done(); + fContainer= createFolder(folderHandle, subMonitor.newChild(1)); } } } @@ -138,26 +134,16 @@ public class ContainerCreator { } private IProject createProject(IProject projectHandle, IProgressMonitor monitor) throws CoreException { - monitor.beginTask("", 100);//$NON-NLS-1$ - try { + SubMonitor subMonitor= SubMonitor.convert(monitor, 2); + projectHandle.create(subMonitor.newChild(1)); - IProgressMonitor subMonitor= new SubProgressMonitor(monitor, 50); - projectHandle.create(subMonitor); - subMonitor.done(); - - if (monitor.isCanceled()) - throw new OperationCanceledException(); - - subMonitor= new SubProgressMonitor(monitor, 50); - projectHandle.open(subMonitor); - subMonitor.done(); + if (monitor.isCanceled()) + throw new OperationCanceledException(); - if (monitor.isCanceled()) - throw new OperationCanceledException(); + projectHandle.open(subMonitor.newChild(1)); - } finally { - monitor.done(); - } + if (monitor.isCanceled()) + throw new OperationCanceledException(); return projectHandle; } diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationAction.java b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationAction.java index 0efd803137f..47d1a874403 100644 --- a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationAction.java +++ b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationAction.java @@ -24,7 +24,7 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.SubProgressMonitor; +import org.eclipse.core.runtime.SubMonitor; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.core.resources.IFile; @@ -172,23 +172,19 @@ public class FileBufferOperationAction extends Action implements IWorkbenchWindo try { int ticks= 100; - monitor.beginTask(fFileBufferOperation.getOperationName(), ticks); - try { - IPath[] locations; - if (files != null) { - ticks -= 30; - locations= generateLocations(files, new SubProgressMonitor(monitor, 30)); - } else - locations= new IPath[] { location }; - - if (locations != null && locations.length > 0) { - FileBufferOperationRunner runner= new FileBufferOperationRunner(FileBuffers.getTextFileBufferManager(), getShell()); - runner.execute(locations, fileBufferOperation, new SubProgressMonitor(monitor, ticks)); - } - status= Status.OK_STATUS; - } finally { - monitor.done(); + SubMonitor subMonitor= SubMonitor.convert(monitor, fFileBufferOperation.getOperationName(), ticks); + IPath[] locations; + if (files != null) { + ticks-= 30; + locations= generateLocations(files, subMonitor.newChild(30)); + } else + locations= new IPath[] { location }; + + if (locations != null && locations.length > 0) { + FileBufferOperationRunner runner= new FileBufferOperationRunner(FileBuffers.getTextFileBufferManager(), getShell()); + runner.execute(locations, fileBufferOperation, subMonitor.newChild(ticks)); } + status= Status.OK_STATUS; } catch (OperationCanceledException e) { status= new Status(IStatus.CANCEL, EditorsUI.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$ diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationHandler.java b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationHandler.java index 63ee227c408..f9da142aa4b 100644 --- a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationHandler.java +++ b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationHandler.java @@ -28,7 +28,7 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.SubProgressMonitor; +import org.eclipse.core.runtime.SubMonitor; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.core.resources.IFile; @@ -195,23 +195,19 @@ public class FileBufferOperationHandler extends AbstractHandler { try { int ticks= 100; - monitor.beginTask(fFileBufferOperation.getOperationName(), ticks); - try { - IPath[] locations; - if (files != null) { - ticks -= 30; - locations= generateLocations(files, new SubProgressMonitor(monitor, 30)); - } else - locations= new IPath[] { location }; - - if (locations != null && locations.length > 0) { - FileBufferOperationRunner runner= new FileBufferOperationRunner(FileBuffers.getTextFileBufferManager(), getShell()); - runner.execute(locations, fileBufferOperation, new SubProgressMonitor(monitor, ticks)); - } - status= Status.OK_STATUS; - } finally { - monitor.done(); + SubMonitor subMonitor= SubMonitor.convert(monitor, fFileBufferOperation.getOperationName(), ticks); + IPath[] locations; + if (files != null) { + ticks-= 30; + locations= generateLocations(files, subMonitor.newChild(30)); + } else + locations= new IPath[] { location }; + + if (locations != null && locations.length > 0) { + FileBufferOperationRunner runner= new FileBufferOperationRunner(FileBuffers.getTextFileBufferManager(), getShell()); + runner.execute(locations, fileBufferOperation, subMonitor.newChild(ticks)); } + status= Status.OK_STATUS; } catch (OperationCanceledException e) { status= new Status(IStatus.CANCEL, EditorsUI.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$ diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileDocumentProvider.java b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileDocumentProvider.java index 61e86952eab..cbf28075663 100644 --- a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileDocumentProvider.java +++ b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileDocumentProvider.java @@ -37,7 +37,7 @@ import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.QualifiedName; import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.SubProgressMonitor; +import org.eclipse.core.runtime.SubMonitor; import org.eclipse.core.runtime.content.IContentDescription; import org.eclipse.core.runtime.content.IContentType; import org.eclipse.core.runtime.jobs.ISchedulingRule; @@ -639,15 +639,10 @@ public class FileDocumentProvider extends StorageDocumentProvider { } } else { - try { - monitor.beginTask(TextEditorMessages.FileDocumentProvider_task_saving, 2000); - ContainerCreator creator = new ContainerCreator(file.getWorkspace(), file.getParent().getFullPath()); - creator.createContainer(new SubProgressMonitor(monitor, 1000)); - file.create(stream, false, new SubProgressMonitor(monitor, 1000)); - } - finally { - monitor.done(); - } + SubMonitor subMonitor= SubMonitor.convert(monitor, TextEditorMessages.FileDocumentProvider_task_saving, 2); + ContainerCreator creator= new ContainerCreator(file.getWorkspace(), file.getParent().getFullPath()); + creator.createContainer(subMonitor.newChild(1)); + file.create(stream, false, subMonitor.newChild(1)); } } else { |