package cn.huge.module.config;
|
|
import org.flowable.ui.modeler.rest.app.EditorGroupsResource;
|
import org.flowable.ui.modeler.rest.app.EditorUsersResource;
|
import org.flowable.ui.modeler.rest.app.StencilSetResource;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.boot.autoconfigure.web.servlet.WebMvcRegistrations;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.ComponentScan;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.FilterType;
|
import org.springframework.scheduling.annotation.EnableAsync;
|
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
|
import org.springframework.web.servlet.i18n.SessionLocaleResolver;
|
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
|
|
/**
|
* AppDispatcherServletConfiguration
|
* @author jinlei
|
* @date 2019/3/13 13:24
|
*/
|
@Configuration
|
@ComponentScan(value = {"org.flowable.ui.modeler.rest.app"},
|
excludeFilters = {
|
@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = StencilSetResource.class),
|
@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = EditorUsersResource.class),
|
@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = EditorGroupsResource.class),
|
})
|
@EnableAsync
|
public class AppDispatcherServletConfiguration implements WebMvcRegistrations {
|
private static final Logger LOGGER = LoggerFactory.getLogger(AppDispatcherServletConfiguration.class);
|
|
@Bean
|
public SessionLocaleResolver localeResolver() {
|
return new SessionLocaleResolver();
|
}
|
|
@Bean
|
public LocaleChangeInterceptor localeChangeInterceptor() {
|
LOGGER.debug("Configuring localeChangeInterceptor");
|
LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
|
localeChangeInterceptor.setParamName("language");
|
return localeChangeInterceptor;
|
}
|
|
@Override
|
public RequestMappingHandlerMapping getRequestMappingHandlerMapping() {
|
LOGGER.debug("Creating requestMappingHandlerMapping");
|
RequestMappingHandlerMapping requestMappingHandlerMapping = new RequestMappingHandlerMapping();
|
requestMappingHandlerMapping.setUseSuffixPatternMatch(false);
|
requestMappingHandlerMapping.setRemoveSemicolonContent(false);
|
Object[] interceptors = { localeChangeInterceptor() };
|
requestMappingHandlerMapping.setInterceptors(interceptors);
|
return requestMappingHandlerMapping;
|
}
|
}
|