Bug 481077 - Replace Policy.subMonitorFor with SubMonitor
By using split, I can also remove the call to
Policy.checkCanceled(monitor) in FileStore
Change-Id: Ib4c913a733279b59e9640e31ffcf117d4939d555
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
diff --git a/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/filesystem/provider/FileStore.java b/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/filesystem/provider/FileStore.java
index 2cd4705..ede09d4 100644
--- a/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/filesystem/provider/FileStore.java
+++ b/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/filesystem/provider/FileStore.java
@@ -121,13 +121,12 @@
*/
@Override
public void copy(IFileStore destination, int options, IProgressMonitor monitor) throws CoreException {
- monitor = Policy.monitorFor(monitor);
- Policy.checkCanceled(monitor);
final IFileInfo sourceInfo = fetchInfo(EFS.NONE, null);
- if (sourceInfo.isDirectory())
+ if (sourceInfo.isDirectory()) {
copyDirectory(sourceInfo, destination, options, monitor);
- else
+ } else {
copyFile(sourceInfo, destination, options, monitor);
+ }
}
/**
@@ -438,7 +437,6 @@
*/
@Override
public java.io.File toLocalFile(int options, IProgressMonitor monitor) throws CoreException {
- monitor = Policy.monitorFor(monitor);
//caching is the only recognized option
if (options != EFS.CACHE)
return null;
diff --git a/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/Policy.java b/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/Policy.java
index 0e0012b..5aa22b9 100644
--- a/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/Policy.java
+++ b/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/Policy.java
@@ -55,10 +55,6 @@
RuntimeLog.log(new Status(severity, PI_FILE_SYSTEM, 1, message, t));
}
- public static IProgressMonitor monitorFor(IProgressMonitor monitor) {
- return monitor == null ? new NullProgressMonitor() : monitor;
- }
-
/**
* Closes a stream and ignores any resulting exception.
*/
diff --git a/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/resources/ResourceTest.java b/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/resources/ResourceTest.java
index d710af0..6e6a778 100644
--- a/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/resources/ResourceTest.java
+++ b/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/resources/ResourceTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -17,7 +17,6 @@
import java.util.HashSet;
import java.util.Set;
import org.eclipse.core.filesystem.*;
-import org.eclipse.core.internal.filesystem.Policy;
import org.eclipse.core.internal.resources.Resource;
import org.eclipse.core.internal.utils.FileUtil;
import org.eclipse.core.internal.utils.UniversalUniqueIdentifier;
@@ -110,7 +109,7 @@
* Convenience method to copy contents from one stream to another.
*/
public static void transferStreams(InputStream source, OutputStream destination, String path, IProgressMonitor monitor) {
- monitor = Policy.monitorFor(monitor);
+ SubMonitor subMonitor = SubMonitor.convert(monitor);
try {
byte[] buffer = new byte[8192];
while (true) {
@@ -127,7 +126,7 @@
} catch (IOException e) {
fail("Failed to write during transferStreams", e);
}
- monitor.worked(1);
+ subMonitor.setWorkRemaining(100).split(1);
}
} finally {
try {