package com.aperture_software.glados_wiki.spring.webmvc;
import com.aperture_software.glados_wiki.spring.shiro.ShiroSessionHandlerMethodArgumentResolver;
import com.aperture_software.glados_wiki.webmvc.interceptors.TimezoneInteceptor;
import com.aperture_software.glados_wiki.webmvc.interceptors.WebappPathInterceptor;
import com.aperture_software.glados_wiki.webmvc.interceptors.WikiConfigInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import java.util.List;
@Configuration
public class WebMvcConfigContext extends WebMvcConfigurerAdapter {
@Autowired
private WebappPathInterceptor webappPathInterceptor;
@Autowired
private TimezoneInteceptor timezoneInteceptor;
@Autowired
private ShiroSessionHandlerMethodArgumentResolver shiroSessionHandlerMethodArgumentResolver;
@Autowired
private WikiConfigInterceptor wikiConfigInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
super.addInterceptors(registry);
//
registry.addInterceptor(webappPathInterceptor);
registry.addInterceptor(timezoneInteceptor);
registry.addInterceptor(wikiConfigInterceptor);
}
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
argumentResolvers.add(shiroSessionHandlerMethodArgumentResolver);
}
}