Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Xenos2015-09-14 18:58:03 +0000
committerStefan Xenos2015-09-15 16:19:37 +0000
commit2daab974129378b92daacc860dbcee77dabf2123 (patch)
tree4e0dbc79e6efd00ea206fe9f389d65f2eb9b7d14
parentab0a4e07b8b5102fa2756c32111cd2d6d7ce13e2 (diff)
downloadeclipse.platform.ui-2daab974129378b92daacc860dbcee77dabf2123.tar.gz
eclipse.platform.ui-2daab974129378b92daacc860dbcee77dabf2123.tar.xz
eclipse.platform.ui-2daab974129378b92daacc860dbcee77dabf2123.zip
Bug 475785 - Remove usage of SubProgressMonitor in org.eclipse.ui.internal.ide.undo
Change-Id: I5f7b65f706b0e12923c6aac2c65a0537f2e4a3f0 Signed-off-by: Stefan Xenos <sxenos@gmail.com>
-rw-r--r--bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/ContainerDescription.java28
-rw-r--r--bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/FileDescription.java24
-rw-r--r--bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/FolderDescription.java52
-rw-r--r--bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/ProjectDescription.java17
4 files changed, 49 insertions, 72 deletions
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/ContainerDescription.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/ContainerDescription.java
index e23033b0fef..b4d55cbef61 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/ContainerDescription.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/ContainerDescription.java
@@ -24,7 +24,7 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.ui.ide.dialogs.UIResourceFilterDescription;
import org.eclipse.ui.ide.undo.ResourceDescription;
@@ -176,48 +176,42 @@ public abstract class ContainerDescription extends AbstractResourceDescription {
* the handle of the created parent
* @param monitor
* the progress monitor to be used
- * @param ticks
- * the number of ticks allocated for creating children
* @throws CoreException
*/
- protected void createChildResources(IContainer parentHandle,
- IProgressMonitor monitor, int ticks) throws CoreException {
-
+ protected final void createChildResources(IContainer parentHandle,
+ IProgressMonitor monitor) throws CoreException {
// restore any children
if (members != null && members.length > 0) {
+ SubMonitor subMonitor = SubMonitor.convert(monitor, members.length);
for (int i = 0; i < members.length; i++) {
members[i].parent = parentHandle;
- members[i].createResource(new SubProgressMonitor(monitor, ticks
- / members.length));
+ members[i].createResource(subMonitor.newChild(1));
}
}
}
@Override
- public void recordStateFromHistory(IResource resource,
- IProgressMonitor monitor) throws CoreException {
- monitor.beginTask(
- UndoMessages.FolderDescription_SavingUndoInfoProgress, 100);
+ public void recordStateFromHistory(IResource resource, IProgressMonitor mon) throws CoreException {
if (members != null) {
+ SubMonitor subMonitor = SubMonitor.convert(mon, UndoMessages.FolderDescription_SavingUndoInfoProgress,
+ members.length);
for (int i = 0; i < members.length; i++) {
+ SubMonitor iterationMonitor = subMonitor.newChild(1);
if (members[i] instanceof FileDescription) {
IPath path = resource.getFullPath().append(
((FileDescription) members[i]).name);
IFile fileHandle = resource.getWorkspace().getRoot().getFile(
path);
- members[i].recordStateFromHistory(fileHandle,
- new SubProgressMonitor(monitor, 100 / members.length));
+ members[i].recordStateFromHistory(fileHandle, iterationMonitor);
} else if (members[i] instanceof FolderDescription) {
IPath path = resource.getFullPath().append(
((FolderDescription) members[i]).name);
IFolder folderHandle = resource.getWorkspace().getRoot()
.getFolder(path);
- members[i].recordStateFromHistory(folderHandle,
- new SubProgressMonitor(monitor, 100 / members.length));
+ members[i].recordStateFromHistory(folderHandle, iterationMonitor);
}
}
}
- monitor.done();
}
/**
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/FileDescription.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/FileDescription.java
index e7f4ec67024..8785d37bc8a 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/FileDescription.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/FileDescription.java
@@ -25,7 +25,7 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.core.runtime.SubMonitor;
/**
* FileDescription is a lightweight description that describes a file to be
@@ -132,23 +132,21 @@ public class FileDescription extends AbstractResourceDescription {
}
@Override
- public void createExistentResourceFromHandle(IResource resource,
- IProgressMonitor monitor) throws CoreException {
+ public void createExistentResourceFromHandle(IResource resource, IProgressMonitor mon) throws CoreException {
Assert.isLegal(resource instanceof IFile);
if (resource.exists()) {
return;
}
IFile fileHandle = (IFile) resource;
- monitor.beginTask("", 200); //$NON-NLS-1$
- monitor.setTaskName(UndoMessages.FileDescription_NewFileProgress);
+ SubMonitor subMonitor = SubMonitor.convert(mon, 200);
+ subMonitor.setTaskName(UndoMessages.FileDescription_NewFileProgress);
try {
- if (monitor.isCanceled()) {
+ if (subMonitor.isCanceled()) {
throw new OperationCanceledException();
}
if (location != null) {
- fileHandle.createLink(location, IResource.ALLOW_MISSING_LOCAL,
- new SubProgressMonitor(monitor, 200));
+ fileHandle.createLink(location, IResource.ALLOW_MISSING_LOCAL, subMonitor.newChild(200));
} else {
InputStream contents = new ByteArrayInputStream(
UndoMessages.FileDescription_ContentsCouldNotBeRestored
@@ -161,12 +159,10 @@ public class FileDescription extends AbstractResourceDescription {
&& fileContentDescription.exists()) {
contents = fileContentDescription.getContents();
}
- fileHandle.create(contents, false, new SubProgressMonitor(
- monitor, 100));
- fileHandle.setCharset(charset, new SubProgressMonitor(monitor,
- 100));
+ fileHandle.create(contents, false, subMonitor.newChild(100));
+ fileHandle.setCharset(charset, subMonitor.newChild(100));
}
- if (monitor.isCanceled()) {
+ if (subMonitor.isCanceled()) {
throw new OperationCanceledException();
}
} catch (CoreException e) {
@@ -175,8 +171,6 @@ public class FileDescription extends AbstractResourceDescription {
} else {
throw e;
}
- } finally {
- monitor.done();
}
}
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/FolderDescription.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/FolderDescription.java
index 305007b8812..e0a8e7de9e4 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/FolderDescription.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/FolderDescription.java
@@ -21,7 +21,7 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.core.runtime.SubMonitor;
/**
* FolderDescription is a lightweight description that describes a folder to be
@@ -75,41 +75,33 @@ public class FolderDescription extends ContainerDescription {
}
@Override
- public void createExistentResourceFromHandle(IResource resource,
- IProgressMonitor monitor) throws CoreException {
-
+ public void createExistentResourceFromHandle(IResource resource, IProgressMonitor mon) throws CoreException {
Assert.isLegal(resource instanceof IFolder);
if (resource.exists()) {
return;
}
IFolder folderHandle = (IFolder) resource;
- try {
- monitor.beginTask("", 200); //$NON-NLS-1$
- monitor.setTaskName(UndoMessages.FolderDescription_NewFolderProgress);
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- if (filters != null) {
- for (int i = 0; i < filters.length; i++) {
- folderHandle.createFilter(filters[i].getType(), filters[i].getFileInfoMatcherDescription(), 0, new SubProgressMonitor(
- monitor, 100));
- }
- }
- if (location != null) {
- folderHandle.createLink(location,
- IResource.ALLOW_MISSING_LOCAL, new SubProgressMonitor(
- monitor, 100));
- } else {
- folderHandle.create(virtual ? IResource.VIRTUAL:0, true, new SubProgressMonitor(
- monitor, 100));
- }
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
+ SubMonitor subMonitor = SubMonitor.convert(mon, 300);
+ subMonitor.setTaskName(UndoMessages.FolderDescription_NewFolderProgress);
+ if (subMonitor.isCanceled()) {
+ throw new OperationCanceledException();
+ }
+ if (filters != null) {
+ SubMonitor loopMonitor = subMonitor.newChild(100).setWorkRemaining(filters.length);
+ for (int i = 0; i < filters.length; i++) {
+ folderHandle.createFilter(filters[i].getType(), filters[i].getFileInfoMatcherDescription(), 0,
+ loopMonitor.newChild(1));
}
- createChildResources(folderHandle, monitor, 100);
-
- } finally {
- monitor.done();
}
+ subMonitor.setWorkRemaining(200);
+ if (location != null) {
+ folderHandle.createLink(location, IResource.ALLOW_MISSING_LOCAL, subMonitor.newChild(100));
+ } else {
+ folderHandle.create(virtual ? IResource.VIRTUAL : 0, true, subMonitor.newChild(100));
+ }
+ if (subMonitor.isCanceled()) {
+ throw new OperationCanceledException();
+ }
+ createChildResources(folderHandle, subMonitor.newChild(100));
}
} \ No newline at end of file
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/ProjectDescription.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/ProjectDescription.java
index 862dc9535bb..b36ccb1fad2 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/ProjectDescription.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/undo/ProjectDescription.java
@@ -19,7 +19,7 @@ import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.core.runtime.SubMonitor;
/**
* ProjectDescription is a lightweight description that describes a project to
@@ -79,28 +79,25 @@ public class ProjectDescription extends ContainerDescription {
@Override
public void createExistentResourceFromHandle(IResource resource,
IProgressMonitor monitor) throws CoreException {
+ SubMonitor subMonitor = SubMonitor.convert(monitor, 200);
Assert.isLegal(resource instanceof IProject);
if (resource.exists()) {
return;
}
IProject projectHandle = (IProject) resource;
- monitor.beginTask("", 200); //$NON-NLS-1$
- monitor.setTaskName(UndoMessages.FolderDescription_NewFolderProgress);
+ subMonitor.setTaskName(UndoMessages.FolderDescription_NewFolderProgress);
if (projectDescription == null) {
- projectHandle.create(new SubProgressMonitor(monitor, 100));
+ projectHandle.create(subMonitor.newChild(100));
} else {
- projectHandle.create(projectDescription, new SubProgressMonitor(
- monitor, 100));
+ projectHandle.create(projectDescription, subMonitor.newChild(100));
}
- if (monitor.isCanceled()) {
+ if (subMonitor.isCanceled()) {
throw new OperationCanceledException();
}
if (openOnCreate) {
- projectHandle.open(IResource.NONE,
- new SubProgressMonitor(monitor, 100));
+ projectHandle.open(IResource.NONE, subMonitor.newChild(100));
}
- monitor.done();
}
@Override

Back to the top