From 9820abe11c0c037f50bb2f7ddbb0bd19646264dc Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Fri, 7 Apr 2017 10:29:52 +0300 Subject: juick-www: merge juick-spring-www i18n, drop thymeleaf --- .../www/configuration/WwwServletConfiguration.java | 157 --------------------- 1 file changed, 157 deletions(-) delete mode 100644 juick-spring-www/src/main/java/com/juick/www/configuration/WwwServletConfiguration.java (limited to 'juick-spring-www/src/main/java/com/juick/www/configuration/WwwServletConfiguration.java') diff --git a/juick-spring-www/src/main/java/com/juick/www/configuration/WwwServletConfiguration.java b/juick-spring-www/src/main/java/com/juick/www/configuration/WwwServletConfiguration.java deleted file mode 100644 index 5cd251e6..00000000 --- a/juick-spring-www/src/main/java/com/juick/www/configuration/WwwServletConfiguration.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.juick.www.configuration; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; -import com.juick.www.formatter.SpringDateFormatter; -import nz.net.ultraq.thymeleaf.LayoutDialect; -import org.apache.commons.lang3.BooleanUtils; -import org.apache.commons.lang3.CharEncoding; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; -import org.springframework.core.env.Environment; -import org.springframework.format.FormatterRegistry; -import org.springframework.http.CacheControl; -import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.web.multipart.MultipartResolver; -import org.springframework.web.multipart.commons.CommonsMultipartResolver; -import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; -import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; -import org.springframework.web.servlet.resource.PathResourceResolver; -import org.thymeleaf.extras.springsecurity4.dialect.SpringSecurityDialect; -import org.thymeleaf.spring4.SpringTemplateEngine; -import org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver; -import org.thymeleaf.spring4.view.ThymeleafViewResolver; -import org.thymeleaf.templatemode.TemplateMode; - -import javax.annotation.Resource; -import java.util.List; -import java.util.concurrent.TimeUnit; - -/** - * Created by vitalyster on 28.06.2016. - */ -@Configuration -@ComponentScan(basePackages = {"com.juick.www.controllers"}) -@PropertySource("classpath:juick.conf") -public class WwwServletConfiguration extends WebMvcConfigurationSupport { - @Resource - private Environment env; - - @Bean - public SpringResourceTemplateResolver templateResolver() { - // SpringResourceTemplateResolver automatically integrates with Spring's own - // resource resolution infrastructure, which is highly recommended. - SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver(); - templateResolver.setApplicationContext(getApplicationContext()); - templateResolver.setPrefix("/WEB-INF/templates/"); - templateResolver.setSuffix(".html"); - // HTML is the default value, added here for the sake of clarity. - templateResolver.setTemplateMode(TemplateMode.HTML); - // Template cache is true by default. Set to false if you want - // templates to be automatically updated when modified. - templateResolver.setCacheable(true); - - templateResolver.setCharacterEncoding(CharEncoding.UTF_8); - return templateResolver; - } - - @Bean - public SpringTemplateEngine templateEngine() { - // SpringTemplateEngine automatically applies SpringStandardDialect and - // enables Spring's own MessageSource message resolution mechanisms. - SpringTemplateEngine templateEngine = new SpringTemplateEngine(); - templateEngine.setTemplateResolver(templateResolver()); - // Enabling the SpringEL compiler with Spring 4.2.4 or newer can - // speed up execution in most scenarios, but might be incompatible - // with specific cases when expressions in one template are reused - // across different data types, so this flag is "false" by default - // for safer backwards compatibility. - templateEngine.setEnableSpringELCompiler(true); - // Thymeleaf Layout Dialect - templateEngine.addDialect(new LayoutDialect()); - // Thymeleaf Spring Security integration dialect - templateEngine.addDialect(new SpringSecurityDialect()); - - return templateEngine; - } - - @Bean - public ThymeleafViewResolver viewResolver() { - ThymeleafViewResolver viewResolver = new ThymeleafViewResolver(); - viewResolver.setTemplateEngine(templateEngine()); - viewResolver.setCharacterEncoding(CharEncoding.UTF_8); - - viewResolver.addStaticVariable( - "showSape", BooleanUtils.toBoolean(env.getProperty("template.showSape", "true"))); - viewResolver.addStaticVariable( - "showAdv", BooleanUtils.toBoolean(env.getProperty("template.showAdv", "true"))); - viewResolver.addStaticVariable( - "showSponsors", BooleanUtils.toBoolean(env.getProperty("template.showSponsors", "false"))); - - return viewResolver; - } - - @Override - protected void configureMessageConverters(List> converters) { - Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder() - .serializationInclusion(JsonInclude.Include.NON_DEFAULT) - .serializationInclusion(JsonInclude.Include.NON_NULL) - .serializationInclusion(JsonInclude.Include.NON_ABSENT) - .serializationInclusion(JsonInclude.Include.NON_EMPTY); - - MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(builder.build()); - converter.getObjectMapper().registerModule(new Jdk8Module()); - converters.add(converter); - - super.configureMessageConverters(converters); - } - - @Override - protected void addResourceHandlers(ResourceHandlerRegistry registry) { - registry.setOrder(0); - registry.addResourceHandler( - "/scripts.js*", - "/style.css*", - "/*.png", - "/favicon.ico") - .addResourceLocations("/") - .setCacheControl(CacheControl.maxAge(30, TimeUnit.DAYS)) - .resourceChain(true) - .addResolver(new PathResourceResolver()); - - registry.addResourceHandler("/static/**") - .addResourceLocations("/static/") - .setCacheControl(CacheControl.maxAge(30, TimeUnit.DAYS)); - } - - @Override - public RequestMappingHandlerMapping requestMappingHandlerMapping() { - RequestMappingHandlerMapping result = super.requestMappingHandlerMapping(); - - result.setOrder(1); - - return result; - } - - @Override - public void addFormatters(final FormatterRegistry registry) { - registry.addFormatter(dateFormatter()); - } - - @Bean - public SpringDateFormatter dateFormatter() { - return new SpringDateFormatter(); - } - - @Bean - public MultipartResolver multipartResolver() { - CommonsMultipartResolver resolver = new CommonsMultipartResolver(); - resolver.setMaxUploadSize(10000000); - return resolver; - } -} -- cgit v1.2.3