File Source: PersistenceSessionFilter.java

     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  
    19  package org.apache.roller.weblogger.ui.core.filters;
    20  
    21  import java.io.IOException;
    22  import javax.servlet.Filter;
    23  import javax.servlet.FilterChain;
    24  import javax.servlet.FilterConfig;
    25  import javax.servlet.ServletException;
    26  import javax.servlet.ServletRequest;
    27  import javax.servlet.ServletResponse;
    28  import javax.servlet.http.HttpServletRequest;
    29  import javax.servlet.http.HttpServletResponse;
    30  import org.apache.commons.logging.Log;
    31  import org.apache.commons.logging.LogFactory;
    32  import org.apache.roller.weblogger.business.WebloggerFactory;
    33  import org.apache.roller.weblogger.config.WebloggerConfig;
    34  import org.apache.roller.planet.business.PlanetFactory;
    35  
    36  
    37  /**
    38   * Sole responsibility is to ensure that each request's Roller
    39   * persistence session is released at end of the request.
    40   *
    41   * @web.filter name="PersistenceSessionFilter"
    42   */
         /* 
    P/P   *  Method: void org.apache.roller.weblogger.ui.core.filters.PersistenceSessionFilter()
          */
    43  public class PersistenceSessionFilter implements Filter {
    44      
             /* 
    P/P       *  Method: org.apache.roller.weblogger.ui.core.filters.PersistenceSessionFilter__static_init
              * 
              *  Postconditions:
              *    init'ed(log)
              */
    45      private static Log log = LogFactory.getLog(PersistenceSessionFilter.class);
    46      
    47      
    48      /**
    49       * Release Roller persistence session at end of request processing.
    50       */
    51      public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
    52              throws IOException, ServletException {
    53          
                 /* 
    P/P           *  Method: void doFilter(ServletRequest, ServletResponse, FilterChain)
                  * 
                  *  Preconditions:
                  *    chain != null
                  *    log != null
                  *    req != null
                  * 
                  *  Presumptions:
                  *    org.apache.roller.planet.business.PlanetFactory:getPlanet(...)@69 != null
                  *    org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@64 != null
                  */
    54          HttpServletRequest request = (HttpServletRequest) req;
    55          HttpServletResponse response = (HttpServletResponse) res;
    56          
    57          log.debug("Entered "+request.getRequestURI());
    58          
    59          try {
    60              chain.doFilter(request, response);
    61          } finally {
    62              if (WebloggerFactory.isBootstrapped()) {
    63                  log.debug("Releasing Roller Session");
    64                  WebloggerFactory.getWeblogger().release();
    65                  
    66                  // if planet is enabled then release planet backend as well
    67                  if (WebloggerConfig.getBooleanProperty("planet.aggregator.enabled")) {
    68                      if (PlanetFactory.isBootstrapped()) {
    69                          PlanetFactory.getPlanet().release();
    70                      }
    71                  }
    72              }
    73              
    74          }
    75          
    76          log.debug("Exiting "+request.getRequestURI());
    77      }
    78      
    79      
             /* 
    P/P       *  Method: void init(FilterConfig)
              */
    80      public void init(FilterConfig filterConfig) throws ServletException {}
    81      
             /* 
    P/P       *  Method: void destroy()
              */
    82      public void destroy() {}
    83      
    84  }
    85  








SofCheck Inspector Build Version : 2.18479
PersistenceSessionFilter.java 2009-Jan-02 14:25:42
PersistenceSessionFilter.class 2009-Sep-04 03:12:44