--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/ContextListener.java 2015/02/13 15:47:48 2284 +++ dao/DaoAdresseService/src/dk/daoas/daoadresseservice/ContextListener.java 2015/02/23 14:39:49 2346 @@ -1,12 +1,15 @@ package dk.daoas.daoadresseservice; -import java.sql.SQLException; - import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; +import javax.servlet.ServletRegistration; import javax.servlet.annotation.WebListener; +import dk.daoas.daoadresseservice.admin.ServiceConfig; +import dk.thoerup.webconfig.ConfigServlet; +import dk.thoerup.webconfig.ContextConfigLoader; + /** * Application Lifecycle Listener implementation class ContextListener * @@ -14,27 +17,7 @@ @WebListener public class ContextListener implements ServletContextListener { - public static class DataLoader implements Runnable { - ServletContext ctxt; - public DataLoader(ServletContext ctxt) { - this.ctxt = ctxt; - } - - - @Override - public void run() { - - AdressSearch search = new AdressSearch(); - try { - search.buildSearchStructures(); - ctxt.setAttribute("search", search); - } catch (SQLException e) { - System.out.println("Error loading data: " + e.getMessage()); - } - } - - } public ContextListener() { @@ -45,15 +28,41 @@ // TODO Auto-generated method stub } + @Override public void contextInitialized(ServletContextEvent ctxtEvt) { System.out.println("Starting DAO Context"); ServletContext ctxt = ctxtEvt.getServletContext(); - Thread t = new Thread( new DataLoader(ctxt), "SearchDataLoader"); - t.start(); + initDataLoader(ctxt); + initConfig(ctxt); System.out.println("DAO Context done"); } + + private void initDataLoader(ServletContext ctxt) { + DataLoader load = new DataLoader(ctxt); + ctxt.setAttribute("dataloader", load); + load.doLoad(); + } + + + private void initConfig(ServletContext ctxt) { + ServiceConfig conf = new ServiceConfig(); + + new ContextConfigLoader(ctxt).loadConfig(conf); + + ctxt.setAttribute("config", conf); + + // ///////////////////////////////////// + ConfigServlet servlet = new ConfigServlet(); + servlet.setConfigObject( conf ); + ServletRegistration.Dynamic dynconf = ctxt.addServlet("webconfig", servlet ); + dynconf.addMapping("/ConfigServlet"); + + + + } + }