KickJava   Java API By Example, From Geeks To Geeks.

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


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 javax.servlet.Filter JavaDoc;
22 import javax.servlet.FilterChain JavaDoc;
23 import javax.servlet.FilterConfig JavaDoc;
24 import javax.servlet.ServletException JavaDoc;
25 import javax.servlet.ServletRequest JavaDoc;
26 import javax.servlet.ServletResponse JavaDoc;
27 import javax.servlet.http.HttpServletRequest JavaDoc;
28 import javax.servlet.http.HttpServletResponse JavaDoc;
29 import org.apache.commons.logging.Log;
30 import org.apache.commons.logging.LogFactory;
31 import org.apache.roller.model.Roller;
32 import org.apache.roller.model.RollerFactory;
33
34
35 /**
36  * Sole responsibility is to ensure that each request's Roller
37  * persistence session is released at end of the request.
38  *
39  * @web.filter name="PersistenceSessionFilter"
40  * @author David M. Johnson
41  */

42 public class PersistenceSessionFilter implements Filter JavaDoc {
43     
44     private static Log mLogger = LogFactory.getLog(PersistenceSessionFilter.class);
45     
46     
47     /**
48      * Release Roller persistence session at end of request processing.
49      */

50     public void doFilter(ServletRequest JavaDoc req, ServletResponse JavaDoc res, FilterChain JavaDoc chain)
51             throws IOException JavaDoc, ServletException JavaDoc {
52         
53         HttpServletRequest JavaDoc request = (HttpServletRequest JavaDoc) req;
54         HttpServletResponse JavaDoc response = (HttpServletResponse JavaDoc) res;
55         
56         mLogger.debug("Entered PersistenceSessionFilter");
57         
58         Roller roller = RollerFactory.getRoller();
59         try {
60             chain.doFilter(request, response);
61         } finally {
62             mLogger.debug("Releasing Roller Session");
63             roller.release();
64         }
65         
66         mLogger.debug("Exiting PersistenceSessionFilter");
67     }
68     
69
70     public void init(FilterConfig JavaDoc filterConfig) throws ServletException JavaDoc {}
71     
72     public void destroy() {}
73     
74 }
75
76
Popular Tags