comparison software/mpdl-services/mpiwg-mpdl-cms-web/src/de/mpg/mpiwg/berlin/mpdl/servlets/cms/MpiwgMpdlCmsWebServletContextListener.java @ 23:e845310098ba

diverse Korrekturen
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Tue, 27 Nov 2012 12:35:19 +0100
parents
children
comparison
equal deleted inserted replaced
22:6a45a982c333 23:e845310098ba
1 package de.mpg.mpiwg.berlin.mpdl.servlets.cms;
2
3 import javax.servlet.ServletContext;
4 import javax.servlet.ServletContextEvent;
5 import javax.servlet.ServletContextListener;
6
7 import de.mpg.mpiwg.berlin.mpdl.lt.dict.db.LexHandler;
8 import de.mpg.mpiwg.berlin.mpdl.lt.morph.app.MorphologyCache;
9 import de.mpg.mpiwg.berlin.mpdl.servlets.cms.MpiwgMpdlCmsWebServletContextListener;
10 import de.mpg.mpiwg.berlin.mpdl.xml.transform.FragmentTransformer;
11 import de.mpg.mpiwg.berlin.mpdl.xml.xquery.XQueryEvaluator;
12 import de.mpg.mpiwg.berlin.mpdl.cms.general.Constants;
13 import de.mpg.mpiwg.berlin.mpdl.cms.lucene.IndexHandler;
14 import de.mpg.mpiwg.berlin.mpdl.cms.scheduler.CmsChainScheduler;
15 import de.mpg.mpiwg.berlin.mpdl.cms.transform.PageTransformer;
16 import de.mpg.mpiwg.berlin.mpdl.cms.transform.TocTransformer;
17
18 public class MpiwgMpdlCmsWebServletContextListener implements ServletContextListener {
19 private ServletContext context = null;
20 private FragmentTransformer fragmentTransformer = null;
21 private PageTransformer pageTransformer = null;
22 private TocTransformer tocTransformer = null;
23 private XQueryEvaluator xQueryEvaluator = null;
24 public void contextInitialized(ServletContextEvent event) {
25 try {
26 this.context = event.getServletContext();
27 String documentsDirectory = Constants.getInstance().getDocumentsDir();
28 String luceneDocumentsDirectory = Constants.getInstance().getLuceneDocumentsDir();
29 String luceneNodesDirectory = Constants.getInstance().getLuceneNodesDir();
30 context.setAttribute("documentDirectory", documentsDirectory);
31 context.setAttribute("luceneDocumentsDirectory", luceneDocumentsDirectory);
32 context.setAttribute("luceneNodesDirectory", luceneNodesDirectory);
33 System.out.println(MpiwgMpdlCmsWebServletContextListener.class.getName() + ": contextInitialized (documentsDirectory= \"" + documentsDirectory + "\", set in constants.properties)");
34 System.out.println(MpiwgMpdlCmsWebServletContextListener.class.getName() + ": contextInitialized (luceneDocumentsDirectory= \"" + luceneDocumentsDirectory + "\", set in constants.properties)");
35 System.out.println(MpiwgMpdlCmsWebServletContextListener.class.getName() + ": contextInitialized (luceneNodesDirectory= \"" + luceneNodesDirectory + "\", set in constants.properties)");
36 fragmentTransformer = new FragmentTransformer();
37 context.setAttribute("fragmentTransformer", fragmentTransformer);
38 System.out.println(MpiwgMpdlCmsWebServletContextListener.class.getName() + ": contextInitialized (fragmentTransformer)");
39 pageTransformer = new PageTransformer();
40 context.setAttribute("pageTransformer", pageTransformer);
41 System.out.println(MpiwgMpdlCmsWebServletContextListener.class.getName() + ": contextInitialized (pageTransformer)");
42 tocTransformer = new TocTransformer();
43 context.setAttribute("tocTransformer", tocTransformer);
44 System.out.println(MpiwgMpdlCmsWebServletContextListener.class.getName() + ": contextInitialized (tocTransformer)");
45 xQueryEvaluator = new XQueryEvaluator();
46 context.setAttribute("xQueryEvaluator", xQueryEvaluator);
47 System.out.println(MpiwgMpdlCmsWebServletContextListener.class.getName() + ": contextInitialized (xQueryEvaluator)");
48 } catch (Exception e) {
49 e.printStackTrace();
50 }
51 }
52
53 public void contextDestroyed(ServletContextEvent event) {
54 try {
55 this.context = null;
56 LexHandler.getInstance().end();
57 MorphologyCache.getInstance().end();
58 IndexHandler.getInstance().end();
59 CmsChainScheduler scheduler = CmsChainScheduler.getInstance();
60 scheduler.end();
61 Thread.sleep(1000); // with this, also the scheduler worker threads could be closed
62 System.out.println(MpiwgMpdlCmsWebServletContextListener.class.getName() + ": contextDestroyed");
63 } catch (Exception e) {
64 e.printStackTrace();
65 }
66 }
67 }