Coverage Report - nu.localhost.tapestry.acegi.services.internal.HttpServletRequestFilterWrapper
 
Classes in this File Line Coverage Branch Coverage Complexity
HttpServletRequestFilterWrapper
0%
0/11
N/A
1.667
HttpServletRequestFilterWrapper$1
0%
0/6
N/A
1.667
 
 1  0
 /*
 2  
  * Copyright 2007 Ivan Dubrov
 3  
  * Copyright 2007 Robin Helgelin
 4  
  *
 5  
  * Licensed under the Apache License, Version 2.0 (the "License");
 6  
  * you may not use this file except in compliance with the License.
 7  
  * You may obtain a copy of the License at
 8  
  *
 9  
  *     http://www.apache.org/licenses/LICENSE-2.0
 10  
  *
 11  
  * Unless required by applicable law or agreed to in writing, software
 12  
  * distributed under the License is distributed on an "AS IS" BASIS,
 13  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 14  
  * See the License for the specific language governing permissions and
 15  
  * limitations under the License.
 16  
  */
 17  
 
 18  
 package nu.localhost.tapestry.acegi.services.internal;
 19  
 
 20  
 import java.io.IOException;
 21  
 
 22  
 import javax.servlet.Filter;
 23  
 import javax.servlet.FilterChain;
 24  
 import javax.servlet.ServletException;
 25  
 import javax.servlet.ServletRequest;
 26  
 import javax.servlet.ServletResponse;
 27  
 import javax.servlet.http.HttpServletRequest;
 28  
 import javax.servlet.http.HttpServletResponse;
 29  
 
 30  
 import org.apache.tapestry.services.HttpServletRequestFilter;
 31  
 import org.apache.tapestry.services.HttpServletRequestHandler;
 32  
 
 33  
 /**
 34  
  * @author Ivan Dubrov
 35  
  */
 36  
 public class HttpServletRequestFilterWrapper
 37  
 implements HttpServletRequestFilter {
 38  
     private Filter filter;
 39  
 
 40  0
     public HttpServletRequestFilterWrapper(final Filter filter) {
 41  0
         this.filter = filter;
 42  0
     }
 43  
 
 44  
     public final boolean service(final HttpServletRequest request,
 45  
             final HttpServletResponse response,
 46  
             final HttpServletRequestHandler handler) throws IOException {
 47  
 
 48  
         // TODO: Thread safety!
 49  
         // Assume request handled if filter chain is NOT executed
 50  0
         final boolean[] res = new boolean[] {true};
 51  
         try {
 52  0
             filter.doFilter(request, response, new FilterChain() {
 53  0
                 public void doFilter(final ServletRequest request,
 54  
                         final ServletResponse response)
 55  
                         throws IOException, ServletException {
 56  0
                     res[0] = handler.service((HttpServletRequest) request,
 57  0
                             (HttpServletResponse) response);
 58  0
                 }
 59  
             });
 60  0
         } catch (ServletException e) {
 61  0
             IOException ex = new IOException(e.getMessage());
 62  0
             ex.initCause(e);
 63  0
             throw ex;
 64  0
         }
 65  0
         return res[0];
 66  
     }
 67  
 }