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;

Reply via email to