diff software/mpdl-services/mpiwg-mpdl-lt-web/src/de/mpg/mpiwg/berlin/mpdl/servlets/lt/MpiwgMpdlLtWebServletContextListener.java @ 19:4a3641ae14d2

Erstellung
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Wed, 09 Nov 2011 15:32:05 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/software/mpdl-services/mpiwg-mpdl-lt-web/src/de/mpg/mpiwg/berlin/mpdl/servlets/lt/MpiwgMpdlLtWebServletContextListener.java	Wed Nov 09 15:32:05 2011 +0100
@@ -0,0 +1,39 @@
+package de.mpg.mpiwg.berlin.mpdl.servlets.lt;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+import de.mpg.mpiwg.berlin.mpdl.lt.dict.db.LexHandler;
+import de.mpg.mpiwg.berlin.mpdl.lt.general.Constants;
+import de.mpg.mpiwg.berlin.mpdl.lt.morph.app.MorphologyCache;
+import de.mpg.mpiwg.berlin.mpdl.lt.text.reg.RegularizationManager;
+
+public class MpiwgMpdlLtWebServletContextListener implements ServletContextListener {
+  private ServletContext context = null;
+  
+  public void contextInitialized(ServletContextEvent event) {
+    try {
+      this.context = event.getServletContext();
+      // String dataDirectory = System.getProperty("catalina.base") + "/webapps/mpiwg-mpdl-lt-web/WEB-INF/data";
+      String dataDirectory = Constants.getInstance().getDataDir();
+      context.setAttribute("dataDirectory", dataDirectory);
+      System.out.println(MpiwgMpdlLtWebServletContextListener.class.getName() + ": contextInitialized (data directory= \"" + dataDirectory + "\", set in constants.properties)");
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+
+  public void contextDestroyed(ServletContextEvent event) {
+    try {
+      this.context = null;
+      LexHandler.getInstance().end();
+      MorphologyCache.getInstance().end();
+      RegularizationManager.getInstance().end();
+      String dataDirectory = Constants.getInstance().getDataDir();
+      System.out.println(MpiwgMpdlLtWebServletContextListener.class.getName() + ": contextDestroyed (databases in directory: \"" + dataDirectory + "\" are closed)");
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+  }
+}
\ No newline at end of file