1 16 package org.outerj.daisy.datasource; 17 18 import java.util.HashMap ; 19 import java.util.Iterator ; 20 import java.util.Map ; 21 22 import org.apache.avalon.framework.activity.Initializable; 23 import org.apache.avalon.framework.configuration.Configurable; 24 import org.apache.avalon.framework.configuration.Configuration; 25 import org.apache.avalon.framework.configuration.ConfigurationException; 26 import org.outerj.daisy.configutil.PropertyResolver; 27 import org.outerj.daisy.jdbcutil.DriverLoader; 28 29 33 public class DriverRegistrarImpl implements Initializable, Configurable, DriverRegistrar { 34 private Map drivers; 35 36 public void configure(Configuration configuration) throws ConfigurationException { 37 drivers = new HashMap (); 38 Configuration[] driverConfs = configuration.getChild("drivers").getChildren("driver"); 39 for (int i = 0; i < driverConfs.length; i++) { 40 String classpath = PropertyResolver.resolveProperties(driverConfs[i].getChild("classpath").getValue("")); 41 String classname = driverConfs[i].getChild("classname").getValue("com.mysql.jdbc.Driver"); 42 drivers.put(classname, classpath); 43 } 44 } 45 46 public void initialize() throws Exception { 47 Iterator it = drivers.keySet().iterator(); 48 while (it.hasNext()) { 49 String classname = (String )it.next(); 50 String classpath = (String )drivers.get(classname); 51 DriverLoader.loadDatabaseDriver(classpath, classname); 52 } 53 } 54 } 55 | Popular Tags |