1 /*
2 * Scope: a generic MVC framework.
3 * Copyright (c) 2000-2002, The Scope team
4 * All rights reserved.
5 *
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 *
11 * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 *
14 * Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 *
18 * Neither the name "Scope" nor the names of its contributors
19 * may be used to endorse or promote products derived from this software
20 * without specific prior written permission.
21 *
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
27 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 *
35 *
36 * $Id: XSLScopeServlet.java,v 1.7 2002/09/05 15:41:51 ludovicc Exp $
37 */
38 package org.scopemvc.controller.servlet.xml;
39
40
41 import java.util.HashMap;
42 import javax.servlet.ServletConfig;
43 import javax.servlet.ServletException;
44 import javax.servlet.http.HttpServletRequest;
45 import javax.servlet.http.HttpServletResponse;
46 import org.apache.commons.logging.Log;
47 import org.apache.commons.logging.LogFactory;
48 import org.scopemvc.view.servlet.xml.AbstractXSLPage;
49 import org.scopemvc.controller.servlet.ScopeServlet;
50 import org.scopemvc.controller.servlet.ServletContext;
51
52 /***
53 * <P>
54 *
55 * A {@link org.scopemvc.controller.servlet.ScopeServlet} for use in webapps
56 * that use {@link org.scopemvc.view.servlet.xml}: this initialises the SystemID
57 * of {@link org.scopemvc.view.servlet.xml.AbstractXSLPage} to point to the root
58 * of the deployed web archive, which is where all XSL files are referenced
59 * from. Also installs a {@link XSLServletContext}. </P>
60 *
61 * @author Beat Glattfelder
62 * @author <A HREF="mailto:smeyfroi@users.sourceforge.net">Steve Meyfroidt</A>
63 * @created 05 September 2002
64 * @version $Revision: 1.7 $ $Date: 2002/09/05 15:41:51 $
65 */
66 public abstract class XSLScopeServlet extends ScopeServlet {
67
68 private final static Log LOG = LogFactory.getLog(XSLScopeServlet.class);
69
70
71 /***
72 * Initialise the XSL SystemID relative to the web archive.
73 *
74 * @param config TODO: Describe the Parameter
75 * @throws ServletException TODO: Describe the Exception
76 */
77 public void init(ServletConfig config) throws ServletException {
78 super.init(config);
79
80 try {
81 String xslSystemId = config.getServletContext().getResource("/").toString();
82 LOG.info("SystemId: " + xslSystemId);
83 AbstractXSLPage.setSystemID(xslSystemId);
84 } catch (Exception e) {
85 throw new ServletException("Error initializing SystemID ", e);
86 }
87 }
88
89
90 /***
91 * TODO: document the method
92 *
93 * @param req TODO: Describe the Parameter
94 * @param resp TODO: Describe the Parameter
95 * @param inFormParameters TODO: Describe the Parameter
96 * @return TODO: Describe the Return Value
97 */
98 protected ServletContext createServletContext(HttpServletRequest req, HttpServletResponse resp, HashMap inFormParameters) {
99 return new XSLServletContext(this, req, resp, inFormParameters);
100 }
101 }
This page was automatically generated by Maven