Subversion Repositories SmartDukaan

Rev

Rev 33693 | Rev 33759 | 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
 
30275 amit.gupta 3
import com.fasterxml.jackson.databind.ObjectMapper;
4
import com.spice.profitmandi.web.interceptor.AuthenticationInterceptor;
33756 ranu 5
import com.spice.profitmandi.web.interceptor.PostInterceptor;
30275 amit.gupta 6
import com.spice.profitmandi.web.interceptor.RoleInterceptor;
21561 ashik.ali 7
import org.springframework.beans.factory.annotation.Autowired;
32773 raveendra. 8
import org.springframework.context.annotation.Bean;
21555 kshitij.so 9
import org.springframework.context.annotation.ComponentScan;
10
import org.springframework.context.annotation.Configuration;
23886 amit.gupta 11
import org.springframework.format.FormatterRegistry;
12
import org.springframework.format.datetime.standard.DateTimeFormatterRegistrar;
27013 amit.gupta 13
import org.springframework.http.MediaType;
23878 amit.gupta 14
import org.springframework.http.converter.HttpMessageConverter;
15
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
32773 raveendra. 16
import org.springframework.web.servlet.LocaleResolver;
30275 amit.gupta 17
import org.springframework.web.servlet.config.annotation.*;
32773 raveendra. 18
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
19
import org.springframework.web.servlet.i18n.SessionLocaleResolver;
21555 kshitij.so 20
 
30275 amit.gupta 21
import java.util.List;
32773 raveendra. 22
import java.util.Locale;
21561 ashik.ali 23
 
21555 kshitij.so 24
@EnableWebMvc
25
@Configuration
32916 amit.gupta 26
@ComponentScan({"com.spice.profitmandi.*"})
27013 amit.gupta 27
public class WebConfig extends WebMvcConfigurerAdapter {
28
 
32916 amit.gupta 29
    private static final String RESOURCES_PATTERN = "/resources/**";
30
    private static final String RESOURCES_LOCATION = "/resources/";
27013 amit.gupta 31
 
32916 amit.gupta 32
    @Autowired
33
    AuthenticationInterceptor authenticationInterceptor;
27013 amit.gupta 34
 
33756 ranu 35
    //This interceptor is to ensures only single POST Request is passed at a moment
36
    //based on idempotency key provided through client side
32916 amit.gupta 37
    @Autowired
33756 ranu 38
    PostInterceptor postInterceptor;
39
 
40
    @Autowired
32916 amit.gupta 41
    RoleInterceptor roleInterceptor;
27013 amit.gupta 42
 
32916 amit.gupta 43
    @Autowired
44
    ObjectMapper objectMapper;
31281 amit.gupta 45
 
32916 amit.gupta 46
    @Override
47
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
48
        registry.addResourceHandler(RESOURCES_PATTERN).addResourceLocations(RESOURCES_LOCATION);
49
    }
27013 amit.gupta 50
 
32916 amit.gupta 51
    @Override
52
    public void addInterceptors(InterceptorRegistry registry) {
53
        // registry.addInterceptor()
54
        registry.addInterceptor(localeChangeInterceptor());
55
        registry.addInterceptor(authenticationInterceptor).addPathPatterns("/**").excludePathPatterns("/hdfctest/**",
56
                "/hdfc/**", "/spicemoney/callback", "/login", "/login/", "/forgetPassword", "/forgetPassword/", "/",
57
                "/checkplans", "/12dashboard34", "/mandii", "/imei/validate", "/fundfina/**", "/virtualaccount/push-credits", "/wa-invoice-send/**",
33693 ranu 58
                "/click2call/report-handler", "/click2call/report-handler/recording-url", "/wa-listen", "/upsellPayment/callback");
59
        registry.addInterceptor(roleInterceptor).excludePathPatterns("/hdfctest/**", "/hdfc/**", "/spicemoney/callback", "/upsellPayment/callback", "/click2call/report-handler/recording-url", "/click2call/report-handler",
32916 amit.gupta 60
                "/login", "/login/", "/register", "/register/", "/forgetPassword", "/forgetPassword/", "/", "",
61
                "/12dashboard34", "/mandii", "/imei/validate", "/fundfina/**", "/virtualaccount/push-credits", "/wa-invoice-send/**", "/wa-listen");
33756 ranu 62
        registry.addInterceptor(postInterceptor).addPathPatterns("/**").excludePathPatterns("/login", "/login/", "/upsellPayment/callback", "/click2call/report-handler/recording-url", "/click2call/report-handler");
32916 amit.gupta 63
    }
27013 amit.gupta 64
 
32916 amit.gupta 65
    @Override
66
    public void addFormatters(FormatterRegistry registry) {
67
        DateTimeFormatterRegistrar registrar = new DateTimeFormatterRegistrar();
68
        registrar.setUseIsoFormat(true);
69
        registrar.registerFormatters(registry);
70
    }
23886 amit.gupta 71
 
32916 amit.gupta 72
    @Override
73
    public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
74
        converters.add(new MappingJackson2HttpMessageConverter(objectMapper));
75
    }
27013 amit.gupta 76
 
77
 
32916 amit.gupta 78
    @Override
79
    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
80
        configurer.defaultContentType(MediaType.APPLICATION_JSON_UTF8);
81
    }
27013 amit.gupta 82
 
32916 amit.gupta 83
    @Bean
84
    public LocaleResolver localeResolver() {
85
        SessionLocaleResolver slr = new SessionLocaleResolver();
86
        slr.setDefaultLocale(Locale.US);
87
        return slr;
88
    }
32773 raveendra. 89
 
32916 amit.gupta 90
    @Bean
91
    public LocaleChangeInterceptor localeChangeInterceptor() {
92
        LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
93
        lci.setParamName("lang");
94
        return lci;
95
    }
32773 raveendra. 96
 
97
 
32793 amit.gupta 98
	/*@Override
32773 raveendra. 99
	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
100
		StringHttpMessageConverter stringConverter = new StringHttpMessageConverter();
101
		stringConverter.setSupportedMediaTypes(Arrays.asList(new MediaType("text", "plain", StandardCharsets.UTF_8)));
102
		converters.add(stringConverter);
103
 
104
		// Add other converters ...
105
	}
32793 amit.gupta 106
*/
32773 raveendra. 107
 
21555 kshitij.so 108
}