You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2016/10/25 13:27:12 UTC

[1/3] jclouds git commit: Resource management moved to the caller

Repository: jclouds
Updated Branches:
  refs/heads/master 37101b782 -> 06b69ffed


Resource management moved to the caller


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

Branch: refs/heads/master
Commit: cfe22389a8d85d82401c4f7feb362ac4ab383328
Parents: a43acaf
Author: Ignasi Barrera <na...@apache.org>
Authored: Mon Oct 24 10:40:34 2016 +0200
Committer: Ignasi Barrera <na...@apache.org>
Committed: Tue Oct 25 15:19:20 2016 +0200

----------------------------------------------------------------------
 .../org/jclouds/json/internal/GsonWrapper.java     | 17 ++---------------
 1 file changed, 2 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/cfe22389/core/src/main/java/org/jclouds/json/internal/GsonWrapper.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/json/internal/GsonWrapper.java b/core/src/main/java/org/jclouds/json/internal/GsonWrapper.java
index 59ef71a..9361972 100644
--- a/core/src/main/java/org/jclouds/json/internal/GsonWrapper.java
+++ b/core/src/main/java/org/jclouds/json/internal/GsonWrapper.java
@@ -16,11 +16,8 @@
  */
 package org.jclouds.json.internal;
 
-import static org.jclouds.util.Closeables2.closeQuietly;
-
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.io.Reader;
 import java.lang.reflect.Type;
 
 import javax.inject.Inject;
