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

git commit: Rather desperate attempt to get type parameter substitution with bounds working

Updated Branches:
  refs/heads/JCLOUDS-427 efa01315f -> f02fe6e23


Rather desperate attempt to get type parameter substitution with bounds working


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

Branch: refs/heads/JCLOUDS-427
Commit: f02fe6e23d3293358f7a306295a10eb11981dc8a
Parents: efa0131
Author: Andrew Phillips <an...@apache.org>
Authored: Thu Jan 23 01:56:59 2014 -0500
Committer: Andrew Phillips <an...@apache.org>
Committed: Thu Jan 23 01:56:59 2014 -0500

----------------------------------------------------------------------
 core/src/main/java/org/jclouds/internal/BaseView.java | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/f02fe6e2/core/src/main/java/org/jclouds/internal/BaseView.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/internal/BaseView.java b/core/src/main/java/org/jclouds/internal/BaseView.java
index 092fa22..9a7f431 100644
--- a/core/src/main/java/org/jclouds/internal/BaseView.java
+++ b/core/src/main/java/org/jclouds/internal/BaseView.java
@@ -70,12 +70,14 @@ public abstract class BaseView extends ForwardingObject implements View {
    public <A extends Closeable> A unwrapApi(Class<A> apiClass) {
       checkArgument(ApiContext.class.isAssignableFrom(backendType.getRawType()),
             "backend type: %s should be an ApiContext", backendType);
+      TypeToken<A> zero = new TypeToken<A>(delegate().getClass()) {
+      }.where(new TypeParameter<A>() {
+      }, TypeToken.of(apiClass));
+      System.out.println("**** zero: " + zero);
       TypeToken<ApiContext<? extends A>> contextToken = new TypeToken<ApiContext<? extends A>>(delegate().getClass()) {
          private static final long serialVersionUID = 1L;
-      };
-      System.out.println("**** first: " + contextToken);
-      contextToken = contextToken.where(new TypeParameter<A>() {
-      }, TypeToken.of(apiClass));
+      }.where(new TypeParameter<A>() {
+      }, zero);
       System.out.println("**** after: " + contextToken);
       return unwrap(contextToken).getApi();
    }