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 {