@@ -55,22 +52,12 @@ public class GsonWrapper extends ForwardingObject implements Json  {
    @SuppressWarnings("unchecked")
    @Override
    public <T> T fromJson(InputStream json, Type type) {
-      Reader reader = new InputStreamReader(json);
-      try {
-         return (T) gson.fromJson(reader, type);
-      } finally {
-         closeQuietly(reader);
-      }
+      return (T) gson.fromJson(new InputStreamReader(json), type);
    }
 
    @Override
    public <T> T fromJson(InputStream json, Class<T> classOfT) {
-      Reader reader = new InputStreamReader(json);
-      try {
-         return gson.fromJson(reader, classOfT);
-      } finally {
-         closeQuietly(reader);
-      }
+      return gson.fromJson(new InputStreamReader(json), classOfT);
    }
 
    @Override


[2/3] jclouds git commit: JCLOUDS-1187: Do not load Json payloads to memory when serializing objects

Posted by na...@apache.org.
JCLOUDS-1187: Do not load Json payloads to memory when serializing objects


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

Branch: refs/heads/master
Commit: a43acaffce0cc04e05c15c55bd94cadcd55843f1
Parents: 37101b7
Author: Ignasi Barrera <na...@apache.org>
Authored: Sun Oct 23 19:27:35 2016 +0200
Committer: Ignasi Barrera <na...@apache.org>
Committed: Tue Oct 25 15:19:20 2016 +0200

----------------------------------------------------------------------
 .../org/jclouds/http/functions/ParseJson.java   |  5 ++--
 core/src/main/java/org/jclouds/io/Payload.java  |  2 +-
 core/src/main/java/org/jclouds/json/Json.java   | 13 ++++++++++
 .../org/jclouds/json/internal/GsonWrapper.java  | 26 ++++++++++++++++++++
 4 files changed, 42 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/a43acaff/core/src/main/java/org/jclouds/http/functions/ParseJson.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/http/functions/ParseJson.java b/core/src/main/java/org/jclouds/http/functions/ParseJson.java
index 58457ed..9b5d414 100644
--- a/core/src/main/java/org/jclouds/http/functions/ParseJson.java
+++ b/core/src/main/java/org/jclouds/http/functions/ParseJson.java
@@ -30,7 +30,6 @@ import org.jclouds.http.HttpResponse;
 import org.jclouds.http.HttpResponseException;
 import org.jclouds.json.Json;
 import org.jclouds.logging.Logger;
-import org.jclouds.util.Strings2;
 
 import com.google.common.base.Function;
 import com.google.inject.TypeLiteral;
@@ -57,8 +56,8 @@ public class ParseJson<T> implements Function<HttpResponse, T> {
     * parses the http response body to create a new {@code <T>}.
     */
    public T apply(HttpResponse from) {
-      InputStream gson = from.getPayload().getInput();
       try {
+         InputStream gson = from.getPayload().openStream();
          return apply(gson);
       } catch (Exception e) {
          StringBuilder message = new StringBuilder();
@@ -80,7 +79,7 @@ public class ParseJson<T> implements Function<HttpResponse, T> {
    @SuppressWarnings("unchecked")
    public <V> V apply(InputStream stream, Type type) throws IOException {
       try {
-         return (V) json.fromJson(Strings2.toStringAndClose(stream), type);
+         return (V) json.fromJson(stream, type);
       } finally {
          if (stream != null)
             stream.close();

http://git-wip-us.apache.org/repos/asf/jclouds/blob/a43acaff/core/src/main/java/org/jclouds/io/Payload.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/io/Payload.java b/core/src/main/java/org/jclouds/io/Payload.java
index 4754f33..543c3d7 100644
--- a/core/src/main/java/org/jclouds/io/Payload.java
+++ b/core/src/main/java/org/jclouds/io/Payload.java
@@ -30,7 +30,7 @@ public interface Payload extends Closeable {
    /**
     * Creates a new InputStream object of the payload.
     *
-    * @deprecated see openStream
+    * @deprecated see {@link Payload#openStream()}.
     */
    @Deprecated
    InputStream getInput();

http://git-wip-us.apache.org/repos/asf/jclouds/blob/a43acaff/core/src/main/java/org/jclouds/json/Json.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/json/Json.java b/core/src/main/java/org/jclouds/json/Json.java
index 53e555d..35b2a14 100644
--- a/core/src/main/java/org/jclouds/json/Json.java
+++ b/core/src/main/java/org/jclouds/json/Json.java
@@ -16,6 +16,7 @@
  */
 package org.jclouds.json;
 
+import java.io.InputStream;
 import java.lang.reflect.Type;
 
 public interface Json {
@@ -42,5 +43,17 @@ public interface Json {
     * {@link #fromJson(Object, Type)}
     */
    <T> T fromJson(String json, Class<T> classOfT);
+   
+   /**
+    * Deserialize the generic object from json. If the object is not a generic type, use
+    * {@link #fromJson(Object, Class)}
+    */
+   <T> T fromJson(InputStream json, Type type);
+
+   /**
+    * Deserialize the object from json. If the object is a generic type, use
+    * {@link #fromJson(Object, Type)}
+    */
+   <T> T fromJson(InputStream json, Class<T> classOfT);
 
 }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/a43acaff/core/src/main/java/org/jclouds/json/internal/GsonWrapper.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/json/internal/GsonWrapper.java b/core/src/main/java/org/jclouds/json/internal/GsonWrapper.java
index 6f45df1..59ef71a 100644
--- a/core/src/main/java/org/jclouds/json/internal/GsonWrapper.java
+++ b/core/src/main/java/org/jclouds/json/internal/GsonWrapper.java
@@ -16,6 +16,11 @@
  */
 package org.jclouds.json.internal;
 
+import static org.jclouds.util.Closeables2.closeQuietly;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
 import java.lang.reflect.Type;
 
 import javax.inject.Inject;
@@ -46,6 +51,27 @@ public class GsonWrapper extends ForwardingObject implements Json  {
    public <T> T fromJson(String json, Class<T> classOfT) {
       return gson.fromJson(json, classOfT);
    }
+   
+   @SuppressWarnings("unchecked")
+   @Override
+   public <T> T fromJson(InputStream json, Type type) {
+      Reader reader = new InputStreamReader(json);
+      try {
+         return (T) gson.fromJson(reader, type);
+      } finally {
+         closeQuietly(reader);
+      }
+   }
+
+   @Override
+   public <T> T fromJson(InputStream json, Class<T> classOfT) {
+      Reader reader = new InputStreamReader(json);
+      try {
+         return gson.fromJson(reader, classOfT);
+      } finally {
+         closeQuietly(reader);
+      }
+   }
 
    @Override
    public String toJson(Object src) {


[3/3] jclouds git commit: Fix AWS EC2 compute live tests

Posted by na...@apache.org.
Fix AWS EC2 compute live tests


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

Branch: refs/heads/master
Commit: 06b69ffed436818e2a4e51e50b7634765908afab
Parents: cfe2238
Author: Ignasi Barrera <na...@apache.org>
Authored: Sun Oct 23 19:25:26 2016 +0200
Committer: Ignasi Barrera <na...@apache.org>
Committed: Tue Oct 25 15:19:50 2016 +0200

----------------------------------------------------------------------
 .../compute/internal/BaseComputeServiceLiveTest.java    |  2 +-
 .../aws/ec2/compute/AWSEC2ComputeServiceLiveTest.java   | 12 ------------
 .../aws/ec2/compute/AWSEC2TemplateBuilderLiveTest.java  |  2 +-
 3 files changed, 2 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/06b69ffe/compute/src/test/java/org/jclouds/compute/internal/BaseComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/compute/src/test/java/org/jclouds/compute/internal/BaseComputeServiceLiveTest.java b/compute/src/test/java/org/jclouds/compute/internal/BaseComputeServiceLiveTest.java
index 0b53e63..f8d9154 100644
--- a/compute/src/test/java/org/jclouds/compute/internal/BaseComputeServiceLiveTest.java
+++ b/compute/src/test/java/org/jclouds/compute/internal/BaseComputeServiceLiveTest.java
@@ -679,7 +679,7 @@ public abstract class BaseComputeServiceLiveTest extends BaseComputeServiceConte
       }
    }
 
-   @Test(enabled = true, dependsOnMethods = { "testListNodes", "testGetNodesWithDetails", "testListNodesByIds" })
+   @Test(enabled = true, alwaysRun = true, dependsOnMethods = { "testListNodes", "testGetNodesWithDetails", "testListNodesByIds" })
    public void testDestroyNodes() {
       int toDestroy = refreshNodes().size();
       Set<? extends NodeMetadata> destroyed = client.destroyNodesMatching(inGroup(group));

http://git-wip-us.apache.org/repos/asf/jclouds/blob/06b69ffe/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2ComputeServiceLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2ComputeServiceLiveTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2ComputeServiceLiveTest.java
index b2a4780..3ac06b7 100644
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2ComputeServiceLiveTest.java
+++ b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2ComputeServiceLiveTest.java
@@ -17,7 +17,6 @@
 package org.jclouds.aws.ec2.compute;
 
 import static com.google.common.collect.Iterables.getOnlyElement;
-import static com.google.common.collect.Sets.newTreeSet;
 import static org.jclouds.compute.domain.OsFamily.AMZN_LINUX;
 import static org.jclouds.compute.options.RunScriptOptions.Builder.runAsRoot;
 import static org.jclouds.compute.util.ComputeServiceUtils.getCores;
@@ -49,7 +48,6 @@ import org.jclouds.compute.predicates.NodePredicates;
 import org.jclouds.domain.LoginCredentials;
 import org.jclouds.ec2.compute.EC2ComputeServiceLiveTest;
 import org.jclouds.ec2.domain.KeyPair;
-import org.jclouds.ec2.domain.SecurityGroup;
 import org.jclouds.ec2.features.InstanceApi;
 import org.jclouds.ec2.features.KeyPairApi;
 import org.jclouds.net.domain.IpProtocol;
@@ -58,7 +56,6 @@ import org.testng.annotations.Test;
 
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSortedSet;
 import com.google.common.util.concurrent.ListenableFuture;
 
 @Test(groups = "live", singleThreaded = true, testName = "AWSEC2ComputeServiceLiveTest")
@@ -173,15 +170,6 @@ public class AWSEC2ComputeServiceLiveTest extends EC2ComputeServiceLiveTest {
             monitoringApi.close();
          }
 
-         // make sure we made our dummy group and also let in the user's group
-         assertEquals(newTreeSet(instance.getGroupNames()), ImmutableSortedSet.<String> of("jclouds#" + group, group));
-
-         // make sure our dummy group has no rules
-         SecurityGroup secgroup = getOnlyElement(securityGroupApi.describeSecurityGroupsInRegion(instance
-                  .getRegion(), "jclouds#" + group));
-
-         assert secgroup.size() == 0 : secgroup;
-
          // try to run a script with the original keyPair
          runScriptWithCreds(group, first.getOperatingSystem(), LoginCredentials.builder().user(
                   first.getCredentials().identity).privateKey(result.getKeyMaterial()).build());

http://git-wip-us.apache.org/repos/asf/jclouds/blob/06b69ffe/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2TemplateBuilderLiveTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2TemplateBuilderLiveTest.java b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2TemplateBuilderLiveTest.java
index 0be65f9..216b2d9 100644
--- a/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2TemplateBuilderLiveTest.java
+++ b/providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2TemplateBuilderLiveTest.java
@@ -353,7 +353,7 @@ public class AWSEC2TemplateBuilderLiveTest extends EC2TemplateBuilderLiveTest {
 
    @Override
    protected Set<String> getIso3166Codes() {
-      return ImmutableSet.of("US-VA", "US-CA", "US-OR", "BR-SP", "IE", "DE-HE", "SG", "AU-NSW", "JP-13");
+      return ImmutableSet.of("US-VA", "US-CA", "US-OR", "BR-SP", "IE", "DE-HE", "SG", "AU-NSW", "IN-MH", "JP-13", "KR-11");
    }
 
 }