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();
}