Extending value list of RAM memory in the compute
[sdc.git] / openecomp-be / api / openecomp-sdc-rest-webapp / openecomp-sdc-common-rest / src / main / java / org / openecomp / sdcrests / filters / SessionContextFilter.java
1 package org.openecomp.sdcrests.filters;
2
3 import org.openecomp.sdc.common.session.SessionContextProvider;
4 import org.openecomp.sdc.common.session.SessionContextProviderFactory;
5
6 import java.io.IOException;
7 import javax.servlet.Filter;
8 import javax.servlet.FilterChain;
9 import javax.servlet.FilterConfig;
10 import javax.servlet.ServletException;
11 import javax.servlet.ServletRequest;
12 import javax.servlet.ServletResponse;
13 import javax.servlet.http.HttpServletRequest;
14
15 public abstract class SessionContextFilter implements Filter {
16   @Override
17   public void init(FilterConfig filterConfig) throws ServletException {
18
19   }
20
21   @Override
22   public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
23                        FilterChain filterChain) throws IOException, ServletException {
24     SessionContextProvider contextProvider =
25         SessionContextProviderFactory.getInstance().createInterface();
26
27     try {
28       if (servletRequest instanceof HttpServletRequest) {
29
30         contextProvider.create(getUser(servletRequest),getTenant(servletRequest));
31       }
32
33       filterChain.doFilter(servletRequest, servletResponse);
34     } finally {
35       contextProvider.close();
36     }
37   }
38
39   @Override
40   public void destroy() {
41
42   }
43
44   public abstract String getUser(ServletRequest servletRequest);
45
46   public abstract String getTenant(ServletRequest servletRequest);
47 }