package dk.hansen; import javax.naming.*; import javax.sql.DataSource; /* * This is a factory for the VhsManager DAO. * It uses Tomcat's JNDI DataSource feature */ public class TomcatVhsManagerFactory implements DatabaseVhsManagerFactoryIF { private DataSource dataSource; public TomcatVhsManagerFactory() 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 VhsManagerIF createVhsManager() { DatabaseVhsManager manager = new DatabaseVhsManager(); manager.setDataSource(dataSource); return manager; } }