You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by gu...@apache.org on 2013/05/29 13:48:39 UTC
svn commit: r1487443 -
/felix/trunk/ipojo/runtime/core/src/main/java/org/apache/felix/ipojo/extender/internal/processor/ExtensionBundleProcessor.java
Author: guillaume
Date: Wed May 29 11:48:38 2013
New Revision: 1487443
URL: http://svn.apache.org/r1487443
Log:
* Avoid compilation warning
* More explicit error message
Modified:
felix/trunk/ipojo/runtime/core/src/main/java/org/apache/felix/ipojo/extender/internal/processor/ExtensionBundleProcessor.java
Modified: felix/trunk/ipojo/runtime/core/src/main/java/org/apache/felix/ipojo/extender/internal/processor/ExtensionBundleProcessor.java
URL: http://svn.apache.org/viewvc/felix/trunk/ipojo/runtime/core/src/main/java/org/apache/felix/ipojo/extender/internal/processor/ExtensionBundleProcessor.java?rev=1487443&r1=1487442&r2=1487443&view=diff
==============================================================================
--- felix/trunk/ipojo/runtime/core/src/main/java/org/apache/felix/ipojo/extender/internal/processor/ExtensionBundleProcessor.java (original)
+++ felix/trunk/ipojo/runtime/core/src/main/java/org/apache/felix/ipojo/extender/internal/processor/ExtensionBundleProcessor.java Wed May 29 11:48:38 2013
@@ -19,6 +19,7 @@
package org.apache.felix.ipojo.extender.internal.processor;
+import org.apache.felix.ipojo.IPojoFactory;
import org.apache.felix.ipojo.extender.internal.BundleProcessor;
import org.apache.felix.ipojo.extender.internal.builder.ReflectiveFactoryBuilder;
import org.apache.felix.ipojo.extender.internal.declaration.DefaultExtensionDeclaration;
@@ -125,12 +126,18 @@ public class ExtensionBundleProcessor im
*/
String[] nameparts = ParseUtils.split(segments[0].trim(), " \t");
String type = nameparts.length == 1 ? nameparts[0] : nameparts[0] + ":" + nameparts[1];
+ String classname = segments[1];
- Class clazz;
+ Class<? extends IPojoFactory> clazz;
try {
- clazz = bundle.loadClass(segments[1]);
+ clazz = bundle.loadClass(classname).asSubclass(IPojoFactory.class);
} catch (ClassNotFoundException e) {
- m_logger.log(Logger.ERROR, "Cannot load the extension " + type, e);
+ String message = String.format("Cannot load class '%s' from bundle %s (%s) for extension '%s'",
+ classname,
+ bundle.getSymbolicName(),
+ bundle.getVersion(),
+ type);
+ m_logger.log(Logger.ERROR, message, e);
return;
}