Subversion Repositories SmartDukaan

Rev

Rev 35387 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21165 ashik.ali 1
package com.spice.profitmandi.web.config;
2
 
35387 amit 3
import java.util.EnumSet;
4
 
5
import javax.servlet.DispatcherType;
35385 amit 6
import javax.servlet.FilterRegistration;
21165 ashik.ali 7
import javax.servlet.ServletContext;
8
 
9
import javax.servlet.ServletException;
10
import javax.servlet.ServletRegistration;
11
 
23568 govind 12
import org.apache.logging.log4j.Logger;
13
import org.apache.logging.log4j.LogManager;
21165 ashik.ali 14
import org.springframework.web.WebApplicationInitializer;
15
import org.springframework.web.context.ContextLoaderListener;
16
import org.springframework.web.context.WebApplicationContext;
17
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
18
import org.springframework.web.servlet.DispatcherServlet;
19
 
35385 amit 20
import com.spice.profitmandi.common.web.filter.CorsFilter;
36510 amit 21
import com.spice.profitmandi.web.filter.RequestCachingFilter;
35385 amit 22
 
21165 ashik.ali 23
public class SpringWebAppInitializer implements WebApplicationInitializer{
24
 
23568 govind 25
	private static final Logger LOGGER=LogManager.getLogger(SpringWebAppInitializer.class);
21165 ashik.ali 26
 
27
	private static final String DISPATCHER_SERVLET_NAME="DispatcherServlet";
21220 ashik.ali 28
	private static final String SPRING_CONFIG_PACKAGE_LOCATION="com.spice.profitmandi.web.config";
21165 ashik.ali 29
 
30
	public void onStartup(ServletContext servletContext) throws ServletException {
31
		WebApplicationContext context = getContext();
32
        servletContext.addListener(new ContextLoaderListener(context));
33
        ServletRegistration.Dynamic dispatcher = servletContext.addServlet(DISPATCHER_SERVLET_NAME, new DispatcherServlet(context));
34
        dispatcher.setLoadOnStartup(1);
35
        dispatcher.addMapping("/");
35385 amit 36
 
36510 amit 37
        FilterRegistration.Dynamic cachingFilter = servletContext.addFilter("requestCachingFilter", new RequestCachingFilter());
38
        cachingFilter.addMappingForServletNames(null, false, DISPATCHER_SERVLET_NAME);
39
 
35385 amit 40
        // Register CORS filter to handle CORS for all requests including error responses
41
        FilterRegistration.Dynamic corsFilter = servletContext.addFilter("corsFilter", new CorsFilter());
35387 amit 42
        corsFilter.addMappingForUrlPatterns(
43
                EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD, DispatcherType.INCLUDE, DispatcherType.ERROR),
44
                false,
45
                "/*"
46
        );
35385 amit 47
 
21165 ashik.ali 48
        LOGGER.info("Context is loaded");
49
	}
50
 
51
	private AnnotationConfigWebApplicationContext getContext() {
52
        AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
53
        context.setConfigLocation(SPRING_CONFIG_PACKAGE_LOCATION);
54
        return context;
55
    }
56
 
57
 
58
}