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,