Do not inspect super classes and implemented interfaces for non primitive components.
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1242278 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ipojo/core/src/main/java/org/apache/felix/ipojo/ComponentFactory.java b/ipojo/core/src/main/java/org/apache/felix/ipojo/ComponentFactory.java
index d84b4d8..fdfc223 100644
--- a/ipojo/core/src/main/java/org/apache/felix/ipojo/ComponentFactory.java
+++ b/ipojo/core/src/main/java/org/apache/felix/ipojo/ComponentFactory.java
@@ -557,9 +557,12 @@
super(factory);
try {
- // Read inherited classes and interfaces into given Sets.
- new InheritanceInspector(getPojoMetadata(), getBundleContext().getBundle()).
- computeInterfacesAndSuperClasses(m_interfaces, m_superClasses);
+ // The inspection can be done only for primitive components
+ if (m_classname != null) {
+ // Read inherited classes and interfaces into given Sets.
+ new InheritanceInspector(getPojoMetadata(), getBundleContext().getBundle()).
+ computeInterfacesAndSuperClasses(m_interfaces, m_superClasses);
+ }
} catch (ClassNotFoundException e) {
m_interfaces.clear();
m_superClasses.clear();
@@ -639,7 +642,6 @@
* @throws ClassNotFoundException : occurs when an interface cannot be loaded.
*/
public void computeInterfacesAndSuperClasses(Set interfaces, Set classes) throws ClassNotFoundException {
-
String[] immediateInterfaces = m_pojoMetadata.getInterfaces();
String parentClass = m_pojoMetadata.getSuperClass();