Package org.springframework.web.servlet

Examples of org.springframework.web.servlet.HandlerInterceptor


import com.serotonin.m2m2.module.HandlerInterceptorDefinition;

public class InterceptorDefinition extends HandlerInterceptorDefinition {
    @Override
    public HandlerInterceptor getInterceptor() {
        return new HandlerInterceptor() {
            @Override
            public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
                    throws Exception {
                request.setAttribute("dojoURI", getModule().getWebPath() + "/web/dojo-release-1.7.3/");
                return true;
View Full Code Here


        // Apply preHandle methods of registered interceptors.
        HandlerInterceptor[] interceptors = mappedHandler.getInterceptors();
        if (interceptors != null) {
          for (int i = 0; i < interceptors.length; i++) {
            HandlerInterceptor interceptor = interceptors[i];
            if (!interceptor.preHandle(processedRequest, processedResponse, mappedHandler.getHandler())) {
              triggerAfterCompletion(mappedHandler, interceptorIndex, processedRequest, response, null);
              return;
            }
            interceptorIndex = i;
          }
        }

        // Actually invoke the handler.
        mv = ha.handle(processedRequest, response, mappedHandler.getHandler());

        // Do we need view name translation?
        if (mv != null && !mv.hasView()) {
          mv.setViewName(getDefaultViewName(request));
        }

        // Apply postHandle methods of registered interceptors.
        if (interceptors != null) {
          for (int i = interceptors.length - 1; i >= 0; i--) {
            HandlerInterceptor interceptor = interceptors[i];
            interceptor.postHandle(processedRequest, processedResponse, mappedHandler.getHandler(), mv);
          }
        }
      }
      catch (ModelAndViewDefiningException ex) {
        logger.debug("ModelAndViewDefiningException encountered", ex);
View Full Code Here

    // Apply afterCompletion methods of registered interceptors.
    if (mappedHandler != null) {
      HandlerInterceptor[] interceptors = mappedHandler.getInterceptors();
      if (interceptors != null) {
        for (int i = interceptorIndex; i >= 0; i--) {
          HandlerInterceptor interceptor = interceptors[i];
          try {
            interceptor.afterCompletion(request, response, mappedHandler.getHandler(), ex);
          }
          catch (Throwable ex2) {
            logger.error("HandlerInterceptor.afterCompletion threw exception", ex2);
          }
        }
View Full Code Here

       
        //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 );
        }
    }
View Full Code Here

  }

  public void testOpenEntityManagerInterceptorInView() throws Exception {
    OpenEntityManagerInViewInterceptor rawInterceptor = new OpenEntityManagerInViewInterceptor();
    rawInterceptor.setEntityManagerFactory(factory);
    HandlerInterceptor interceptor = new WebRequestHandlerInterceptorAdapter(rawInterceptor);

    MockServletContext sc = new MockServletContext();
    MockHttpServletRequest request = new MockHttpServletRequest(sc);
    MockHttpServletResponse response = new MockHttpServletResponse();
   
    managerControl.replay();
    factoryControl.replay();
   
    interceptor.preHandle(request, response, "handler");
    assertTrue(TransactionSynchronizationManager.hasResource(factory));
   
    // check that further invocations simply participate
    interceptor.preHandle(request, response, "handler");

    interceptor.preHandle(request, response, "handler");
    interceptor.postHandle(request, response, "handler", null);
    interceptor.afterCompletion(request, response, "handler", null);

    interceptor.postHandle(request, response, "handler", null);
    interceptor.afterCompletion(request, response, "handler", null);

    interceptor.preHandle(request, response, "handler");
    interceptor.postHandle(request, response, "handler", null);
    interceptor.afterCompletion(request, response, "handler", null);
   
    factoryControl.verify();
    managerControl.verify();
   
    managerControl.reset();
    factoryControl.reset();
    managerControl.replay();
    factoryControl.replay();
   
    interceptor.postHandle(request, response, "handler", null);
    assertTrue(TransactionSynchronizationManager.hasResource(factory));
   
    factoryControl.verify();
    managerControl.verify();
   
    managerControl.reset();
    factoryControl.reset();
   
    manager.close();
   
    managerControl.replay();
    factoryControl.replay();
   
    interceptor.afterCompletion(request, response, "handler", null);
    assertFalse(TransactionSynchronizationManager.hasResource(factory));
   
    factoryControl.verify();
    managerControl.verify();
  }
View Full Code Here

    tm.getTransaction();
    tmControl.setReturnValue(null, 2);

    OpenSessionInViewInterceptor rawInterceptor = new OpenSessionInViewInterceptor();
    rawInterceptor.setSessionFactory(sf);
    HandlerInterceptor interceptor = new WebRequestHandlerInterceptorAdapter(rawInterceptor);

    MockServletContext sc = new MockServletContext();
    MockHttpServletRequest request = new MockHttpServletRequest(sc);
    MockHttpServletResponse response = new MockHttpServletResponse();

    sf.getTransactionManager();
    sfControl.setReturnValue(tm, 2);
    sf.openSession();
    sfControl.setReturnValue(session, 1);
    session.isOpen();
    sessionControl.setReturnValue(true, 1);
    session.setFlushMode(FlushMode.NEVER);
    sessionControl.setVoidCallable(1);

    tmControl.replay();
    sfControl.replay();
    sessionControl.replay();

    interceptor.preHandle(request, response, "handler");
    assertTrue(TransactionSynchronizationManager.hasResource(sf));

    // check that further invocations simply participate
    interceptor.preHandle(request, response, "handler");

    assertEquals(session, SessionFactoryUtils.getSession(sf, false));

    interceptor.preHandle(request, response, "handler");
    interceptor.postHandle(request, response, "handler", null);
    interceptor.afterCompletion(request, response, "handler", null);

    interceptor.postHandle(request, response, "handler", null);
    interceptor.afterCompletion(request, response, "handler", null);

    interceptor.preHandle(request, response, "handler");
    interceptor.postHandle(request, response, "handler", null);
    interceptor.afterCompletion(request, response, "handler", null);

    sfControl.verify();
    sessionControl.verify();

    sfControl.reset();
    sessionControl.reset();
    sfControl.replay();
    sessionControl.replay();
    interceptor.postHandle(request, response, "handler", null);
    assertTrue(TransactionSynchronizationManager.hasResource(sf));
    sfControl.verify();
    sessionControl.verify();

    sfControl.reset();
    sessionControl.reset();
    session.close();
    sessionControl.setReturnValue(null, 1);
    sfControl.replay();
    sessionControl.replay();
    interceptor.afterCompletion(request, response, "handler", null);
    assertFalse(TransactionSynchronizationManager.hasResource(sf));
    sfControl.verify();
    sessionControl.verify();
  }
View Full Code Here

    Session session = (Session) sessionControl.getMock();

    OpenSessionInViewInterceptor rawInterceptor = new OpenSessionInViewInterceptor();
    rawInterceptor.setSessionFactory(sf);
    rawInterceptor.setFlushMode(HibernateAccessor.FLUSH_AUTO);
    HandlerInterceptor interceptor = new WebRequestHandlerInterceptorAdapter(rawInterceptor);

    MockServletContext sc = new MockServletContext();
    MockHttpServletRequest request = new MockHttpServletRequest(sc);
    MockHttpServletResponse response = new MockHttpServletResponse();

    sf.openSession();
    sfControl.setReturnValue(session, 1);
    session.getSessionFactory();
    sessionControl.setReturnValue(sf);
    sfControl.replay();
    sessionControl.replay();
    interceptor.preHandle(request, response, "handler");
    assertTrue(TransactionSynchronizationManager.hasResource(sf));
    sfControl.verify();
    sessionControl.verify();

    sfControl.reset();
    sessionControl.reset();
    session.flush();
    sessionControl.setVoidCallable(1);
    sfControl.replay();
    sessionControl.replay();
    interceptor.postHandle(request, response, "handler", null);
    assertTrue(TransactionSynchronizationManager.hasResource(sf));
    sfControl.verify();
    sessionControl.verify();

    sfControl.reset();
    sessionControl.reset();
    session.close();
    sessionControl.setReturnValue(null, 1);
    sfControl.replay();
    sessionControl.replay();
    interceptor.afterCompletion(request, response, "handler", null);
    assertFalse(TransactionSynchronizationManager.hasResource(sf));
    sfControl.verify();
    sessionControl.verify();
  }
View Full Code Here

