Update of /var/cvs/contributions/didactor2/src/core/java/nl/didactor/builders
In directory james.mmbase.org:/tmp/cvs-serv10382/builders
Modified Files:
ComponentBuilder.java
Log Message:
mmbase component wrapper
See also:
http://cvs.mmbase.org/viewcvs/contributions/didactor2/src/core/java/nl/didactor/builders
Index: ComponentBuilder.java
===================================================================
RCS file:
/var/cvs/contributions/didactor2/src/core/java/nl/didactor/builders/ComponentBuilder.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- ComponentBuilder.java 7 Jun 2007 16:09:48 -0000 1.13
+++ ComponentBuilder.java 7 Aug 2008 16:33:49 -0000 1.14
@@ -16,6 +16,7 @@
import java.io.File;
import java.sql.*;
+import java.lang.reflect.*;
import nl.didactor.component.Component;
import nl.didactor.component.BasicComponent;
@@ -23,7 +24,7 @@
/**
*
* @author Johannes Verelst <[EMAIL PROTECTED]>
- * @version $Id: ComponentBuilder.java,v 1.13 2007/06/07 16:09:48 michiel Exp $
+ * @version $Id: ComponentBuilder.java,v 1.14 2008/08/07 16:33:49 michiel Exp $
*/
public class ComponentBuilder extends DidactorBuilder {
@@ -92,14 +93,12 @@
comp = new BasicComponent(componentname);
} else {
try {
- Class c = Class.forName(classname);
- if (c == null) {
- comp = new BasicComponent(componentname);
- } else {
- comp = (Component)c.newInstance();
- if (comp == null) {
- comp = new BasicComponent(componentname);
- }
+ Class clazz = Class.forName(classname);
+ try {
+ Constructor c = clazz.getConstructor(MMObjectNode.class);
+ comp = (Component) c.newInstance(component);
+ } catch (NoSuchMethodException nsme) {
+ comp = (Component) clazz.newInstance();
}
} catch (ClassNotFoundException e) {
log.info("Class not found: " + classname);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs