You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2014/07/09 23:46:34 UTC

[21/50] git commit: fix NPE in BrooklynYamlTypeInstantiatorTest (supertype is null)

fix NPE in BrooklynYamlTypeInstantiatorTest (supertype is null)


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/75ed2ae7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/75ed2ae7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/75ed2ae7

Branch: refs/heads/master
Commit: 75ed2ae7c2d15ed30c7a67f5efd1c8524d093d3e
Parents: 0d0f712
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Tue Jul 8 05:40:40 2014 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Wed Jul 9 22:34:44 2014 +0100

----------------------------------------------------------------------
 .../classloading/BrooklynClassLoadingContext.java       |  6 ++++--
 .../AbstractBrooklynClassLoadingContext.java            | 12 +++++++-----
 2 files changed, 11 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/75ed2ae7/api/src/main/java/brooklyn/management/classloading/BrooklynClassLoadingContext.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/brooklyn/management/classloading/BrooklynClassLoadingContext.java b/api/src/main/java/brooklyn/management/classloading/BrooklynClassLoadingContext.java
index e1ba3b5..290876b 100644
--- a/api/src/main/java/brooklyn/management/classloading/BrooklynClassLoadingContext.java
+++ b/api/src/main/java/brooklyn/management/classloading/BrooklynClassLoadingContext.java
@@ -1,5 +1,7 @@
 package brooklyn.management.classloading;
 
+import javax.annotation.Nullable;
+
 import brooklyn.management.ManagementContext;
 import brooklyn.util.guava.Maybe;
 
@@ -11,9 +13,9 @@ public interface BrooklynClassLoadingContext {
 
     public ManagementContext getManagementContext();
     public Class<?> loadClass(String className);
-    public <T> Class<? extends T> loadClass(String className, Class<T> type);
+    public <T> Class<? extends T> loadClass(String className, @Nullable Class<T> supertype);
     
     public Maybe<Class<?>> tryLoadClass(String className);
-    public <T> Maybe<Class<? extends T>> tryLoadClass(String className, Class<T> type);
+    public <T> Maybe<Class<? extends T>> tryLoadClass(String className, @Nullable Class<T> supertype);
     
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/75ed2ae7/core/src/main/java/brooklyn/management/classloading/AbstractBrooklynClassLoadingContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/classloading/AbstractBrooklynClassLoadingContext.java b/core/src/main/java/brooklyn/management/classloading/AbstractBrooklynClassLoadingContext.java
index dcf4437..fe1b45e 100644
--- a/core/src/main/java/brooklyn/management/classloading/AbstractBrooklynClassLoadingContext.java
+++ b/core/src/main/java/brooklyn/management/classloading/AbstractBrooklynClassLoadingContext.java
@@ -1,5 +1,7 @@
 package brooklyn.management.classloading;
 
+import javax.annotation.Nullable;
+
 import brooklyn.management.ManagementContext;
 import brooklyn.util.guava.Maybe;
 
@@ -28,18 +30,18 @@ public abstract class AbstractBrooklynClassLoadingContext implements BrooklynCla
     public abstract Maybe<Class<?>> tryLoadClass(String className);
 
     @Override
-    public <T> Class<? extends T> loadClass(String className, Class<T> type) {
-        return tryLoadClass(className, type).get();
+    public <T> Class<? extends T> loadClass(String className, @Nullable Class<T> supertype) {
+        return tryLoadClass(className, supertype).get();
     }
 
     @SuppressWarnings({ "rawtypes", "unchecked" })
     @Override
-    public <T> Maybe<Class<? extends T>> tryLoadClass(String className, Class<T> type) {
+    public <T> Maybe<Class<? extends T>> tryLoadClass(String className, @Nullable Class<T> supertype) {
         Maybe<Class<?>> result = tryLoadClass(className);
         if (result.isAbsent()) return (Maybe)result;
         Class<?> clazz = result.get();
-        if (type.isAssignableFrom(clazz)) return (Maybe)result;
-        throw new ClassCastException(className+" is not an instance of "+type);
+        if (supertype==null || supertype.isAssignableFrom(clazz)) return (Maybe)result;
+        throw new ClassCastException(className+" is not an instance of "+supertype);
     }
 
     @Override