    Session session = (Session) sessionControl.getMock();

    OpenSessionInViewInterceptor rawInterceptor = new OpenSessionInViewInterceptor();
    rawInterceptor.setSessionFactory(sf);
    rawInterceptor.setSingleSession(false);
    HandlerInterceptor interceptor = new WebRequestHandlerInterceptorAdapter(rawInterceptor);

    MockServletContext sc = new MockServletContext();
    MockHttpServletRequest request = new MockHttpServletRequest(sc);
    MockHttpServletResponse response = new MockHttpServletResponse();

    sf.openSession();
    sfControl.setReturnValue(session, 1);
    session.getSessionFactory();
    sessionControl.setReturnValue(sf, 1);
    session.setFlushMode(FlushMode.NEVER);
    sessionControl.setVoidCallable(1);
    sfControl.replay();
    sessionControl.replay();

    interceptor.preHandle(request, response, "handler");
    org.hibernate.Session sess = SessionFactoryUtils.getSession(sf, true);
    SessionFactoryUtils.releaseSession(sess, sf);

    // check that further invocations simply participate
    interceptor.preHandle(request, response, "handler");

    interceptor.preHandle(request, response, "handler");
    interceptor.postHandle(request, response, "handler", null);
    interceptor.afterCompletion(request, response, "handler", null);

