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/24 21:19:49 UTC
git commit: Doh! Fixup...
Updated Branches:
refs/heads/JCLOUDS-427-1.6.x 30dfdab77 -> 47a6fa967
Doh! Fixup...
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/47a6fa96
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/47a6fa96
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/47a6fa96
Branch: refs/heads/JCLOUDS-427-1.6.x
Commit: 47a6fa967d3e26aa97c5af517c9b5cec21266f89
Parents: 30dfdab
Author: Andrew Phillips <an...@apache.org>
Authored: Fri Jan 24 15:19:02 2014 -0500
Committer: Andrew Phillips <an...@apache.org>
Committed: Fri Jan 24 15:19:02 2014 -0500
----------------------------------------------------------------------
core/src/main/java/org/jclouds/util/TypeToken2.java | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/47a6fa96/core/src/main/java/org/jclouds/util/TypeToken2.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/jclouds/util/TypeToken2.java b/core/src/main/java/org/jclouds/util/TypeToken2.java
index d63ea0e..16a2f7d 100644
--- a/core/src/main/java/org/jclouds/util/TypeToken2.java
+++ b/core/src/main/java/org/jclouds/util/TypeToken2.java
@@ -73,15 +73,20 @@ public class TypeToken2<T> extends TypeToken<T> {
} catch (NoSuchFieldException exception) {
// should never happen
throw new IllegalStateException(exception);
+ } catch (NoSuchMethodException exception) {
+ // should never happen
+ throw new IllegalStateException(exception);
}
return (TypeToken<T>) TypeToken.of(resolvedType);
}
- private static Object newTypeResolver() throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
- TypeToken<?> anyToken = TypeToken.of(Object.class);
+ private static Object newTypeResolver() throws SecurityException, NoSuchFieldException,
+ IllegalArgumentException, IllegalAccessException, InvocationTargetException,
+ NoSuchMethodException {
Field typeResolverField = TypeToken.class.getDeclaredField("typeResolver");
- typeResolverField.setAccessible(true);
- return typeResolverField.get(anyToken).getClass();
+ Invokable<?, ?> typeResolverContrucutor =
+ Invokable.from(typeResolverField.getType().getConstructor());
+ return typeResolverContrucutor.invoke(null);
}
public <X, Y> TypeToken<T> where(TypeParameter2<X> typeParam1, Class<X> typeArg1,