You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2014/07/17 01:09:39 UTC

git commit: JCLOUDS-622: Remove most vestiges of InputSupplier

Repository: jclouds
Updated Branches:
  refs/heads/master 1a3ad75ef -> fb60d7670


JCLOUDS-622: Remove most vestiges of InputSupplier

Guava 16 deprecated InputSupplier and a future release will remove it.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/fb60d767
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/fb60d767
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/fb60d767

Branch: refs/heads/master
Commit: fb60d76704745317186ad700e9b7ce5a569a614d
Parents: 1a3ad75
Author: Andrew Gaul <ga...@apache.org>
Authored: Sat Apr 12 13:21:33 2014 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Wed Jul 16 16:07:59 2014 -0700

----------------------------------------------------------------------
 .../atmos/handlers/ParseAtmosErrorFromXmlContent.java |  2 +-
 .../java/org/jclouds/atmos/AtmosClientLiveTest.java   |  4 ++--
 .../ParseCloudServersErrorFromHttpResponse.java       |  2 +-
 .../cloudservers/CloudServersClientLiveTest.java      |  2 +-
 .../cloudsigma/handlers/CloudSigmaErrorHandler.java   |  2 +-
 .../cloudstack/handlers/CloudStackErrorHandler.java   |  2 +-
 .../handlers/ElasticStackErrorHandler.java            |  2 +-
 .../jclouds/elasticstack/ElasticStackApiLiveTest.java |  4 ++--
 .../filesystem/FilesystemAsyncBlobStoreTest.java      |  6 +++---
 .../ParseCloudLoadBalancersErrorFromHttpResponse.java |  2 +-
 .../test/java/org/jclouds/s3/S3ClientLiveTest.java    |  2 +-
 .../aws/handlers/ParseAWSErrorFromXmlContent.java     |  2 +-
 .../openstack/swift/CommonSwiftClientLiveTest.java    |  6 +++---
 .../handlers/ParseVCloudErrorFromHttpResponse.java    |  2 +-
 .../binders/BindBlobToMultipartFormTest.java          |  2 +-
 .../integration/internal/BaseBlobSignerLiveTest.java  | 14 +++++++-------
 .../ParseAzureStorageErrorFromXmlContent.java         |  4 ++--
 .../compute/StubComputeServiceIntegrationTest.java    |  2 +-
 .../java/org/jclouds/http/HttpResponseException.java  |  2 +-
 .../ParseURIFromListOrLocationHeaderIf20x.java        |  2 +-
 .../CloseContentAndSetExceptionErrorHandler.java      |  2 +-
 core/src/main/java/org/jclouds/io/ByteStreams2.java   |  7 +++----
 .../org/jclouds/io/internal/BasePayloadSlicer.java    |  7 -------
 core/src/main/java/org/jclouds/util/Strings2.java     |  8 --------
 ...BaseHttpCommandExecutorServiceIntegrationTest.java |  2 +-
 .../org/jclouds/io/payloads/MultipartFormTest.java    |  6 +++---
 .../jclouds/rest/internal/BaseRestApiExpectTest.java  | 10 +++++-----
 .../org/jclouds/rest/internal/BaseRestApiTest.java    |  2 +-
 .../org/jclouds/gae/ConvertToJcloudsResponseTest.java |  2 +-
 .../org/jclouds/ssh/jsch/JschSshClientLiveTest.java   |  4 ++--
 .../java/org/jclouds/sshj/SshjSshClientLiveTest.java  |  4 ++--
 .../jclouds/azureblob/AzureBlobClientLiveTest.java    |  2 +-
 .../jclouds/glesys/handlers/GleSYSErrorHandler.java   |  2 +-
 .../softlayer/handlers/SoftLayerErrorHandler.java     |  2 +-
 34 files changed, 55 insertions(+), 71 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/atmos/src/main/java/org/jclouds/atmos/handlers/ParseAtmosErrorFromXmlContent.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/main/java/org/jclouds/atmos/handlers/ParseAtmosErrorFromXmlContent.java b/apis/atmos/src/main/java/org/jclouds/atmos/handlers/ParseAtmosErrorFromXmlContent.java
