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);