Fix issue Felix-925.
Already manipulated classes are loaded with the regular bundle classloader instead of the iPOJO Factory classloader (used when the manipulated class exists only as a byte[]).
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@749228 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ipojo/api/src/main/java/org/apache/felix/ipojo/api/PrimitiveComponentType.java b/ipojo/api/src/main/java/org/apache/felix/ipojo/api/PrimitiveComponentType.java
index bc3f937..09e6249 100644
--- a/ipojo/api/src/main/java/org/apache/felix/ipojo/api/PrimitiveComponentType.java
+++ b/ipojo/api/src/main/java/org/apache/felix/ipojo/api/PrimitiveComponentType.java
@@ -369,7 +369,11 @@
Element meta = m_metadata;
meta.addElement(m_manipulation);
try {
- m_factory = new ComponentFactory(m_context, clazz, meta);
+ if (clazz.length == 0) { // Already manipulated
+ m_factory = new ComponentFactory(m_context, meta);
+ } else {
+ m_factory = new ComponentFactory(m_context, clazz, meta);
+ }
m_factory.start();
} catch (ConfigurationException e) {
throw new IllegalStateException("An exception occurs during factory initialization : " + e.getMessage());