Example usage for org.springframework.web.servlet DispatcherServlet service

List of usage examples for org.springframework.web.servlet DispatcherServlet service

Introduction

In this page you can find the example usage for org.springframework.web.servlet DispatcherServlet service.

Prototype

@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException 

Source Link

Document

Override the parent class implementation in order to intercept PATCH requests.

Usage

From source file:org.geoserver.test.GeoServerAbstractTestSupport.java

private void dispatch(HttpServletRequest request, HttpServletResponse response) throws Exception {
    final DispatcherServlet dispatcher = getDispatcher();

    // build a filter chain so that we can test with filters as well
    MockFilterChain chain = new MockFilterChain();
    List<Filter> filters = getFilters();
    if (filters != null) {
        for (Filter filter : filters) {
            chain.addFilter(filter);//from  w  ww  .ja  v  a 2s.  c  o  m
        }
    }
    chain.setServlet(new HttpServlet() {
        @Override
        protected void service(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            try {
                //excute the pre handler step
                Collection interceptors = GeoServerExtensions.extensions(HandlerInterceptor.class,
                        applicationContext);
                for (Iterator i = interceptors.iterator(); i.hasNext();) {
                    HandlerInterceptor interceptor = (HandlerInterceptor) i.next();
                    interceptor.preHandle(request, response, dispatcher);
                }

                //execute 
                //dispatcher.handleRequest( request, response );
                dispatcher.service(request, response);

                //execute the post handler step
                for (Iterator i = interceptors.iterator(); i.hasNext();) {
                    HandlerInterceptor interceptor = (HandlerInterceptor) i.next();
                    interceptor.postHandle(request, response, dispatcher, null);
                }
            } catch (RuntimeException e) {
                throw e;
            } catch (IOException e) {
                throw e;
            } catch (ServletException e) {
                throw e;
            } catch (Exception e) {
                throw (IOException) new IOException("Failed to handle the request").initCause(e);
            }
        }
    });

    chain.doFilter(request, response);

}