01: /* WebappLifecycle
02: *
03: * Created on Oct 26, 2004
04: *
05: * Copyright (C) 2004 Internet Archive.
06: *
07: * This file is part of the Heritrix web crawler (crawler.archive.org).
08: *
09: * Heritrix is free software; you can redistribute it and/or modify
10: * it under the terms of the GNU Lesser Public License as published by
11: * the Free Software Foundation; either version 2.1 of the License, or
12: * any later version.
13: *
14: * Heritrix is distributed in the hope that it will be useful,
15: * but WITHOUT ANY WARRANTY; without even the implied warranty of
16: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17: * GNU Lesser Public License for more details.
18: *
19: * You should have received a copy of the GNU Lesser Public License
20: * along with Heritrix; if not, write to the Free Software
21: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22: */
23: package org.archive.crawler;
24:
25: import java.io.IOException;
26:
27: import javax.servlet.ServletContextEvent;
28: import javax.servlet.ServletContextListener;
29:
30: /**
31: * Calls start and stop of Heritrix when Heritrix is bundled as a webapp.
32: * @author stack
33: * @version $Date: 2005-11-17 00:55:56 +0000 (Thu, 17 Nov 2005) $, $Revision: 3959 $
34: */
35: public class WebappLifecycle implements ServletContextListener {
36: private Heritrix heritrix = null;
37:
38: public void contextInitialized(ServletContextEvent sce) {
39: if (!Heritrix.isCommandLine()) {
40: try {
41: this .heritrix = new Heritrix(true);
42: } catch (IOException e) {
43: e.printStackTrace();
44: }
45: if (this .heritrix != null) {
46: this .heritrix.start();
47: }
48: }
49: }
50:
51: public void contextDestroyed(ServletContextEvent sce) {
52: if (this.heritrix != null) {
53: this.heritrix.destroy();
54: this.heritrix = null;
55: }
56: }
57: }
|