KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > roller > ui > core > filters > RequestFilter


1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. The ASF licenses this file to You
4 * under the Apache License, Version 2.0 (the "License"); you may not
5 * use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License. For additional information regarding
15 * copyright in this work, please see the NOTICE file in the top level
16 * directory of this distribution.
17 */

18 package org.apache.roller.ui.core.filters;
19
20 import java.io.IOException JavaDoc;
21 import java.io.UnsupportedEncodingException JavaDoc;
22 import java.util.Date JavaDoc;
23 import java.util.Locale JavaDoc;
24
25 import javax.servlet.Filter JavaDoc;
26 import javax.servlet.FilterChain JavaDoc;
27 import javax.servlet.FilterConfig JavaDoc;
28 import javax.servlet.ServletException JavaDoc;
29 import javax.servlet.ServletRequest JavaDoc;
30 import javax.servlet.ServletResponse JavaDoc;
31 import javax.servlet.http.HttpServletRequest JavaDoc;
32 import javax.servlet.http.HttpServletResponse JavaDoc;
33 import javax.servlet.http.HttpSession JavaDoc;
34 import javax.servlet.jsp.jstl.core.Config;
35
36 import org.apache.commons.logging.Log;
37 import org.apache.commons.logging.LogFactory;
38 import org.apache.struts.Globals;
39 import org.apache.roller.RollerException;
40 import org.apache.roller.config.RollerConfig;
41 import org.apache.roller.model.Roller;
42 import org.apache.roller.model.RollerFactory;
43 import org.apache.roller.model.UserManager;
44 import org.apache.roller.ui.core.RollerContext;
45 import org.apache.roller.ui.core.RollerRequest;
46 import org.apache.roller.ui.core.util.RequestUtil;
47
48
49 /**
50  * Entry point filter for Weblog page and Editor UI, this filter
51  * creates a RollerRequest object to parse pathinfo and request parameters.
52  *
53  * @web.filter name="RequestFilter"
54  *
55  * @author David M. Johnson, Matt Raible
56  */

57 public class RequestFilter implements Filter JavaDoc {
58     private FilterConfig JavaDoc mFilterConfig = null;
59     private static Log mLogger =
60         LogFactory.getFactory().getInstance(RequestFilter.class);
61     
62     public void doFilter(
63             ServletRequest JavaDoc req, ServletResponse JavaDoc res, FilterChain JavaDoc chain)
64             throws IOException JavaDoc, ServletException JavaDoc {
65         
66         // NOTE: Setting character encoding and JSTL/Struts locale sync has been
67
// moved to CharEncodingFilter, which is mapped for all URIs in the context.
68

69         HttpSession JavaDoc session = ((HttpServletRequest JavaDoc)req).getSession();
70         HttpServletRequest JavaDoc request = (HttpServletRequest JavaDoc)req;
71         HttpServletResponse JavaDoc response = (HttpServletResponse JavaDoc)res;
72         Roller roller = RollerFactory.getRoller();
73         RollerRequest rreq = null;
74         try {
75             rreq = RollerRequest.getRollerRequest(
76                        request, mFilterConfig.getServletContext());
77         } catch (Throwable JavaDoc e) {
78             // NOTE: this is not a page-not-found problem
79
request.setAttribute("DisplayException", e);
80             mLogger.error(e);
81             return;
82         }
83         chain.doFilter(req, res);
84     }
85     
86     public void init(FilterConfig JavaDoc filterConfig) throws ServletException JavaDoc {
87         mFilterConfig = filterConfig;
88     }
89     
90     public void destroy() {
91     }
92 }
93
94
Popular Tags