FELIX-861 Check class loader of target class, which may be null if the
class has been loaded by the bootstrap (aka system) class loader

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@729903 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/DependencyManager.java b/scr/src/main/java/org/apache/felix/scr/impl/DependencyManager.java
index 3fdb059..4e4450c 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/DependencyManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/DependencyManager.java
@@ -732,8 +732,16 @@
             try
             {
                 // Case2 - Service object parameter
-                parameterClass = targetClass.getClassLoader().loadClass(
-                    parameterClassName );
+
+                // need the class loader of the target class, which may be the
+                // system classloader, which case getClassLoader may retur null
+                ClassLoader loader = targetClass.getClassLoader();
+                if ( loader == null )
+                {
+                    loader = ClassLoader.getSystemClassLoader();
+                }
+
+                parameterClass = loader.loadClass( parameterClassName );
                 return AbstractComponentManager.getMethod( targetClass, methodname, new Class[]
                     { parameterClass }, true );
             }