[ejuf-cvs] ejuf/src/java/core/ejuf/config ConfigurationManager.java,1.1,1.2
Brought to you by:
fbos
|
From: <fb...@us...> - 2002-12-03 01:00:38
|
Update of /cvsroot/ejuf/ejuf/src/java/core/ejuf/config
In directory sc8-pr-cvs1:/tmp/cvs-serv24040/java/core/ejuf/config
Modified Files:
ConfigurationManager.java
Log Message:
Started implementing configuration manager.
Index: ConfigurationManager.java
===================================================================
RCS file: /cvsroot/ejuf/ejuf/src/java/core/ejuf/config/ConfigurationManager.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ConfigurationManager.java 2 Dec 2002 01:54:03 -0000 1.1
--- ConfigurationManager.java 3 Dec 2002 01:00:34 -0000 1.2
***************
*** 1,12 ****
package ejuf.config;
- import org.w3c.dom.Document;
import ejuf.framework.TestSource;
public class ConfigurationManager {
private TestSource source;
! public void configure(Document document) {
}
--- 1,38 ----
package ejuf.config;
import ejuf.framework.TestSource;
+ import ejuf.runners.ConfigurationException;
+ import org.w3c.dom.Document;
+ import org.w3c.dom.Node;
+ import org.w3c.dom.NodeList;
public class ConfigurationManager {
+ public static final String EJUF_CFG_NS_URI = "http://ejuf.sourceforge.net/ejuf-cfg/1.0";
private TestSource source;
! public void configure(Document document) throws ConfigurationException {
! final NodeList sourceNodes =
! document.getElementsByTagNameNS(EJUF_CFG_NS_URI, "source");
! final Node sourceNode = sourceNodes.item(0);
! final NodeList sourceChildren = sourceNode.getChildNodes();
! for (int i = 0; i < sourceChildren.getLength(); i++) {
! final Node someNode = sourceChildren.item(i);
! if (null == someNode) continue;
+ if (EJUF_CFG_NS_URI.equals(someNode.getNamespaceURI())
+ && "class".equals(someNode.getNodeName())) {
+ // This is the class that we are going to instantiate
+ final String sourceClassName = someNode.getNodeValue();
+ final ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
+ try {
+ Class sourceClass = contextClassLoader.loadClass(sourceClassName);
+ source = (TestSource)sourceClass.newInstance();
+ } catch (Exception e) {
+ throw new ConfigurationException(
+ "unable to configure TestSource using class name: "
+ + sourceClassName, e);
+ }
+ }
+ }
}
|