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 }