package dk.hansen; import javax.naming.*; import javax.sql.DataSource; /* * This is a factory for the CDManager DAO. * It uses Tomcat's JNDI DataSource feature */ public class TomcatCDManagerFactory implements DatabaseCDManagerFactoryIF { private DataSource dataSource; public TomcatCDManagerFactory() throws DAOException { DataSource ds = null; try { Context initCtx = new InitialContext(); Context envCtx = (Context) initCtx.lookup("java:comp/env"); ds = (DataSource) envCtx.lookup("jdbc/dao"); } catch (NamingException e) { throw new DAOException("Tomcat JNDI setup failed", e); } this.dataSource = ds; } public DataSource getDataSource() { return dataSource; } public CDManagerIF createCDManager() { DatabaseCDManager manager = new DatabaseCDManager(); manager.setDataSource(dataSource); return manager; } }