001package org.lanyonm.playground.config;
002
003import javax.servlet.Filter;
004
005import org.lanyonm.playground.service.ExceptionServiceImpl;
006import org.lanyonm.playground.service.TodoServiceImpl;
007import org.lanyonm.playground.service.UserServiceImpl;
008// import org.slf4j.MDC;
009import org.springframework.web.filter.CharacterEncodingFilter;
010import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
011
012import com.opensymphony.sitemesh.webapp.SiteMeshFilter;
013
014/**
015 * Java Config for this application.  Life begins here.
016 *
017 * @author lanyonm
018 */
019public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
020
021        @Override
022        protected Class<?>[] getRootConfigClasses() {
023                // MDC.put("environment", System.getenv("APP_ENV") != null ? System.getenv("APP_ENV") : "dev");
024                return new Class<?>[]{DataConfig.class, ExceptionServiceImpl.class, TodoServiceImpl.class, UserServiceImpl.class, ViewResolver.class};
025        }
026
027        @Override
028        protected Class<?>[] getServletConfigClasses() {
029                return new Class<?>[]{WebConfig.class};
030        }
031
032        @Override
033        protected Filter[] getServletFilters() {
034                CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
035                characterEncodingFilter.setEncoding("UTF-8");
036                return new Filter[]{ characterEncodingFilter, new SiteMeshFilter() };
037        }
038
039        @Override
040        protected String[] getServletMappings() {
041                return new String[]{"/"};
042        }
043
044}