01: /*
02: * LoadDSpaceConfig.java
03: *
04: * Version: $Revision: 2221 $
05: *
06: * Date: $Date: 2007-09-29 15:42:25 -0500 (Sat, 29 Sep 2007) $
07: *
08: * Copyright (c) 2002-2005, Hewlett-Packard Company and Massachusetts
09: * Institute of Technology. All rights reserved.
10: *
11: * Redistribution and use in source and binary forms, with or without
12: * modification, are permitted provided that the following conditions are
13: * met:
14: *
15: * - Redistributions of source code must retain the above copyright
16: * notice, this list of conditions and the following disclaimer.
17: *
18: * - Redistributions in binary form must reproduce the above copyright
19: * notice, this list of conditions and the following disclaimer in the
20: * documentation and/or other materials provided with the distribution.
21: *
22: * - Neither the name of the Hewlett-Packard Company nor the name of the
23: * Massachusetts Institute of Technology nor the names of their
24: * contributors may be used to endorse or promote products derived from
25: * this software without specific prior written permission.
26: *
27: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28: * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31: * HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
32: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
33: * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
34: * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
35: * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
36: * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
37: * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
38: * DAMAGE.
39: */
40: package org.dspace.app.webui.servlet;
41:
42: import org.dspace.core.ConfigurationManager;
43:
44: import javax.servlet.http.HttpServlet;
45: import java.net.URL;
46: import java.net.URLConnection;
47:
48: /**
49: * Simple servlet to load in DSpace and log4j configurations. Should always be
50: * started up before other servlets (use <loadOnStartup>)
51: *
52: * @author Robert Tansley
53: * @version $Revision: 2221 $
54: */
55: public class LoadDSpaceConfig extends HttpServlet {
56: public void init() {
57: // On Windows, URL caches can cause problems, particularly with undeployment
58: // So, here we attempt to disable them if we detect that we are running on Windows
59: try {
60: String osName = System.getProperty("os.name");
61: if (osName != null)
62: osName = osName.toLowerCase();
63:
64: if (osName != null && osName.contains("windows")) {
65: URL url = new URL("http://localhost/");
66: URLConnection urlConn = url.openConnection();
67: urlConn.setDefaultUseCaches(false);
68: }
69: } catch (Throwable t) {
70: // Any errors thrown in disabling the caches aren't significant to
71: // the normal execution of the application, so we ignore them
72: }
73:
74: // Get config parameter
75: String config = getServletContext().getInitParameter(
76: "dspace-config");
77:
78: // Load in DSpace config
79: ConfigurationManager.loadConfig(config);
80:
81: }
82: }
|