/[projects]/android/TrainInfoService/src/dk/thoerup/traininfoservice/SettingsListener.java
ViewVC logotype

Annotation of /android/TrainInfoService/src/dk/thoerup/traininfoservice/SettingsListener.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1345 - (hide annotations) (download)
Wed Apr 20 16:47:21 2011 UTC (13 years, 1 month ago) by torben
File size: 1672 byte(s)
Wehn config is ServletContext there's no need to have a reload method
1 torben 1303 package dk.thoerup.traininfoservice;
2    
3     import java.util.logging.Logger;
4    
5     import javax.servlet.ServletContext;
6     import javax.servlet.ServletContextEvent;
7     import javax.servlet.ServletContextListener;
8 torben 1320 import javax.servlet.ServletRegistration;
9 torben 1303 import javax.servlet.annotation.WebListener;
10    
11 torben 1320 import dk.thoerup.webconfig.ConfigServlet;
12 torben 1345 import dk.thoerup.webconfig.ContextConfigLoader;
13 torben 1303
14    
15 torben 1320
16 torben 1303 /**
17     * Application Lifecycle Listener implementation class JmxListener
18     *
19     */
20     @WebListener
21     public class SettingsListener implements ServletContextListener {
22    
23     Logger logger = Logger.getLogger(SettingsListener.class.getName());
24    
25    
26     /**
27     * @see ServletContextListener#contextInitialized(ServletContextEvent)
28     */
29     public void contextInitialized(ServletContextEvent sce) {
30     logger.warning("Context Init - Loading settings");
31    
32     ServletContext cxt = sce.getServletContext();
33 torben 1320 TraininfoSettings settings = loadSettings(cxt);
34    
35    
36     ConfigServlet servlet = new ConfigServlet();
37     servlet.setConfigObject( settings );
38     ServletRegistration.Dynamic dynconf = cxt.addServlet("webconfig", servlet );
39     dynconf.addMapping("/ConfigServlet");
40 torben 1303
41 torben 1316 }
42    
43     public static TraininfoSettings loadSettings(ServletContext cxt) {
44     TraininfoSettings settings = (TraininfoSettings) cxt.getAttribute("settings");
45     if (settings != null)
46     return settings;
47    
48 torben 1345 settings = new TraininfoSettings();
49     new ContextConfigLoader(cxt).loadConfig(settings);
50 torben 1303
51 torben 1316 cxt.setAttribute("settings", settings);
52    
53     return settings;
54 torben 1303 }
55    
56     /**
57     * @see ServletContextListener#contextDestroyed(ServletContextEvent)
58     */
59     public void contextDestroyed(ServletContextEvent sce) {
60     }
61    
62     }

  ViewVC Help
Powered by ViewVC 1.1.20