/[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 1320 - (hide annotations) (download)
Tue Apr 19 20:26:06 2011 UTC (13 years, 1 month ago) by torben
File size: 2124 byte(s)
Use new webconfig lib
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 1303
13    
14 torben 1320
15 torben 1303 /**
16     * Application Lifecycle Listener implementation class JmxListener
17     *
18     */
19     @WebListener
20     public class SettingsListener implements ServletContextListener {
21    
22     Logger logger = Logger.getLogger(SettingsListener.class.getName());
23    
24    
25     /**
26     * @see ServletContextListener#contextInitialized(ServletContextEvent)
27     */
28     public void contextInitialized(ServletContextEvent sce) {
29     logger.warning("Context Init - Loading settings");
30    
31     ServletContext cxt = sce.getServletContext();
32 torben 1320 TraininfoSettings settings = loadSettings(cxt);
33    
34    
35     ConfigServlet servlet = new ConfigServlet();
36     servlet.setConfigObject( settings );
37     ServletRegistration.Dynamic dynconf = cxt.addServlet("webconfig", servlet );
38     dynconf.addMapping("/ConfigServlet");
39 torben 1303
40 torben 1316 }
41    
42     public static TraininfoSettings loadSettings(ServletContext cxt) {
43     TraininfoSettings settings = (TraininfoSettings) cxt.getAttribute("settings");
44     if (settings != null)
45     return settings;
46    
47     settings = new TraininfoSettings();
48 torben 1303 settings.useazuresite = Boolean.parseBoolean( cxt.getInitParameter("useazuresite") );
49     settings.cache_timeout = Integer.parseInt( cxt.getInitParameter("cache_timeout") );
50     settings.reply_timeout = Integer.parseInt( cxt.getInitParameter("reply_timeout") );
51 torben 1316 settings.banedk_threshold = Integer.parseInt(cxt.getInitParameter("banedk_threshold") );
52     settings.banedk_timeout = Integer.parseInt( cxt.getInitParameter("banedk_timeout") );
53    
54     settings.stats_interval = Integer.parseInt( cxt.getInitParameter("stats_interval") );
55 torben 1303
56 torben 1316 cxt.setAttribute("settings", settings);
57    
58     return settings;
59 torben 1303 }
60    
61     /**
62     * @see ServletContextListener#contextDestroyed(ServletContextEvent)
63     */
64     public void contextDestroyed(ServletContextEvent sce) {
65     }
66    
67     }

  ViewVC Help
Powered by ViewVC 1.1.20