package de.ivu.elect.business.lokalisierung.control;

import java.io.IOException;

import javax.faces.event.PhaseEvent;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class LokalisierungSchluesselCollectorFilter implements Filter {

  public void afterPhase(PhaseEvent phaseEvent) {
  }

  @Override
  public void init(FilterConfig filterConfig) throws ServletException {
// nichts zu tun
  }

  @Override
  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    try {
      filterChain.doFilter(servletRequest, servletResponse);
    } catch (Exception e){
      throw e;
    }finally {
      // Siehe LokalisierungSchluesselCollectorPhaseListener
      if (LokalisierungStore.isSchluesselPerRequestSammelnAktiv()) {
        LokalisierungStore.removeLokalisierungSchluesselCollector();
      }
    }

  }

  @Override
  public void destroy() {
    // nichts zu tun
  }
}



