Repository: jclouds-labs Updated Branches: refs/heads/1.8.x 6cfb43514 -> 8798b4d51
JCLOUDS-534 Avoid runtime incompatibility introduced by Guava's closeQuietly. Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/8798b4d5 Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/8798b4d5 Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/8798b4d5 Branch: refs/heads/1.8.x Commit: 8798b4d5190ecc014bf8b3717d8026de1817cf18 Parents: 6cfb435 Author: Adrian Cole <[email protected]> Authored: Mon Oct 27 09:04:50 2014 -0700 Committer: Adrian Cole <[email protected]> Committed: Wed Oct 29 18:43:43 2014 -0700 ---------------------------------------------------------------------- .../jclouds/abiquo/handlers/AbiquoErrorHandler.java | 13 +++---------- .../v1/features/DataNonCDMIContentTypeApiLiveTest.java | 8 ++++---- .../cloudsigma2/handlers/CloudSigmaErrorHandler.java | 10 +++------- ...nseStatusFromPayloadHttpCommandExecutorService.java | 4 ++-- .../jclouds/docker/handlers/DockerErrorHandler.java | 10 +++------- .../jclouds/docker/compute/BaseDockerApiLiveTest.java | 10 +++++++++- .../java/org/jclouds/management/JcloudsManagement.java | 4 ++-- 7 files changed, 26 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/8798b4d5/abiquo/src/main/java/org/jclouds/abiquo/handlers/AbiquoErrorHandler.java ---------------------------------------------------------------------- diff --git a/abiquo/src/main/java/org/jclouds/abiquo/handlers/AbiquoErrorHandler.java b/abiquo/src/main/java/org/jclouds/abiquo/handlers/AbiquoErrorHandler.java index ecef5f7..e82910e 100644 --- a/abiquo/src/main/java/org/jclouds/abiquo/handlers/AbiquoErrorHandler.java +++ b/abiquo/src/main/java/org/jclouds/abiquo/handlers/AbiquoErrorHandler.java @@ -16,10 +16,8 @@ */ package org.jclouds.abiquo.handlers; -import static com.google.common.base.Throwables.propagate; import static javax.ws.rs.core.Response.Status.fromStatusCode; - -import java.io.IOException; +import static org.jclouds.util.Closeables2.closeQuietly; import javax.inject.Inject; import javax.inject.Singleton; @@ -34,7 +32,6 @@ import org.jclouds.rest.AuthorizationException; import org.jclouds.rest.ResourceNotFoundException; import com.abiquo.model.transport.error.ErrorsDto; -import com.google.common.io.Closeables; /** * Parse Abiquo API errors and set the appropriate exception. @@ -81,12 +78,8 @@ public class AbiquoErrorHandler implements HttpErrorHandler { break; } } finally { - try { - Closeables.close(response.getPayload(), true); - command.setException(exception); - } catch (IOException e) { - throw propagate(e); - } + closeQuietly(response.getPayload()); + command.setException(exception); } } http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/8798b4d5/cdmi/src/test/java/org/jclouds/snia/cdmi/v1/features/DataNonCDMIContentTypeApiLiveTest.java ---------------------------------------------------------------------- diff --git a/cdmi/src/test/java/org/jclouds/snia/cdmi/v1/features/DataNonCDMIContentTypeApiLiveTest.java b/cdmi/src/test/java/org/jclouds/snia/cdmi/v1/features/DataNonCDMIContentTypeApiLiveTest.java index fa6a422..e82cf98 100644 --- a/cdmi/src/test/java/org/jclouds/snia/cdmi/v1/features/DataNonCDMIContentTypeApiLiveTest.java +++ b/cdmi/src/test/java/org/jclouds/snia/cdmi/v1/features/DataNonCDMIContentTypeApiLiveTest.java @@ -16,6 +16,7 @@ */ package org.jclouds.snia.cdmi.v1.features; +import static org.jclouds.util.Closeables2.closeQuietly; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; @@ -43,7 +44,6 @@ import org.testng.annotations.Test; import com.google.common.base.Charsets; import com.google.common.collect.Maps; import com.google.common.io.ByteSource; -import com.google.common.io.Closeables; import com.google.common.io.Files; import com.google.common.net.MediaType; @@ -179,7 +179,7 @@ public class DataNonCDMIContentTypeApiLiveTest extends BaseCDMIApiLiveTest { try { Files.asByteSink(tmpFileOut).writeFrom(is); } finally { - Closeables.closeQuietly(is); + closeQuietly(is); } assertEquals(Files.equal(tmpFileOut, tmpFileIn), true); tmpFileOut.delete(); @@ -232,7 +232,7 @@ public class DataNonCDMIContentTypeApiLiveTest extends BaseCDMIApiLiveTest { try { Files.asByteSink(tmpFileOut).writeFrom(is); } finally { - Closeables.closeQuietly(is); + closeQuietly(is); } assertEquals(Files.equal(tmpFileOut, inFile), true); tmpFileOut.delete(); @@ -285,7 +285,7 @@ public class DataNonCDMIContentTypeApiLiveTest extends BaseCDMIApiLiveTest { try { Files.asByteSink(tmpFileOut).writeFrom(is); } finally { - Closeables.closeQuietly(is); + closeQuietly(is); } assertEquals(Files.equal(tmpFileOut, inFile), true); tmpFileOut.delete(); http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/8798b4d5/cloudsigma2/src/main/java/org/jclouds/cloudsigma2/handlers/CloudSigmaErrorHandler.java ---------------------------------------------------------------------- diff --git a/cloudsigma2/src/main/java/org/jclouds/cloudsigma2/handlers/CloudSigmaErrorHandler.java b/cloudsigma2/src/main/java/org/jclouds/cloudsigma2/handlers/CloudSigmaErrorHandler.java index f41e865..abf8e77 100644 --- a/cloudsigma2/src/main/java/org/jclouds/cloudsigma2/handlers/CloudSigmaErrorHandler.java +++ b/cloudsigma2/src/main/java/org/jclouds/cloudsigma2/handlers/CloudSigmaErrorHandler.java @@ -16,6 +16,8 @@ */ package org.jclouds.cloudsigma2.handlers; +import static org.jclouds.util.Closeables2.closeQuietly; + import java.io.IOException; import javax.annotation.Resource; @@ -31,7 +33,6 @@ import org.jclouds.rest.ResourceNotFoundException; import org.jclouds.util.Strings2; import com.google.common.base.Throwables; -import com.google.common.io.Closeables; /** * This will parse and set an appropriate exception on the command object. @@ -82,12 +83,7 @@ public class CloudSigmaErrorHandler implements HttpErrorHandler { break; } } finally { - try { - Closeables.close(response.getPayload(), true); - } catch (IOException e) { - // This code will never be reached - throw Throwables.propagate(e); - } + closeQuietly(response.getPayload()); command.setException(exception); } } http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/8798b4d5/digitalocean/src/main/java/org/jclouds/digitalocean/http/ResponseStatusFromPayloadHttpCommandExecutorService.java ---------------------------------------------------------------------- diff --git a/digitalocean/src/main/java/org/jclouds/digitalocean/http/ResponseStatusFromPayloadHttpCommandExecutorService.java b/digitalocean/src/main/java/org/jclouds/digitalocean/http/ResponseStatusFromPayloadHttpCommandExecutorService.java index e8b111a..997709c 100644 --- a/digitalocean/src/main/java/org/jclouds/digitalocean/http/ResponseStatusFromPayloadHttpCommandExecutorService.java +++ b/digitalocean/src/main/java/org/jclouds/digitalocean/http/ResponseStatusFromPayloadHttpCommandExecutorService.java @@ -17,8 +17,8 @@ package org.jclouds.digitalocean.http; import static com.google.common.base.Preconditions.checkNotNull; -import static com.google.common.io.Closeables.close; import static org.jclouds.io.Payloads.newInputStreamPayload; +import static org.jclouds.util.Closeables2.closeQuietly; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -94,7 +94,7 @@ public class ResponseStatusFromPayloadHttpCommandExecutorService extends JavaUrl try { in = new ByteArrayInputStream(ByteStreams.toByteArray(originalInputStream)); } finally { - close(originalInputStream, true); + closeQuietly(originalInputStream); } } http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/8798b4d5/docker/src/main/java/org/jclouds/docker/handlers/DockerErrorHandler.java ---------------------------------------------------------------------- diff --git a/docker/src/main/java/org/jclouds/docker/handlers/DockerErrorHandler.java b/docker/src/main/java/org/jclouds/docker/handlers/DockerErrorHandler.java index 72d3069..a319014 100644 --- a/docker/src/main/java/org/jclouds/docker/handlers/DockerErrorHandler.java +++ b/docker/src/main/java/org/jclouds/docker/handlers/DockerErrorHandler.java @@ -16,6 +16,8 @@ */ package org.jclouds.docker.handlers; +import static org.jclouds.util.Closeables2.closeQuietly; + import java.io.IOException; import javax.annotation.Resource; @@ -30,7 +32,6 @@ import org.jclouds.rest.ResourceNotFoundException; import org.jclouds.util.Strings2; import com.google.common.base.Throwables; -import com.google.common.io.Closeables; /** * This will parse and set an appropriate exception on the command object. @@ -80,12 +81,7 @@ public class DockerErrorHandler implements HttpErrorHandler { break; } } finally { - try { - Closeables.close(response.getPayload(), true); - } catch (IOException e) { - // This code will never be reached - throw Throwables.propagate(e); - } + closeQuietly(response.getPayload()); command.setException(exception); } } http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/8798b4d5/docker/src/test/java/org/jclouds/docker/compute/BaseDockerApiLiveTest.java ---------------------------------------------------------------------- diff --git a/docker/src/test/java/org/jclouds/docker/compute/BaseDockerApiLiveTest.java b/docker/src/test/java/org/jclouds/docker/compute/BaseDockerApiLiveTest.java index 77115f2..db835f8 100644 --- a/docker/src/test/java/org/jclouds/docker/compute/BaseDockerApiLiveTest.java +++ b/docker/src/test/java/org/jclouds/docker/compute/BaseDockerApiLiveTest.java @@ -65,9 +65,17 @@ public class BaseDockerApiLiveTest extends BaseApiLiveTest<DockerApi> { String result = null; try { result = CharStreams.toString(new InputStreamReader(stream, Charsets.UTF_8)); - Closeables.close(stream, swallowIOException); } catch (IOException e) { Assert.fail(); + } finally { + // TODO: remove swallowIOException over-optimization and just use Closeables2.closeQuietly + try { + stream.close(); + } catch (IOException e) { + if (!swallowIOException) { + throw new RuntimeException(e); + } + } } return result; } http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/8798b4d5/jclouds-management/management-core/src/main/java/org/jclouds/management/JcloudsManagement.java ---------------------------------------------------------------------- diff --git a/jclouds-management/management-core/src/main/java/org/jclouds/management/JcloudsManagement.java b/jclouds-management/management-core/src/main/java/org/jclouds/management/JcloudsManagement.java index 3ced9fd..22588cc 100644 --- a/jclouds-management/management-core/src/main/java/org/jclouds/management/JcloudsManagement.java +++ b/jclouds-management/management-core/src/main/java/org/jclouds/management/JcloudsManagement.java @@ -19,12 +19,12 @@ package org.jclouds.management; import com.google.common.base.Charsets; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; -import com.google.common.io.Closeables; import org.jclouds.ContextBuilder; import org.jclouds.apis.Apis; import org.jclouds.codec.ToApiMetadata; import org.jclouds.codec.ToContext; import org.jclouds.codec.ToProvider; +import org.jclouds.util.Closeables2; import org.jclouds.javax.annotation.Nullable; import org.jclouds.management.config.ManagementLifecycle; import org.jclouds.management.internal.BaseManagementContext; @@ -119,7 +119,7 @@ public class JcloudsManagement implements JcloudsManagementMBean, ManagedBean { bis = new ByteArrayInputStream(input.getBytes(Charsets.UTF_8)); properties.load(bis); } finally { - Closeables.close(bis, true); + Closeables2.closeQuietly(bis); } } return properties;
