aboutsummaryrefslogtreecommitdiff
path: root/juick-spring-www/src/main/java/com/juick/www/configuration/WwwServletConfiguration.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-spring-www/src/main/java/com/juick/www/configuration/WwwServletConfiguration.java')
-rw-r--r--juick-spring-www/src/main/java/com/juick/www/configuration/WwwServletConfiguration.java157
1 files changed, 0 insertions, 157 deletions
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<HttpMessageConverter<?>> 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;
- }
-}