1 package org.onap.sdc.workflow.server.filters;
3 import static org.onap.sdc.workflow.api.RestConstants.USER_ID_HEADER_PARAM;
5 import java.io.IOException;
6 import javax.servlet.Filter;
7 import javax.servlet.FilterChain;
8 import javax.servlet.FilterConfig;
9 import javax.servlet.ServletException;
10 import javax.servlet.ServletRequest;
11 import javax.servlet.ServletResponse;
12 import javax.servlet.http.HttpServletRequest;
13 import org.onap.sdc.workflow.server.config.ZusammenConfig;
14 import org.openecomp.sdc.common.session.SessionContextProvider;
15 import org.openecomp.sdc.common.session.SessionContextProviderFactory;
16 import org.springframework.beans.factory.annotation.Autowired;
17 import org.springframework.stereotype.Component;
20 public class SessionContextFilter implements Filter {
22 private ZusammenConfig zusammenConfig;
25 public SessionContextFilter(ZusammenConfig zusammenConfig) {
26 this.zusammenConfig = zusammenConfig;
30 public void init(FilterConfig filterConfig) {
35 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
36 throws IOException, ServletException {
37 SessionContextProvider contextProvider = SessionContextProviderFactory.getInstance().createInterface();
40 if (servletRequest instanceof HttpServletRequest) {
41 contextProvider.create(getUser(servletRequest), getTenant());
44 filterChain.doFilter(servletRequest, servletResponse);
46 contextProvider.close();
51 public void destroy() {
55 private String getUser(ServletRequest servletRequest) {
57 // TODO: 7/11/2018 get user from header when collaboration will be supported
58 //((HttpServletRequest) servletRequest).getHeader(USER_ID_HEADER_PARAM);
61 private String getTenant() {
62 return zusammenConfig.getTenant();