package org.netomi.tracker.util; import java.util.Locale; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.i18n.LocaleContextHolder; import com.vaadin.Application; import com.vaadin.terminal.gwt.server.HttpServletRequestListener; public abstract class BaseApplication extends Application implements HttpServletRequestListener { private static final long serialVersionUID = 1L; private static Logger logger = LoggerFactory.getLogger(BaseApplication.class); @Override public Locale getLocale() { return LocaleContextHolder.getLocale(); } @Override public void setLocale(Locale locale) { LocaleContextHolder.setLocale(locale); } public final void onRequestStart(HttpServletRequest request, HttpServletResponse response) { if (logger.isTraceEnabled()) { logger.trace("onRequestStart()"); } ApplicationHolder.setApplication(this); requestStart(request, response); } public final void onRequestEnd(HttpServletRequest request, HttpServletResponse response) { if (logger.isTraceEnabled()) { logger.trace("onRequestEnd()"); } try { requestEnd(request, response); } finally { ApplicationHolder.resetApplication(); } } public void requestEnd(HttpServletRequest request, HttpServletResponse response) { } public void requestStart(HttpServletRequest request, HttpServletResponse response) { } }