001 package tinlizard.web;
002
003 import tinlizard.model.CurrentUser;
004
005 import java.io.IOException;
006
007 import javax.servlet.Filter;
008 import javax.servlet.FilterChain;
009 import javax.servlet.FilterConfig;
010 import javax.servlet.ServletException;
011 import javax.servlet.ServletRequest;
012 import javax.servlet.ServletResponse;
013
014 import org.apache.log4j.Logger;
015
016 /**
017 * Servlet Filter to set Locale.
018 */
019 public class LocalizationFilter implements Filter {
020 private static final Logger LOG = Logger.getLogger(LocalizationFilter.class);
021
022 public void init(final FilterConfig filterConfig) throws ServletException {
023 }
024
025 public void destroy() {
026 }
027
028 public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException, ServletException {
029 if (LOG.isDebugEnabled()) {
030 LOG.debug("PRE.req:" + request.getLocale().getLanguage());
031 LOG.debug("PRE.resp:" + response.getLocale().getLanguage());
032 }
033
034 CurrentUser.setLocale(request.getLocale());
035 chain.doFilter(request, response);
036
037 if (LOG.isDebugEnabled()) {
038 LOG.debug("POST.req:" + request.getLocale().getLanguage());
039 LOG.debug("POST.resp:" + response.getLocale().getLanguage());
040 }
041 }
042 }