Subversion Repositories SmartDukaan

Rev

Rev 23886 | Rev 23924 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21561 ashik.ali 1
package com.spice.profitmandi.web.config;
21555 kshitij.so 2
 
23878 amit.gupta 3
import java.util.List;
4
 
21561 ashik.ali 5
import org.springframework.beans.factory.annotation.Autowired;
21555 kshitij.so 6
import org.springframework.context.annotation.ComponentScan;
7
import org.springframework.context.annotation.Configuration;
23886 amit.gupta 8
import org.springframework.format.FormatterRegistry;
9
import org.springframework.format.datetime.standard.DateTimeFormatterRegistrar;
23878 amit.gupta 10
import org.springframework.http.converter.HttpMessageConverter;
23890 amit.gupta 11
import org.springframework.http.converter.ResourceHttpMessageConverter;
23878 amit.gupta 12
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
21555 kshitij.so 13
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
21561 ashik.ali 14
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
21555 kshitij.so 15
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
16
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
17
 
23878 amit.gupta 18
import com.fasterxml.jackson.databind.ObjectMapper;
23890 amit.gupta 19
import com.fasterxml.jackson.databind.SerializationFeature;
23878 amit.gupta 20
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
21
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
22
import com.fasterxml.jackson.module.paramnames.ParameterNamesModule;
21561 ashik.ali 23
import com.spice.profitmandi.web.interceptor.AuthenticationInterceptor;
22107 ashik.ali 24
import com.spice.profitmandi.web.interceptor.RoleInterceptor;
21561 ashik.ali 25
 
21555 kshitij.so 26
@EnableWebMvc
27
@Configuration
28
@ComponentScan({"com.spice.profitmandi.*"})
29
public class WebConfig extends WebMvcConfigurerAdapter{
30
 
31
	private static final String RESOURCES_PATTERN="/resources/**";
32
	private static final String RESOURCES_LOCATION="/resources/";
33
 
21561 ashik.ali 34
	@Autowired
35
	AuthenticationInterceptor authenticationInterceptor;
22107 ashik.ali 36
 
37
	@Autowired
38
	RoleInterceptor roleInterceptor;
39
 
21555 kshitij.so 40
	@Override
41
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
42
	   registry.addResourceHandler(RESOURCES_PATTERN).addResourceLocations(RESOURCES_LOCATION);
43
	}
44
 
21561 ashik.ali 45
	@Override
46
	public void addInterceptors(InterceptorRegistry registry) {
22151 amit.gupta 47
		registry.addInterceptor(authenticationInterceptor).addPathPatterns("/**").excludePathPatterns("/login", "/login/", "/", "");
48
		registry.addInterceptor(roleInterceptor).excludePathPatterns("/login", "/login/", "/register", "/register/", "", "/");
21561 ashik.ali 49
	}
50
 
23886 amit.gupta 51
	@Override
52
    public void addFormatters(FormatterRegistry registry) {
53
        DateTimeFormatterRegistrar registrar = new DateTimeFormatterRegistrar();
54
        registrar.setUseIsoFormat(true);
55
        registrar.registerFormatters(registry);
56
    }
57
 
23878 amit.gupta 58
 
23886 amit.gupta 59
 
23878 amit.gupta 60
	@Override
61
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
62
 
63
        converters.add(new MappingJackson2HttpMessageConverter(objectMapper()));
23890 amit.gupta 64
        converters.add(new ResourceHttpMessageConverter());	
23878 amit.gupta 65
        super.configureMessageConverters(converters);
66
    }
67
 
68
	private ObjectMapper objectMapper() {
69
		ObjectMapper mapper = new ObjectMapper()
70
				   .registerModule(new ParameterNamesModule())
71
				   .registerModule(new Jdk8Module())
72
				   .registerModule(new JavaTimeModule()); // new module, NOT JSR310Module
73
		return mapper;
74
	}
75
 
21555 kshitij.so 76
}