    interceptor.postHandle(request, response, "handler", null);
    interceptor.afterCompletion(request, response, "handler", null);

    interceptor.preHandle(request, response, "handler");
    interceptor.postHandle(request, response, "handler", null);
    interceptor.afterCompletion(request, response, "handler", null);

    sfControl.verify();
    sessionControl.verify();
    sfControl.reset();
    sessionControl.reset();

    session.close();
    sessionControl.setReturnValue(null, 1);
    sfControl.replay();
    sessionControl.replay();

    interceptor.postHandle(request, response, "handler", null);
    interceptor.afterCompletion(request, response, "handler", null);
    sfControl.verify();
    sessionControl.verify();
  }
View Full Code Here

    MockFilterConfig filterConfig2 = new MockFilterConfig(wac.getServletContext(), "filter2");
    filterConfig2.addInitParameter("sessionFactoryBeanName", "mySessionFactory");

    OpenSessionInViewInterceptor rawInterceptor = new OpenSessionInViewInterceptor();
    rawInterceptor.setSessionFactory(sf);
    HandlerInterceptor interceptor = new WebRequestHandlerInterceptorAdapter(rawInterceptor);

    interceptor.preHandle(request, response, "handler");

    final OpenSessionInViewFilter filter = new OpenSessionInViewFilter();
    filter.init(filterConfig);

    final FilterChain filterChain = new FilterChain() {
      public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) {
        assertTrue(TransactionSynchronizationManager.hasResource(sf));
        servletRequest.setAttribute("invoked", Boolean.TRUE);
      }
    };

    assertTrue(TransactionSynchronizationManager.hasResource(sf));
    filter.doFilter(request, response, filterChain);
    assertTrue(TransactionSynchronizationManager.hasResource(sf));
    assertNotNull(request.getAttribute("invoked"));

    interceptor.postHandle(request, response, "handler", null);
    interceptor.afterCompletion(request, response, "handler", null);

    sfControl.verify();
    sessionControl.verify();

    wac.close();
View Full Code Here

    filterConfig2.addInitParameter("sessionFactoryBeanName", "mySessionFactory");

    OpenSessionInViewInterceptor rawInterceptor = new OpenSessionInViewInterceptor();
    rawInterceptor.setSessionFactory(sf);
    rawInterceptor.setSingleSession(false);
    HandlerInterceptor interceptor = new WebRequestHandlerInterceptorAdapter(rawInterceptor);

    interceptor.preHandle(request, response, "handler");

    final OpenSessionInViewFilter filter = new OpenSessionInViewFilter();
    filter.init(filterConfig);
    final OpenSessionInViewFilter filter2 = new OpenSessionInViewFilter();
    filter2.init(filterConfig2);

    final FilterChain filterChain = new FilterChain() {
      public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse) {
        HibernateTransactionManager tm = new HibernateTransactionManager(sf);
        TransactionStatus ts = tm.getTransaction(
            new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_SUPPORTS));
        org.hibernate.Session sess = SessionFactoryUtils.getSession(sf, true);
        SessionFactoryUtils.releaseSession(sess, sf);
        tm.commit(ts);

        sessionControl.verify();
        sessionControl.reset();
        try {
          session.close();
        }
        catch (HibernateException ex) {
        }
        sessionControl.setReturnValue(null, 1);
        sessionControl.replay();

        servletRequest.setAttribute("invoked", Boolean.TRUE);
      }
    };

    FilterChain filterChain2 = new FilterChain() {
      public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse)
          throws IOException, ServletException {
        filter.doFilter(servletRequest, servletResponse, filterChain);
      }
    };

    filter.doFilter(request, response, filterChain2);
    assertNotNull(request.getAttribute("invoked"));

    interceptor.postHandle(request, response, "handler", null);
    interceptor.afterCompletion(request, response, "handler", null);

    sfControl.verify();
    sessionControl.verify();

    wac.close();
View Full Code Here

TOP

Related Classes of org.springframework.web.servlet.HandlerInterceptor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.