Bug 570946 - Use in.transfer(out) in ResourceTest

Signed-off-by: Mickael Istria <mistria@redhat.com>
Also-By: Lars Vogel <Lars.Vogel@vogella.com>
Change-Id: Ic73e13b334e055690d102d920a8b7de484eb1a68
diff --git a/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/internal/builders/BuilderTest.java b/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/internal/builders/BuilderTest.java
index 716d3c8..0236e5c 100644
--- a/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/internal/builders/BuilderTest.java
+++ b/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/internal/builders/BuilderTest.java
@@ -1023,7 +1023,7 @@
 			getWorkspace().run((IWorkspaceRunnable) monitor -> {
 				input.setContents(new ByteArrayInputStream(new byte[] {5, 4, 3, 2, 1}), IResource.NONE, getMonitor());
 				project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, getMonitor());
-				transferStreams(output.getContents(), out, null, null);
+				transferStreams(output.getContents(), out, null);
 			}, getMonitor());
 		} catch (CoreException e) {
 			fail("1.99", e);
diff --git a/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/internal/localstore/SafeFileInputOutputStreamTest.java b/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/internal/localstore/SafeFileInputOutputStreamTest.java
index 969af58..3ae3889 100644
--- a/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/internal/localstore/SafeFileInputOutputStreamTest.java
+++ b/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/internal/localstore/SafeFileInputOutputStreamTest.java
@@ -75,12 +75,12 @@
 		SafeFileOutputStream safeStream = createSafeStream(target.getAbsolutePath(), tempLocation.toOSString(), "2.0");
 		File tempFile = tempLocation.toFile();
 		String contents = getRandomString();
-		transferStreams(getContents(contents), safeStream, target.getAbsolutePath(), null);
+		transferStreams(getContents(contents), safeStream, target.getAbsolutePath());
 
 		// now we should have a temp file
 		safeStream = createSafeStream(target.getAbsolutePath(), tempLocation.toOSString(), "4.0");
 		tempFile = tempLocation.toFile();
-		transferStreams(getContents(contents), safeStream, target.getAbsolutePath(), null);
+		transferStreams(getContents(contents), safeStream, target.getAbsolutePath());
 
 		assertTrue("5.0", target.exists());
 		assertTrue("5.1", !tempFile.exists());
@@ -102,7 +102,7 @@
 		// basic use (like a FileOutputStream)
 		SafeFileOutputStream safeStream = createSafeStream(target, "1.0");
 		String contents = getRandomString();
-		transferStreams(getContents(contents), safeStream, target.getAbsolutePath(), null);
+		transferStreams(getContents(contents), safeStream, target.getAbsolutePath());
 		InputStream diskContents = getContents(target, "1.2");
 		assertTrue("1.3", compareContent(diskContents, getContents(contents)));
 
@@ -111,7 +111,7 @@
 		safeStream = createSafeStream(target, "2.0");
 		File tempFile = new File(safeStream.getTempFilePath());
 		assertTrue("2.0", tempFile.exists());
-		transferStreams(getContents(contents), safeStream, target.getAbsolutePath(), null);
+		transferStreams(getContents(contents), safeStream, target.getAbsolutePath());
 		diskContents = getContents(target, "3.1");
 		assertTrue("3.2", compareContent(diskContents, getContents(contents)));
 		assertTrue("3.3", !tempFile.exists());
@@ -134,7 +134,7 @@
 
 		// update target contents
 		String contents = getRandomString();
-		transferStreams(getContents(contents), safeStream, target.getAbsolutePath(), null);
+		transferStreams(getContents(contents), safeStream, target.getAbsolutePath());
 		InputStream diskContents = getContents(target, "3.1");
 		assertTrue("3.2", compareContent(diskContents, getContents(contents)));
 		assertTrue("3.3", !tempFile.exists());
@@ -146,7 +146,7 @@
 
 		// update target contents
 		contents = getRandomString();
-		transferStreams(getContents(contents), safeStream, target.getAbsolutePath(), null);
+		transferStreams(getContents(contents), safeStream, target.getAbsolutePath());
 		diskContents = getContents(target, "5.1");
 		assertTrue("5.2", compareContent(diskContents, getContents(contents)));
 		assertTrue("5.3", !tempFile.exists());
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 160e354..60daabd 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
@@ -103,28 +103,12 @@
 	/**
 	 * Convenience method to copy contents from one stream to another.
 	 */
-	public static void transferStreams(InputStream source, OutputStream destination, String path, IProgressMonitor monitor) {
-		SubMonitor subMonitor = SubMonitor.convert(monitor);
+	public static void transferStreams(InputStream source, OutputStream destination, String path) {
 		try {
-			byte[] buffer = new byte[8192];
-			while (true) {
-				int bytesRead = -1;
-				try {
-					bytesRead = source.read(buffer);
-				} catch (IOException e) {
-					fail("Failed to read during transferStreams", e);
-				}
-				if (bytesRead == -1) {
-					break;
-				}
-				try {
-					destination.write(buffer, 0, bytesRead);
-				} catch (IOException e) {
-					fail("Failed to write during transferStreams", e);
-				}
-				subMonitor.setWorkRemaining(100).split(1);
-			}
-		} finally {
+			source.transferTo(destination);
+		}  catch (IOException e) {
+			fail("Failed to write during transferStreams", e);
+		}finally {
 			FileUtil.safeClose(source);
 			FileUtil.safeClose(destination);
 		}
diff --git a/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/resources/session/Bug_266907.java b/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/resources/session/Bug_266907.java
index 53b9f56..0af241f 100644
--- a/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/resources/session/Bug_266907.java
+++ b/tests/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/resources/session/Bug_266907.java
@@ -17,7 +17,6 @@
 import junit.framework.Test;
 import org.eclipse.core.resources.*;
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.tests.resources.WorkspaceSessionTest;
 import org.eclipse.core.tests.session.WorkspaceSessionTestSuite;
 
@@ -72,7 +71,7 @@
 		File dotProjectCopy = getTempDir().append("dotProjectCopy").toFile();
 		try {
 			dotProjectCopy.createNewFile();
-			transferStreams(new FileInputStream(dotProject), new FileOutputStream(dotProjectCopy), null, new NullProgressMonitor());
+			transferStreams(new FileInputStream(dotProject), new FileOutputStream(dotProjectCopy), null);
 			dotProject.delete();
 		} catch (FileNotFoundException e) {
 			fail("5.0", e);
@@ -93,7 +92,7 @@
 		File dotProjectCopy = getTempDir().append("dotProjectCopy").toFile();
 		try {
 			dotProject.createNewFile();
-			transferStreams(new FileInputStream(dotProjectCopy), new FileOutputStream(dotProject), null, new NullProgressMonitor());
+			transferStreams(new FileInputStream(dotProjectCopy), new FileOutputStream(dotProject), null);
 			dotProjectCopy.delete();
 		} catch (IOException e1) {
 			fail("2.0", e1);