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

Reply via email to