index 5383327..768f1fe 100644
--- a/apis/atmos/src/main/java/org/jclouds/atmos/handlers/ParseAtmosErrorFromXmlContent.java
+++ b/apis/atmos/src/main/java/org/jclouds/atmos/handlers/ParseAtmosErrorFromXmlContent.java
@@ -67,7 +67,7 @@ public class ParseAtmosErrorFromXmlContent implements HttpErrorHandler {
          AtmosError error = null;
          if (response.getPayload() != null) {
             try {
-               String content = Strings2.toString(response.getPayload());
+               String content = Strings2.toStringAndClose(response.getPayload().openStream());
                if (content != null && content.indexOf('<') >= 0) {
                   error = utils.parseAtmosErrorFromContent(command, response, Strings2.toInputStream(content));
                } else {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/atmos/src/test/java/org/jclouds/atmos/AtmosClientLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/atmos/src/test/java/org/jclouds/atmos/AtmosClientLiveTest.java b/apis/atmos/src/test/java/org/jclouds/atmos/AtmosClientLiveTest.java
index 99b2b4e..0cf4d6c 100644
--- a/apis/atmos/src/test/java/org/jclouds/atmos/AtmosClientLiveTest.java
+++ b/apis/atmos/src/test/java/org/jclouds/atmos/AtmosClientLiveTest.java
@@ -261,14 +261,14 @@ public class AtmosClientLiveTest extends BaseBlobStoreIntegrationTest {
    private static void verifyHeadObject(AtmosClient connection, String path, String metadataValue)
             throws InterruptedException, ExecutionException, TimeoutException, IOException {
       AtmosObject getBlob = connection.headFile(path);
-      assertEquals(Strings2.toString(getBlob.getPayload()), "");
+      assertEquals(Strings2.toStringAndClose(getBlob.getPayload().openStream()), "");
       verifyMetadata(metadataValue, getBlob);
    }
 
    private static void verifyObject(AtmosClient connection, String path, String compare, String metadataValue)
             throws InterruptedException, ExecutionException, TimeoutException, IOException {
       AtmosObject getBlob = connection.readFile(path);
-      assertEquals(Strings2.toString(getBlob.getPayload()), compare);
+      assertEquals(Strings2.toStringAndClose(getBlob.getPayload().openStream()), compare);
       verifyMetadata(metadataValue, getBlob);
    }
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/cloudservers/src/main/java/org/jclouds/cloudservers/handlers/ParseCloudServersErrorFromHttpResponse.java
----------------------------------------------------------------------
diff --git a/apis/cloudservers/src/main/java/org/jclouds/cloudservers/handlers/ParseCloudServersErrorFromHttpResponse.java b/apis/cloudservers/src/main/java/org/jclouds/cloudservers/handlers/ParseCloudServersErrorFromHttpResponse.java
index 59734f1..012e5e5 100644
--- a/apis/cloudservers/src/main/java/org/jclouds/cloudservers/handlers/ParseCloudServersErrorFromHttpResponse.java
+++ b/apis/cloudservers/src/main/java/org/jclouds/cloudservers/handlers/ParseCloudServersErrorFromHttpResponse.java
@@ -80,7 +80,7 @@ public class ParseCloudServersErrorFromHttpResponse implements HttpErrorHandler
    String parseErrorFromContentOrNull(HttpCommand command, HttpResponse response) {
       if (response.getPayload() != null) {
          try {
-            return Strings2.toString(response.getPayload());
+            return Strings2.toStringAndClose(response.getPayload().openStream());
          } catch (IOException e) {
             logger.warn(e, "exception reading error from response", response);
          }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/cloudservers/src/test/java/org/jclouds/cloudservers/CloudServersClientLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/cloudservers/src/test/java/org/jclouds/cloudservers/CloudServersClientLiveTest.java b/apis/cloudservers/src/test/java/org/jclouds/cloudservers/CloudServersClientLiveTest.java
index 8be961d..aa9c2ba 100644
--- a/apis/cloudservers/src/test/java/org/jclouds/cloudservers/CloudServersClientLiveTest.java
+++ b/apis/cloudservers/src/test/java/org/jclouds/cloudservers/CloudServersClientLiveTest.java
@@ -379,7 +379,7 @@ public class CloudServersClientLiveTest extends BaseComputeServiceContextLiveTes
       try {
          client.connect();
          Payload etcPasswd = client.get("/etc/jclouds.txt");
-         String etcPasswdContents = Strings2.toString(etcPasswd);
+         String etcPasswdContents = Strings2.toStringAndClose(etcPasswd.openStream());
          assertEquals("rackspace", etcPasswdContents.trim());
       } finally {
          if (client != null)

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/handlers/CloudSigmaErrorHandler.java
----------------------------------------------------------------------
diff --git a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/handlers/CloudSigmaErrorHandler.java b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/handlers/CloudSigmaErrorHandler.java
index 3ec4911..56d9aa3 100644
--- a/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/handlers/CloudSigmaErrorHandler.java
+++ b/apis/cloudsigma/src/main/java/org/jclouds/cloudsigma/handlers/CloudSigmaErrorHandler.java
@@ -88,7 +88,7 @@ public class CloudSigmaErrorHandler implements HttpErrorHandler {
       if (response.getPayload() == null)
          return null;
       try {
-         return Strings2.toString(response.getPayload());
+         return Strings2.toStringAndClose(response.getPayload().openStream());
       } catch (IOException e) {
          throw new RuntimeException(e);
       } finally {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/cloudstack/src/main/java/org/jclouds/cloudstack/handlers/CloudStackErrorHandler.java
----------------------------------------------------------------------
diff --git a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/handlers/CloudStackErrorHandler.java b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/handlers/CloudStackErrorHandler.java
index 0ba3b45..6c6f886 100644
--- a/apis/cloudstack/src/main/java/org/jclouds/cloudstack/handlers/CloudStackErrorHandler.java
+++ b/apis/cloudstack/src/main/java/org/jclouds/cloudstack/handlers/CloudStackErrorHandler.java
@@ -90,7 +90,7 @@ public class CloudStackErrorHandler implements HttpErrorHandler {
       if (response.getPayload() == null)
          return null;
       try {
-         return Strings2.toString(response.getPayload());
+         return Strings2.toStringAndClose(response.getPayload().openStream());
       } catch (IOException e) {
          throw new RuntimeException(e);
       } finally {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/elasticstack/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java
----------------------------------------------------------------------
diff --git a/apis/elasticstack/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java
index 6de2164..36ef425 100644
--- a/apis/elasticstack/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java
+++ b/apis/elasticstack/src/main/java/org/jclouds/elasticstack/handlers/ElasticStackErrorHandler.java
@@ -91,7 +91,7 @@ public class ElasticStackErrorHandler implements HttpErrorHandler {
       if (response.getPayload() == null)
          return null;
       try {
-         return Strings2.toString(response.getPayload());
+         return Strings2.toStringAndClose(response.getPayload().openStream());
       } catch (IOException e) {
          throw new RuntimeException(e);
       } finally {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackApiLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackApiLiveTest.java b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackApiLiveTest.java
index 1253021..2c1947e 100644
--- a/apis/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackApiLiveTest.java
+++ b/apis/elasticstack/src/test/java/org/jclouds/elasticstack/ElasticStackApiLiveTest.java
@@ -328,7 +328,7 @@ public class ElasticStackApiLiveTest extends BaseComputeServiceContextLiveTest {
    public void testWeCanReadAndWriteToDrive() throws IOException {
       drive2 = client.createDrive(new CreateDriveRequest.Builder().name(prefix + "2").size(1 * 1024 * 1024l).build());
       client.writeDrive(drive2.getUuid(), Payloads.newStringPayload("foo"));
-      assertEquals(Strings2.toString(client.readDrive(drive2.getUuid(), 0, 3)), "foo");
+      assertEquals(Strings2.toStringAndClose(client.readDrive(drive2.getUuid(), 0, 3).openStream()), "foo");
    }
 
    @Test(dependsOnMethods = "testWeCanReadAndWriteToDrive")
@@ -343,7 +343,7 @@ public class ElasticStackApiLiveTest extends BaseComputeServiceContextLiveTest {
          assert driveNotClaimed.apply(drive2) : client.getDriveInfo(drive2.getUuid());
          System.err.println("after image; drive 2" + client.getDriveInfo(drive2.getUuid()));
          System.err.println("after image; drive 3" + client.getDriveInfo(drive3.getUuid()));
-         assertEquals(Strings2.toString(client.readDrive(drive3.getUuid(), 0, 3)), "foo");
+         assertEquals(Strings2.toStringAndClose(client.readDrive(drive3.getUuid(), 0, 3).openStream()), "foo");
       } finally {
          client.destroyDrive(drive2.getUuid());
          client.destroyDrive(drive3.getUuid());

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/filesystem/src/test/java/org/jclouds/filesystem/FilesystemAsyncBlobStoreTest.java
----------------------------------------------------------------------
diff --git a/apis/filesystem/src/test/java/org/jclouds/filesystem/FilesystemAsyncBlobStoreTest.java b/apis/filesystem/src/test/java/org/jclouds/filesystem/FilesystemAsyncBlobStoreTest.java
index 082e13c..63f808a 100644
--- a/apis/filesystem/src/test/java/org/jclouds/filesystem/FilesystemAsyncBlobStoreTest.java
+++ b/apis/filesystem/src/test/java/org/jclouds/filesystem/FilesystemAsyncBlobStoreTest.java
@@ -703,7 +703,7 @@ public class FilesystemAsyncBlobStoreTest {
         Blob blobRangeStartAt = blobStore.getBlob(CONTAINER_NAME, blob.getMetadata().getName(), getOptionsRangeStartAt);
         payload = blobRangeStartAt.getPayload();
         try {
-            assertEquals(input.substring(1), Strings2.toString(payload));
+            assertEquals(input.substring(1), Strings2.toStringAndClose(payload.openStream()));
         } finally {
             Closeables2.closeQuietly(payload);
         }
@@ -713,7 +713,7 @@ public class FilesystemAsyncBlobStoreTest {
         Blob blobRangeTail = blobStore.getBlob(CONTAINER_NAME, blob.getMetadata().getName(), getOptionsRangeTail);
         payload = blobRangeTail.getPayload();
         try {
-            assertEquals(input.substring(5), Strings2.toString(payload));
+            assertEquals(input.substring(5), Strings2.toStringAndClose(payload.openStream()));
         } finally {
             Closeables2.closeQuietly(payload);
         }
@@ -723,7 +723,7 @@ public class FilesystemAsyncBlobStoreTest {
         Blob blobFragment = blobStore.getBlob(CONTAINER_NAME, blob.getMetadata().getName(), getOptionsFragment);
         payload = blobFragment.getPayload();
         try {
-            assertEquals(input.substring(4, 7), Strings2.toString(payload));
+            assertEquals(input.substring(4, 7), Strings2.toStringAndClose(payload.openStream()));
         } finally {
             Closeables2.closeQuietly(payload);
         }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/v1/handlers/ParseCloudLoadBalancersErrorFromHttpResponse.java
----------------------------------------------------------------------
diff --git a/apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/v1/handlers/ParseCloudLoadBalancersErrorFromHttpResponse.java b/apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/v1/handlers/ParseCloudLoadBalancersErrorFromHttpResponse.java
index e8f182b..c48e74e 100644
--- a/apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/v1/handlers/ParseCloudLoadBalancersErrorFromHttpResponse.java
+++ b/apis/rackspace-cloudloadbalancers/src/main/java/org/jclouds/rackspace/cloudloadbalancers/v1/handlers/ParseCloudLoadBalancersErrorFromHttpResponse.java
@@ -78,7 +78,7 @@ public class ParseCloudLoadBalancersErrorFromHttpResponse implements HttpErrorHa
    String parseErrorFromContentOrNull(HttpCommand command, HttpResponse response) {
       if (response.getPayload() != null) {
          try {
-            return Strings2.toString(response.getPayload());
+            return Strings2.toStringAndClose(response.getPayload().openStream());
          } catch (IOException e) {
             logger.warn(e, "exception reading error from response", response);
          }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/s3/src/test/java/org/jclouds/s3/S3ClientLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/test/java/org/jclouds/s3/S3ClientLiveTest.java b/apis/s3/src/test/java/org/jclouds/s3/S3ClientLiveTest.java
index a36881a..d94fda1 100644
--- a/apis/s3/src/test/java/org/jclouds/s3/S3ClientLiveTest.java
+++ b/apis/s3/src/test/java/org/jclouds/s3/S3ClientLiveTest.java
@@ -278,7 +278,7 @@ public class S3ClientLiveTest extends BaseBlobStoreIntegrationTest {
       assertConsistencyAwareContainerSize(sourceContainer, 1);
       S3Object newObject = getApi().getObject(sourceContainer, key);
       assert newObject != null;
-      assertEquals(Strings2.toString(newObject.getPayload()), TEST_STRING);
+      assertEquals(Strings2.toStringAndClose(newObject.getPayload().openStream()), TEST_STRING);
       return newObject;
    }
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/sts/src/main/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContent.java
----------------------------------------------------------------------
diff --git a/apis/sts/src/main/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContent.java b/apis/sts/src/main/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContent.java
index 263a45e..b83d31e 100644
--- a/apis/sts/src/main/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContent.java
+++ b/apis/sts/src/main/java/org/jclouds/aws/handlers/ParseAWSErrorFromXmlContent.java
@@ -78,7 +78,7 @@ public class ParseAWSErrorFromXmlContent implements HttpErrorHandler {
                }
             } else {
                try {
-                  message = Strings2.toString(response.getPayload());
+                  message = Strings2.toStringAndClose(response.getPayload().openStream());
                   exception = new HttpResponseException(command, response, message);
                } catch (IOException e) {
                }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/swift/src/test/java/org/jclouds/openstack/swift/CommonSwiftClientLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/swift/src/test/java/org/jclouds/openstack/swift/CommonSwiftClientLiveTest.java b/apis/swift/src/test/java/org/jclouds/openstack/swift/CommonSwiftClientLiveTest.java
index 1646d0c..1fcf0a7 100644
--- a/apis/swift/src/test/java/org/jclouds/openstack/swift/CommonSwiftClientLiveTest.java
+++ b/apis/swift/src/test/java/org/jclouds/openstack/swift/CommonSwiftClientLiveTest.java
@@ -244,7 +244,7 @@ public abstract class CommonSwiftClientLiveTest<C extends CommonSwiftClient> ext
          assert getApi().getObject(containerName, "non-existent-object") == null;
          // Test GET of object (including updated metadata)
          SwiftObject getBlob = getApi().getObject(containerName, object.getInfo().getName());
-         assertEquals(Strings2.toString(getBlob.getPayload()), data);
+         assertEquals(Strings2.toStringAndClose(getBlob.getPayload().openStream()), data);
          // TODO assertEquals(getBlob.getName(),
          // object.getMetadata().getName());
          assertEquals(getBlob.getInfo().getBytes(), Long.valueOf(data.length()));
@@ -289,7 +289,7 @@ public abstract class CommonSwiftClientLiveTest<C extends CommonSwiftClient> ext
                   GetOptions.Builder.ifETagMatches(newEtag));
          assertEquals(getBlob.getInfo().getHash(), base16().lowerCase().decode(newEtag));
          getBlob = getApi().getObject(containerName, object.getInfo().getName(), GetOptions.Builder.startAt(8));
-         assertEquals(Strings2.toString(getBlob.getPayload()), data.substring(8));
+         assertEquals(Strings2.toStringAndClose(getBlob.getPayload().openStream()), data.substring(8));
 
       } finally {
          returnContainer(containerName);
@@ -321,7 +321,7 @@ public abstract class CommonSwiftClientLiveTest<C extends CommonSwiftClient> ext
       assertTrue(getApi().objectExists(destinationContainer, destinationObject));
       
       SwiftObject destinationSwiftObject = getApi().getObject(destinationContainer, destinationObject);
-      assertEquals(Strings2.toString(destinationSwiftObject.getPayload()), data);
+      assertEquals(Strings2.toStringAndClose(destinationSwiftObject.getPayload().openStream()), data);
       
       // test exception thrown on bad destination container
       try {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/apis/vcloud/src/main/java/org/jclouds/vcloud/handlers/ParseVCloudErrorFromHttpResponse.java
----------------------------------------------------------------------
diff --git a/apis/vcloud/src/main/java/org/jclouds/vcloud/handlers/ParseVCloudErrorFromHttpResponse.java b/apis/vcloud/src/main/java/org/jclouds/vcloud/handlers/ParseVCloudErrorFromHttpResponse.java
index ab322a8..2c9f96f 100644
--- a/apis/vcloud/src/main/java/org/jclouds/vcloud/handlers/ParseVCloudErrorFromHttpResponse.java
+++ b/apis/vcloud/src/main/java/org/jclouds/vcloud/handlers/ParseVCloudErrorFromHttpResponse.java
@@ -68,7 +68,7 @@ public class ParseVCloudErrorFromHttpResponse implements HttpErrorHandler {
                   message = error.getMessage();
                   exception = new VCloudResponseException(command, response, error);
                } else {
-                  message = Strings2.toString(response.getPayload());
+                  message = Strings2.toStringAndClose(response.getPayload().openStream());
                   exception = message != null ? new HttpResponseException(command, response, message) : exception;
                }
             } catch (IOException e) {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/blobstore/src/test/java/org/jclouds/blobstore/binders/BindBlobToMultipartFormTest.java
----------------------------------------------------------------------
diff --git a/blobstore/src/test/java/org/jclouds/blobstore/binders/BindBlobToMultipartFormTest.java b/blobstore/src/test/java/org/jclouds/blobstore/binders/BindBlobToMultipartFormTest.java
index c6d721c..b1f9245 100644
--- a/blobstore/src/test/java/org/jclouds/blobstore/binders/BindBlobToMultipartFormTest.java
+++ b/blobstore/src/test/java/org/jclouds/blobstore/binders/BindBlobToMultipartFormTest.java
@@ -61,7 +61,7 @@ public class BindBlobToMultipartFormTest {
       HttpRequest request = HttpRequest.builder().method("GET").endpoint("http://localhost:8001").build();
       binder.bindToRequest(request, TEST_BLOB);
 
-      assertEquals(Strings2.toString(request.getPayload()), EXPECTS);
+      assertEquals(Strings2.toStringAndClose(request.getPayload().openStream()), EXPECTS);
       assertEquals(request.getPayload().getContentMetadata().getContentLength(), Long.valueOf(113));
 
       assertEquals(request.getPayload().getContentMetadata().getContentType(), "multipart/form-data; boundary="

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobSignerLiveTest.java
----------------------------------------------------------------------
diff --git a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobSignerLiveTest.java b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobSignerLiveTest.java
index dcac38c..bed8c35 100644
--- a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobSignerLiveTest.java
+++ b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobSignerLiveTest.java
@@ -51,7 +51,7 @@ public class BaseBlobSignerLiveTest extends BaseBlobStoreIntegrationTest {
          assertConsistencyAwareContainerSize(container, 1);
          HttpRequest request = view.getSigner().signGetBlob(container, name);
          assertEquals(request.getFilters().size(), 0);
-         assertEquals(Strings2.toString(view.utils().http().invoke(request).getPayload()), text);
+         assertEquals(Strings2.toStringAndClose(view.utils().http().invoke(request).getPayload().openStream()), text);
       } finally {
          returnContainer(container);
       }
@@ -69,7 +69,7 @@ public class BaseBlobSignerLiveTest extends BaseBlobStoreIntegrationTest {
          assertConsistencyAwareContainerSize(container, 1);
          HttpRequest request = view.getSigner().signGetBlob(container, name, range(0, 1));
          assertEquals(request.getFilters().size(), 0);
-         assertEquals(Strings2.toString(view.utils().http().invoke(request).getPayload()), "fo");
+         assertEquals(Strings2.toStringAndClose(view.utils().http().invoke(request).getPayload().openStream()), "fo");
       } finally {
          returnContainer(container);
       }
@@ -89,11 +89,11 @@ public class BaseBlobSignerLiveTest extends BaseBlobStoreIntegrationTest {
          HttpRequest request = view.getSigner().signGetBlob(container, name, timeout);
          
          assertEquals(request.getFilters().size(), 0);
-         assertEquals(Strings2.toString(view.utils().http().invoke(request).getPayload()), text);
+         assertEquals(Strings2.toStringAndClose(view.utils().http().invoke(request).getPayload().openStream()), text);
 
          TimeUnit.SECONDS.sleep(2 * timeout);
          try {
-            Strings2.toString(view.utils().http().invoke(request).getPayload());
+            Strings2.toStringAndClose(view.utils().http().invoke(request).getPayload().openStream());
             fail("Temporary URL did not expire as expected");
          } catch (AuthorizationException expected) {
          }
@@ -114,7 +114,7 @@ public class BaseBlobSignerLiveTest extends BaseBlobStoreIntegrationTest {
       try {
          HttpRequest request = view.getSigner().signPutBlob(container, blob);
          assertEquals(request.getFilters().size(), 0);
-         Strings2.toString(view.utils().http().invoke(request).getPayload());
+         Strings2.toStringAndClose(view.utils().http().invoke(request).getPayload().openStream());
          assertConsistencyAwareContainerSize(container, 1);
       } finally {
          returnContainer(container);
@@ -137,7 +137,7 @@ public class BaseBlobSignerLiveTest extends BaseBlobStoreIntegrationTest {
          // Java 7+ will throw a ProtocolException instead of setting the response code:
          // http://www.docjar.com/html/api/sun/net/www/protocol/http/HttpURLConnection.java.html#1021
          request = request.toBuilder().removeHeader(EXPECT).build();
-         Strings2.toString(view.utils().http().invoke(request).getPayload());
+         Strings2.toStringAndClose(view.utils().http().invoke(request).getPayload().openStream());
          assertConsistencyAwareContainerSize(container, 1);
 
          view.getBlobStore().removeBlob(container, name);
@@ -145,7 +145,7 @@ public class BaseBlobSignerLiveTest extends BaseBlobStoreIntegrationTest {
 
          TimeUnit.SECONDS.sleep(2 * timeout);
          try {
-            Strings2.toString(view.utils().http().invoke(request).getPayload());
+            Strings2.toStringAndClose(view.utils().http().invoke(request).getPayload().openStream());
             fail("Temporary URL did not expire as expected");
          } catch (AuthorizationException expected) {
          }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/common/azure/src/main/java/org/jclouds/azure/storage/handlers/ParseAzureStorageErrorFromXmlContent.java
----------------------------------------------------------------------
diff --git a/common/azure/src/main/java/org/jclouds/azure/storage/handlers/ParseAzureStorageErrorFromXmlContent.java b/common/azure/src/main/java/org/jclouds/azure/storage/handlers/ParseAzureStorageErrorFromXmlContent.java
index 1685ea9..ece8176 100644
--- a/common/azure/src/main/java/org/jclouds/azure/storage/handlers/ParseAzureStorageErrorFromXmlContent.java
+++ b/common/azure/src/main/java/org/jclouds/azure/storage/handlers/ParseAzureStorageErrorFromXmlContent.java
@@ -72,14 +72,14 @@ public class ParseAzureStorageErrorFromXmlContent implements HttpErrorHandler {
                   }
                } catch (RuntimeException e) {
                   try {
-                     message = Strings2.toString(response.getPayload());
+                     message = Strings2.toStringAndClose(response.getPayload().openStream());
                      exception = new HttpResponseException(command, response, message);
                   } catch (IOException e1) {
                   }
                }
             } else {
                try {
-                  message = Strings2.toString(response.getPayload());
+                  message = Strings2.toStringAndClose(response.getPayload().openStream());
                   exception = new HttpResponseException(command, response, message);
                } catch (IOException e) {
                }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/compute/src/test/java/org/jclouds/compute/StubComputeServiceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/compute/src/test/java/org/jclouds/compute/StubComputeServiceIntegrationTest.java b/compute/src/test/java/org/jclouds/compute/StubComputeServiceIntegrationTest.java
index d8887a8..9c9157b 100644
--- a/compute/src/test/java/org/jclouds/compute/StubComputeServiceIntegrationTest.java
+++ b/compute/src/test/java/org/jclouds/compute/StubComputeServiceIntegrationTest.java
@@ -391,7 +391,7 @@ public class StubComputeServiceIntegrationTest extends BaseComputeServiceLiveTes
             return actual == null;
          }
          try {
-            String real = Strings2.toString((Payload) actual);
+            String real = Strings2.toStringAndClose(((Payload) actual).openStream());
             assertEquals(real, expected);
             return true;
          } catch (IOException e) {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/core/src/main/java/org/jclouds/http/HttpResponseException.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/http/HttpResponseException.java b/core/src/main/java/org/jclouds/http/HttpResponseException.java
index a8723de..eb71002 100644
--- a/core/src/main/java/org/jclouds/http/HttpResponseException.java
+++ b/core/src/main/java/org/jclouds/http/HttpResponseException.java
@@ -84,7 +84,7 @@ public class HttpResponseException extends RuntimeException {
             && request.getPayload().getContentMetadata().getContentLength() < 1024) {
          try {
             return String.format(" [%s] ", request.getPayload() instanceof StringPayload ? request.getPayload()
-                  .getRawContent() : Strings2.toString(request.getPayload()));
+                  .getRawContent() : Strings2.toStringAndClose(request.getPayload().openStream()));
          } catch (IOException e) {
          }
       }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/core/src/main/java/org/jclouds/http/functions/ParseURIFromListOrLocationHeaderIf20x.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/http/functions/ParseURIFromListOrLocationHeaderIf20x.java b/core/src/main/java/org/jclouds/http/functions/ParseURIFromListOrLocationHeaderIf20x.java
index 8766f21..7d3e746 100644
--- a/core/src/main/java/org/jclouds/http/functions/ParseURIFromListOrLocationHeaderIf20x.java
+++ b/core/src/main/java/org/jclouds/http/functions/ParseURIFromListOrLocationHeaderIf20x.java
@@ -49,7 +49,7 @@ public class ParseURIFromListOrLocationHeaderIf20x implements Function<HttpRespo
          try {
             if (from.getPayload().getInput() == null)
                throw new HttpResponseException("no content", null, from);
-            String toParse = Strings2.toString(from.getPayload());
+            String toParse = Strings2.toStringAndClose(from.getPayload().getInput());
             return URI.create(toParse.trim());
          } catch (IOException e) {
             throw new HttpResponseException("couldn't parse uri from content", null, from, e);

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/core/src/main/java/org/jclouds/http/handlers/CloseContentAndSetExceptionErrorHandler.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/http/handlers/CloseContentAndSetExceptionErrorHandler.java b/core/src/main/java/org/jclouds/http/handlers/CloseContentAndSetExceptionErrorHandler.java
index 0d7a7ab..a3a12ad 100644
--- a/core/src/main/java/org/jclouds/http/handlers/CloseContentAndSetExceptionErrorHandler.java
+++ b/core/src/main/java/org/jclouds/http/handlers/CloseContentAndSetExceptionErrorHandler.java
@@ -34,7 +34,7 @@ public class CloseContentAndSetExceptionErrorHandler implements HttpErrorHandler
    public void handleError(HttpCommand command, HttpResponse from) {
       String content;
       try {
-         content = from.getPayload() != null ? Strings2.toString(from.getPayload()) : null;
+         content = from.getPayload() != null ? Strings2.toStringAndClose(from.getPayload().openStream()) : null;
          command.setException(new HttpResponseException(command, from, content));
       } catch (IOException e) {
          command.setException(new HttpResponseException(command, from));

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/core/src/main/java/org/jclouds/io/ByteStreams2.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/io/ByteStreams2.java b/core/src/main/java/org/jclouds/io/ByteStreams2.java
index 4f4f123..3012c91 100644
--- a/core/src/main/java/org/jclouds/io/ByteStreams2.java
+++ b/core/src/main/java/org/jclouds/io/ByteStreams2.java
@@ -28,7 +28,6 @@ import com.google.common.hash.HashingInputStream;
 import com.google.common.io.ByteSource;
 import com.google.common.io.ByteStreams;
 import com.google.common.io.Closeables;
-import com.google.common.io.InputSupplier;
 
 @Beta
 public class ByteStreams2 {
@@ -54,12 +53,12 @@ public class ByteStreams2 {
    }
 
    @Deprecated
-   public static ByteSource asByteSource(final InputSupplier<? extends InputStream> supplier) {
-      checkNotNull(supplier, "supplier");
+   public static ByteSource asByteSource(final Payload payload) {
+      checkNotNull(payload, "payload");
       return new ByteSource() {
          @Override
          public InputStream openStream() throws IOException {
-            return supplier.getInput();
+            return payload.openStream();
          }
       };
    }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/core/src/main/java/org/jclouds/io/internal/BasePayloadSlicer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/io/internal/BasePayloadSlicer.java b/core/src/main/java/org/jclouds/io/internal/BasePayloadSlicer.java
index 632ef82..198a252 100644
--- a/core/src/main/java/org/jclouds/io/internal/BasePayloadSlicer.java
+++ b/core/src/main/java/org/jclouds/io/internal/BasePayloadSlicer.java
@@ -46,7 +46,6 @@ import com.google.common.hash.HashCode;
 import com.google.common.io.ByteSource;
 import com.google.common.io.ByteStreams;
 import com.google.common.io.Files;
-import com.google.common.io.InputSupplier;
 
 @Singleton
 public class BasePayloadSlicer implements PayloadSlicer {
@@ -181,12 +180,6 @@ public class BasePayloadSlicer implements PayloadSlicer {
       return new ByteSourcePayload(content.slice(offset, length));
    }
 
-   /** @deprecated use doSlice(ByteSource) instead */
-   @Deprecated
-   protected Payload doSlice(InputSupplier<? extends InputStream> content, long offset, long length) {
-      return doSlice(ByteStreams2.asByteSource(content), offset, length);
-   }
-
    protected Payload doSlice(byte[] content, long offset, long length) {
       Payload returnVal;
       checkArgument(offset <= Integer.MAX_VALUE, "offset is too big for an array");

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/core/src/main/java/org/jclouds/util/Strings2.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/util/Strings2.java b/core/src/main/java/org/jclouds/util/Strings2.java
index afaac30..2081c3d 100644
--- a/core/src/main/java/org/jclouds/util/Strings2.java
+++ b/core/src/main/java/org/jclouds/util/Strings2.java
@@ -41,7 +41,6 @@ import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
 import com.google.common.collect.Multimap;
 import com.google.common.io.CharStreams;
-import com.google.common.io.InputSupplier;
 import com.google.common.primitives.Chars;
 
 public class Strings2 {
@@ -122,13 +121,6 @@ public class Strings2 {
       }
    }
 
-   /** @deprecated use CharSource.read() instead */
-   @Deprecated
-   public static String toString(InputSupplier<? extends InputStream> supplier)
-         throws IOException {
-      return toStringAndClose(supplier.getInput());
-   }
-
    public static String toStringAndClose(InputStream input) throws IOException {
       checkNotNull(input, "input");
       try {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/core/src/test/java/org/jclouds/http/BaseHttpCommandExecutorServiceIntegrationTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/jclouds/http/BaseHttpCommandExecutorServiceIntegrationTest.java b/core/src/test/java/org/jclouds/http/BaseHttpCommandExecutorServiceIntegrationTest.java
index e27ae4a..22ab969 100644
--- a/core/src/test/java/org/jclouds/http/BaseHttpCommandExecutorServiceIntegrationTest.java
+++ b/core/src/test/java/org/jclouds/http/BaseHttpCommandExecutorServiceIntegrationTest.java
@@ -145,7 +145,7 @@ public abstract class BaseHttpCommandExecutorServiceIntegrationTest extends Base
       try {
          HttpResponse getStringResponse = client.invoke(HttpRequest.builder().method("GET")
                .endpoint(server.getUrl("/objects").toString()).build());
-         assertEquals(Strings2.toString(getStringResponse.getPayload()).trim(), XML);
+         assertEquals(Strings2.toStringAndClose(getStringResponse.getPayload().openStream()).trim(), XML);
       } finally {
          close(client, true);
          server.shutdown();

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/core/src/test/java/org/jclouds/io/payloads/MultipartFormTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/jclouds/io/payloads/MultipartFormTest.java b/core/src/test/java/org/jclouds/io/payloads/MultipartFormTest.java
index aa62ff8..3a673e4 100644
--- a/core/src/test/java/org/jclouds/io/payloads/MultipartFormTest.java
+++ b/core/src/test/java/org/jclouds/io/payloads/MultipartFormTest.java
@@ -48,7 +48,7 @@ public class MultipartFormTest {
 
       MultipartForm multipartForm = new MultipartForm(boundary, newPart("hello"));
 
-      assertEquals(Strings2.toString(multipartForm), expects);
+      assertEquals(Strings2.toStringAndClose(multipartForm.openStream()), expects);
       assertEquals(multipartForm.getContentMetadata().getContentLength(), Long.valueOf(199));
    }
 
@@ -108,11 +108,11 @@ public class MultipartFormTest {
 
       MultipartForm multipartForm = new MultipartForm(boundary, newPart("hello"), newPart("goodbye"));
 
-      assertEquals(Strings2.toString(multipartForm), expects);
+      assertEquals(Strings2.toStringAndClose(multipartForm.openStream()), expects);
 
       // test repeatable
       assert multipartForm.isRepeatable();
-      assertEquals(Strings2.toString(multipartForm), expects);
+      assertEquals(Strings2.toStringAndClose(multipartForm.openStream()), expects);
       assertEquals(multipartForm.getContentMetadata().getContentLength(), Long.valueOf(352));
    }
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/core/src/test/java/org/jclouds/rest/internal/BaseRestApiExpectTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/jclouds/rest/internal/BaseRestApiExpectTest.java b/core/src/test/java/org/jclouds/rest/internal/BaseRestApiExpectTest.java
index dfeca27..fe09a0b 100644
--- a/core/src/test/java/org/jclouds/rest/internal/BaseRestApiExpectTest.java
+++ b/core/src/test/java/org/jclouds/rest/internal/BaseRestApiExpectTest.java
@@ -385,8 +385,8 @@ public abstract class BaseRestApiExpectTest<S> {
  
          switch (compareHttpRequestAsType(a)) {
             case XML: {
-               Diff diff = XMLUnit.compareXML(Strings2.toString(a.getPayload()), Strings2
-                        .toString(b.getPayload()));
+               Diff diff = XMLUnit.compareXML(Strings2.toStringAndClose(a.getPayload().openStream()),
+                        Strings2.toStringAndClose(b.getPayload().openStream()));
 
                // Ignoring whitespace in elements that have other children, xsi:schemaLocation and
                // differences in namespace prefixes
@@ -418,8 +418,8 @@ public abstract class BaseRestApiExpectTest<S> {
             }
             case JSON: {               
                JsonParser parser = new JsonParser();
-               JsonElement payloadA = parser.parse(Strings2.toString(a.getPayload()));
-               JsonElement payloadB = parser.parse(Strings2.toString(b.getPayload()));
+               JsonElement payloadA = parser.parse(Strings2.toStringAndClose(a.getPayload().openStream()));
+               JsonElement payloadB = parser.parse(Strings2.toStringAndClose(b.getPayload().openStream()));
                return Objects.equal(payloadA, payloadB);
             }
             default: {
@@ -487,7 +487,7 @@ public abstract class BaseRestApiExpectTest<S> {
             builder.append(header.getKey()).append(": ").append(header.getValue()).append('\n');
          }
          try {
-            builder.append('\n').append(Strings2.toString(request.getPayload()));
+            builder.append('\n').append(Strings2.toStringAndClose(request.getPayload().openStream()));
          } catch (IOException e) {
             throw Throwables.propagate(e);
          }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/core/src/test/java/org/jclouds/rest/internal/BaseRestApiTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/jclouds/rest/internal/BaseRestApiTest.java b/core/src/test/java/org/jclouds/rest/internal/BaseRestApiTest.java
index f1703b3..114bf5b 100644
--- a/core/src/test/java/org/jclouds/rest/internal/BaseRestApiTest.java
+++ b/core/src/test/java/org/jclouds/rest/internal/BaseRestApiTest.java
@@ -112,7 +112,7 @@ public abstract class BaseRestApiTest {
       } else {
          String payload = null;
          try {
-            payload = Strings2.toString(request.getPayload());
+            payload = Strings2.toStringAndClose(request.getPayload().openStream());
          } catch (IOException e) {
             propagate(e);
          }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/drivers/gae/src/test/java/org/jclouds/gae/ConvertToJcloudsResponseTest.java
----------------------------------------------------------------------
diff --git a/drivers/gae/src/test/java/org/jclouds/gae/ConvertToJcloudsResponseTest.java b/drivers/gae/src/test/java/org/jclouds/gae/ConvertToJcloudsResponseTest.java
index 7022311..b313e1c 100644
--- a/drivers/gae/src/test/java/org/jclouds/gae/ConvertToJcloudsResponseTest.java
+++ b/drivers/gae/src/test/java/org/jclouds/gae/ConvertToJcloudsResponseTest.java
@@ -97,7 +97,7 @@ public class ConvertToJcloudsResponseTest {
       replay(gaeResponse);
       HttpResponse response = req.apply(gaeResponse);
       assertEquals(response.getStatusCode(), 200);
-      assertEquals(Strings2.toString(response.getPayload()), "hello");
+      assertEquals(Strings2.toStringAndClose(response.getPayload().openStream()), "hello");
       assertEquals(response.getHeaders().size(), 0);
       assertEquals(response.getPayload().getContentMetadata().getContentType(), "text/xml");
    }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/drivers/jsch/src/test/java/org/jclouds/ssh/jsch/JschSshClientLiveTest.java
----------------------------------------------------------------------
diff --git a/drivers/jsch/src/test/java/org/jclouds/ssh/jsch/JschSshClientLiveTest.java b/drivers/jsch/src/test/java/org/jclouds/ssh/jsch/JschSshClientLiveTest.java
index d26514c..4045b52 100644
--- a/drivers/jsch/src/test/java/org/jclouds/ssh/jsch/JschSshClientLiveTest.java
+++ b/drivers/jsch/src/test/java/org/jclouds/ssh/jsch/JschSshClientLiveTest.java
@@ -162,7 +162,7 @@ public class JschSshClientLiveTest {
          SshClient client = setupClient();
          client.put(temp.getAbsolutePath(), Payloads.newStringPayload("rabbit"));
          Payload input = setupClient().get(temp.getAbsolutePath());
-         String contents = Strings2.toString(input);
+         String contents = Strings2.toStringAndClose(input.openStream());
          assertEquals(contents, "rabbit");
       } finally {
          temp.delete();
@@ -172,7 +172,7 @@ public class JschSshClientLiveTest {
    @Test
    public void testGetEtcPassword() throws IOException {
       Payload input = setupClient().get("/etc/passwd");
-      String contents = Strings2.toString(input);
+      String contents = Strings2.toStringAndClose(input.openStream());
       assert contents.indexOf("root") >= 0 : "no root in " + contents;
    }
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/drivers/sshj/src/test/java/org/jclouds/sshj/SshjSshClientLiveTest.java
----------------------------------------------------------------------
diff --git a/drivers/sshj/src/test/java/org/jclouds/sshj/SshjSshClientLiveTest.java b/drivers/sshj/src/test/java/org/jclouds/sshj/SshjSshClientLiveTest.java
index 8d89fb0..eabe3f0 100644
--- a/drivers/sshj/src/test/java/org/jclouds/sshj/SshjSshClientLiveTest.java
+++ b/drivers/sshj/src/test/java/org/jclouds/sshj/SshjSshClientLiveTest.java
@@ -149,7 +149,7 @@ public class SshjSshClientLiveTest {
          SshClient client = setupClient();
          client.put(temp.getAbsolutePath(), Payloads.newStringPayload("rabbit"));
          Payload input = client.get(temp.getAbsolutePath());
-         String contents = Strings2.toString(input);
+         String contents = Strings2.toStringAndClose(input.openStream());
          assertEquals(contents, "rabbit");
       } finally {
          temp.delete();
@@ -158,7 +158,7 @@ public class SshjSshClientLiveTest {
 
    public void testGetEtcPassword() throws IOException {
       Payload input = setupClient().get("/etc/passwd");
-      String contents = Strings2.toString(input);
+      String contents = Strings2.toStringAndClose(input.openStream());
       assert contents.indexOf("root") >= 0 : "no root in " + contents;
    }
 

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/providers/azureblob/src/test/java/org/jclouds/azureblob/AzureBlobClientLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/azureblob/src/test/java/org/jclouds/azureblob/AzureBlobClientLiveTest.java b/providers/azureblob/src/test/java/org/jclouds/azureblob/AzureBlobClientLiveTest.java
index 3519366..836d7de 100644
--- a/providers/azureblob/src/test/java/org/jclouds/azureblob/AzureBlobClientLiveTest.java
+++ b/providers/azureblob/src/test/java/org/jclouds/azureblob/AzureBlobClientLiveTest.java
@@ -265,7 +265,7 @@ public class AzureBlobClientLiveTest extends BaseBlobStoreIntegrationTest {
 
       // Test GET of object (including updated metadata)
       AzureBlob getBlob = getApi().getBlob(privateContainer, object.getProperties().getName());
-      assertEquals(Strings2.toString(getBlob.getPayload()), data);
+      assertEquals(Strings2.toStringAndClose(getBlob.getPayload().openStream()), data);
       // TODO assertEquals(getBlob.getName(), object.getProperties().getName());
       assertEquals(getBlob.getPayload().getContentMetadata().getContentLength(), Long.valueOf(data.length()));
       assertEquals(getBlob.getProperties().getContentMetadata().getContentType(), "text/plain");

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/providers/glesys/src/main/java/org/jclouds/glesys/handlers/GleSYSErrorHandler.java
----------------------------------------------------------------------
diff --git a/providers/glesys/src/main/java/org/jclouds/glesys/handlers/GleSYSErrorHandler.java b/providers/glesys/src/main/java/org/jclouds/glesys/handlers/GleSYSErrorHandler.java
index d129de6..469e6e5 100644
--- a/providers/glesys/src/main/java/org/jclouds/glesys/handlers/GleSYSErrorHandler.java
+++ b/providers/glesys/src/main/java/org/jclouds/glesys/handlers/GleSYSErrorHandler.java
@@ -78,7 +78,7 @@ public class GleSYSErrorHandler implements HttpErrorHandler {
       if (response.getPayload() == null)
          return null;
       try {
-         return Strings2.toString(response.getPayload());
+         return Strings2.toStringAndClose(response.getPayload().openStream());
       } catch (IOException e) {
          throw new RuntimeException(e);
       } finally {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/fb60d767/providers/softlayer/src/main/java/org/jclouds/softlayer/handlers/SoftLayerErrorHandler.java
----------------------------------------------------------------------
diff --git a/providers/softlayer/src/main/java/org/jclouds/softlayer/handlers/SoftLayerErrorHandler.java b/providers/softlayer/src/main/java/org/jclouds/softlayer/handlers/SoftLayerErrorHandler.java
index d231bc8..54aa947 100644
--- a/providers/softlayer/src/main/java/org/jclouds/softlayer/handlers/SoftLayerErrorHandler.java
+++ b/providers/softlayer/src/main/java/org/jclouds/softlayer/handlers/SoftLayerErrorHandler.java
@@ -74,7 +74,7 @@ public class SoftLayerErrorHandler implements HttpErrorHandler {
       if (response.getPayload() == null)
          return null;
       try {
-         return Strings2.toString(response.getPayload());
+         return Strings2.toStringAndClose(response.getPayload().openStream());
       } catch (IOException e) {
          throw new RuntimeException(e);
       } finally {