View Javadoc
1   package com.atlassian.refapp.sal;
2   
3   import com.atlassian.plugin.refimpl.saldeps.ServletContextThreadLocal;
4   
5   import javax.servlet.Filter;
6   import javax.servlet.FilterChain;
7   import javax.servlet.FilterConfig;
8   import javax.servlet.ServletException;
9   import javax.servlet.ServletRequest;
10  import javax.servlet.ServletResponse;
11  import javax.servlet.http.HttpServletRequest;
12  import javax.servlet.http.HttpServletResponse;
13  import java.io.IOException;
14  
15  public class ServletContextThreadLocalFilter implements Filter {
16      public void init(FilterConfig filterConfig) throws ServletException {
17  
18      }
19  
20      public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
21          final HttpServletRequest oldRequest = ServletContextThreadLocal.getRequest();
22          final HttpServletResponse oldResponse = ServletContextThreadLocal.getResponse();
23          try {
24              ServletContextThreadLocal.setRequest((HttpServletRequest) request);
25              ServletContextThreadLocal.setResponse((HttpServletResponse) response);
26  
27              filterChain.doFilter(request, response);
28          } finally {
29              ServletContextThreadLocal.setRequest(oldRequest);
30              ServletContextThreadLocal.setResponse(oldResponse);
31          }
32      }
33  
34      public void destroy() {
35  
36      }
37  }