|
|
|
@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
/* |
|
|
|
* Copyright 2002-2007 the original author or authors. |
|
|
|
* Copyright 2002-2011 the original author or authors. |
|
|
|
* |
|
|
|
* |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
@ -16,25 +16,21 @@ |
|
|
|
|
|
|
|
|
|
|
|
package org.springframework.orm.hibernate3.support; |
|
|
|
package org.springframework.orm.hibernate3.support; |
|
|
|
|
|
|
|
|
|
|
|
import junit.framework.TestCase; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import org.easymock.MockControl; |
|
|
|
|
|
|
|
import org.hibernate.classic.Session; |
|
|
|
|
|
|
|
import org.hibernate.SessionFactory; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
import java.io.IOException; |
|
|
|
import java.sql.Connection; |
|
|
|
import java.sql.Connection; |
|
|
|
|
|
|
|
|
|
|
|
import javax.servlet.FilterChain; |
|
|
|
import javax.servlet.FilterChain; |
|
|
|
import javax.servlet.ServletException; |
|
|
|
import javax.servlet.ServletException; |
|
|
|
import javax.servlet.ServletRequest; |
|
|
|
import javax.servlet.ServletRequest; |
|
|
|
import javax.servlet.ServletResponse; |
|
|
|
import javax.servlet.ServletResponse; |
|
|
|
import javax.transaction.TransactionManager; |
|
|
|
import javax.transaction.TransactionManager; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import junit.framework.TestCase; |
|
|
|
|
|
|
|
import org.easymock.MockControl; |
|
|
|
import org.hibernate.FlushMode; |
|
|
|
import org.hibernate.FlushMode; |
|
|
|
import org.hibernate.HibernateException; |
|
|
|
import org.hibernate.HibernateException; |
|
|
|
|
|
|
|
import org.hibernate.SessionFactory; |
|
|
|
import org.hibernate.Transaction; |
|
|
|
import org.hibernate.Transaction; |
|
|
|
|
|
|
|
import org.hibernate.classic.Session; |
|
|
|
import org.hibernate.engine.SessionFactoryImplementor; |
|
|
|
import org.hibernate.engine.SessionFactoryImplementor; |
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.mock.web.MockFilterConfig; |
|
|
|
import org.springframework.mock.web.MockFilterConfig; |
|
|
|
@ -50,9 +46,8 @@ import org.springframework.transaction.TransactionStatus; |
|
|
|
import org.springframework.transaction.support.DefaultTransactionDefinition; |
|
|
|
import org.springframework.transaction.support.DefaultTransactionDefinition; |
|
|
|
import org.springframework.transaction.support.TransactionSynchronizationManager; |
|
|
|
import org.springframework.transaction.support.TransactionSynchronizationManager; |
|
|
|
import org.springframework.web.context.WebApplicationContext; |
|
|
|
import org.springframework.web.context.WebApplicationContext; |
|
|
|
|
|
|
|
import org.springframework.web.context.request.ServletWebRequest; |
|
|
|
import org.springframework.web.context.support.StaticWebApplicationContext; |
|
|
|
import org.springframework.web.context.support.StaticWebApplicationContext; |
|
|
|
import org.springframework.web.servlet.HandlerInterceptor; |
|
|
|
|
|
|
|
import org.springframework.web.servlet.handler.WebRequestHandlerInterceptorAdapter; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* @author Juergen Hoeller |
|
|
|
* @author Juergen Hoeller |
|
|
|
@ -70,16 +65,12 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
MockControl sessionControl = MockControl.createControl(Session.class); |
|
|
|
MockControl sessionControl = MockControl.createControl(Session.class); |
|
|
|
Session session = (Session) sessionControl.getMock(); |
|
|
|
Session session = (Session) sessionControl.getMock(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OpenSessionInViewInterceptor interceptor = new OpenSessionInViewInterceptor(); |
|
|
|
OpenSessionInViewInterceptor rawInterceptor = new OpenSessionInViewInterceptor(); |
|
|
|
interceptor.setSessionFactory(sf); |
|
|
|
rawInterceptor.setSessionFactory(sf); |
|
|
|
|
|
|
|
HandlerInterceptor interceptor = new WebRequestHandlerInterceptorAdapter(rawInterceptor); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MockServletContext sc = new MockServletContext(); |
|
|
|
MockServletContext sc = new MockServletContext(); |
|
|
|
MockHttpServletRequest request = new MockHttpServletRequest(sc); |
|
|
|
MockHttpServletRequest request = new MockHttpServletRequest(sc); |
|
|
|
MockHttpServletResponse response = new MockHttpServletResponse(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//expect(mockStorage.size()).andReturn(expectedValue);
|
|
|
|
//expect(mockStorage.size()).andReturn(expectedValue);
|
|
|
|
|
|
|
|
|
|
|
|
//expect(sf.openSession()).andReturn(session);
|
|
|
|
//expect(sf.openSession()).andReturn(session);
|
|
|
|
@ -93,24 +84,24 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
sessionControl.setVoidCallable(1); |
|
|
|
sessionControl.setVoidCallable(1); |
|
|
|
sfControl.replay(); |
|
|
|
sfControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
|
|
|
|
|
|
|
|
// check that further invocations simply participate
|
|
|
|
// check that further invocations simply participate
|
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
|
|
|
|
|
|
|
|
assertEquals(session, SessionFactoryUtils.getSession(sf, false)); |
|
|
|
assertEquals(session, SessionFactoryUtils.getSession(sf, false)); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
|
|
|
|
|
|
|
|
sfControl.verify(); |
|
|
|
sfControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
@ -119,7 +110,7 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
sessionControl.reset(); |
|
|
|
sessionControl.reset(); |
|
|
|
sfControl.replay(); |
|
|
|
sfControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
sfControl.verify(); |
|
|
|
sfControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
@ -130,7 +121,7 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
sessionControl.setReturnValue(null, 1); |
|
|
|
sessionControl.setReturnValue(null, 1); |
|
|
|
sfControl.replay(); |
|
|
|
sfControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
assertFalse(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
assertFalse(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
sfControl.verify(); |
|
|
|
sfControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
@ -147,9 +138,8 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
tm.getTransaction(); |
|
|
|
tm.getTransaction(); |
|
|
|
tmControl.setReturnValue(null, 2); |
|
|
|
tmControl.setReturnValue(null, 2); |
|
|
|
|
|
|
|
|
|
|
|
OpenSessionInViewInterceptor rawInterceptor = new OpenSessionInViewInterceptor(); |
|
|
|
OpenSessionInViewInterceptor interceptor = new OpenSessionInViewInterceptor(); |
|
|
|
rawInterceptor.setSessionFactory(sf); |
|
|
|
interceptor.setSessionFactory(sf); |
|
|
|
HandlerInterceptor interceptor = new WebRequestHandlerInterceptorAdapter(rawInterceptor); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MockServletContext sc = new MockServletContext(); |
|
|
|
MockServletContext sc = new MockServletContext(); |
|
|
|
MockHttpServletRequest request = new MockHttpServletRequest(sc); |
|
|
|
MockHttpServletRequest request = new MockHttpServletRequest(sc); |
|
|
|
@ -168,24 +158,24 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
sfControl.replay(); |
|
|
|
sfControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
|
|
|
|
|
|
|
|
// check that further invocations simply participate
|
|
|
|
// check that further invocations simply participate
|
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
|
|
|
|
|
|
|
|
assertEquals(session, SessionFactoryUtils.getSession(sf, false)); |
|
|
|
assertEquals(session, SessionFactoryUtils.getSession(sf, false)); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
|
|
|
|
|
|
|
|
sfControl.verify(); |
|
|
|
sfControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
@ -194,7 +184,7 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
sessionControl.reset(); |
|
|
|
sessionControl.reset(); |
|
|
|
sfControl.replay(); |
|
|
|
sfControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
sfControl.verify(); |
|
|
|
sfControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
@ -205,7 +195,7 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
sessionControl.setReturnValue(null, 1); |
|
|
|
sessionControl.setReturnValue(null, 1); |
|
|
|
sfControl.replay(); |
|
|
|
sfControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
assertFalse(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
assertFalse(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
sfControl.verify(); |
|
|
|
sfControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
@ -217,10 +207,9 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
MockControl sessionControl = MockControl.createControl(Session.class); |
|
|
|
MockControl sessionControl = MockControl.createControl(Session.class); |
|
|
|
Session session = (Session) sessionControl.getMock(); |
|
|
|
Session session = (Session) sessionControl.getMock(); |
|
|
|
|
|
|
|
|
|
|
|
OpenSessionInViewInterceptor rawInterceptor = new OpenSessionInViewInterceptor(); |
|
|
|
OpenSessionInViewInterceptor interceptor = new OpenSessionInViewInterceptor(); |
|
|
|
rawInterceptor.setSessionFactory(sf); |
|
|
|
interceptor.setSessionFactory(sf); |
|
|
|
rawInterceptor.setFlushMode(HibernateAccessor.FLUSH_AUTO); |
|
|
|
interceptor.setFlushMode(HibernateAccessor.FLUSH_AUTO); |
|
|
|
HandlerInterceptor interceptor = new WebRequestHandlerInterceptorAdapter(rawInterceptor); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MockServletContext sc = new MockServletContext(); |
|
|
|
MockServletContext sc = new MockServletContext(); |
|
|
|
MockHttpServletRequest request = new MockHttpServletRequest(sc); |
|
|
|
MockHttpServletRequest request = new MockHttpServletRequest(sc); |
|
|
|
@ -232,7 +221,7 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
sessionControl.setReturnValue(sf); |
|
|
|
sessionControl.setReturnValue(sf); |
|
|
|
sfControl.replay(); |
|
|
|
sfControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
sfControl.verify(); |
|
|
|
sfControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
@ -243,7 +232,7 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
sessionControl.setVoidCallable(1); |
|
|
|
sessionControl.setVoidCallable(1); |
|
|
|
sfControl.replay(); |
|
|
|
sfControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
sfControl.verify(); |
|
|
|
sfControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
@ -254,7 +243,7 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
sessionControl.setReturnValue(null, 1); |
|
|
|
sessionControl.setReturnValue(null, 1); |
|
|
|
sfControl.replay(); |
|
|
|
sfControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
assertFalse(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
assertFalse(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
sfControl.verify(); |
|
|
|
sfControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
@ -266,10 +255,9 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
MockControl sessionControl = MockControl.createControl(Session.class); |
|
|
|
MockControl sessionControl = MockControl.createControl(Session.class); |
|
|
|
Session session = (Session) sessionControl.getMock(); |
|
|
|
Session session = (Session) sessionControl.getMock(); |
|
|
|
|
|
|
|
|
|
|
|
OpenSessionInViewInterceptor rawInterceptor = new OpenSessionInViewInterceptor(); |
|
|
|
OpenSessionInViewInterceptor interceptor = new OpenSessionInViewInterceptor(); |
|
|
|
rawInterceptor.setSessionFactory(sf); |
|
|
|
interceptor.setSessionFactory(sf); |
|
|
|
rawInterceptor.setSingleSession(false); |
|
|
|
interceptor.setSingleSession(false); |
|
|
|
HandlerInterceptor interceptor = new WebRequestHandlerInterceptorAdapter(rawInterceptor); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MockServletContext sc = new MockServletContext(); |
|
|
|
MockServletContext sc = new MockServletContext(); |
|
|
|
MockHttpServletRequest request = new MockHttpServletRequest(sc); |
|
|
|
MockHttpServletRequest request = new MockHttpServletRequest(sc); |
|
|
|
@ -284,23 +272,23 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
sfControl.replay(); |
|
|
|
sfControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
org.hibernate.Session sess = SessionFactoryUtils.getSession(sf, true); |
|
|
|
org.hibernate.Session sess = SessionFactoryUtils.getSession(sf, true); |
|
|
|
SessionFactoryUtils.releaseSession(sess, sf); |
|
|
|
SessionFactoryUtils.releaseSession(sess, sf); |
|
|
|
|
|
|
|
|
|
|
|
// check that further invocations simply participate
|
|
|
|
// check that further invocations simply participate
|
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
|
|
|
|
|
|
|
|
sfControl.verify(); |
|
|
|
sfControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
@ -312,8 +300,8 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
sfControl.replay(); |
|
|
|
sfControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
sessionControl.replay(); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
sfControl.verify(); |
|
|
|
sfControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -433,11 +421,10 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
MockFilterConfig filterConfig2 = new MockFilterConfig(wac.getServletContext(), "filter2"); |
|
|
|
MockFilterConfig filterConfig2 = new MockFilterConfig(wac.getServletContext(), "filter2"); |
|
|
|
filterConfig2.addInitParameter("sessionFactoryBeanName", "mySessionFactory"); |
|
|
|
filterConfig2.addInitParameter("sessionFactoryBeanName", "mySessionFactory"); |
|
|
|
|
|
|
|
|
|
|
|
OpenSessionInViewInterceptor rawInterceptor = new OpenSessionInViewInterceptor(); |
|
|
|
OpenSessionInViewInterceptor interceptor = new OpenSessionInViewInterceptor(); |
|
|
|
rawInterceptor.setSessionFactory(sf); |
|
|
|
interceptor.setSessionFactory(sf); |
|
|
|
HandlerInterceptor interceptor = new WebRequestHandlerInterceptorAdapter(rawInterceptor); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
|
|
|
|
|
|
|
|
final OpenSessionInViewFilter filter = new OpenSessionInViewFilter(); |
|
|
|
final OpenSessionInViewFilter filter = new OpenSessionInViewFilter(); |
|
|
|
filter.init(filterConfig); |
|
|
|
filter.init(filterConfig); |
|
|
|
@ -454,8 +441,8 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
assertTrue(TransactionSynchronizationManager.hasResource(sf)); |
|
|
|
assertNotNull(request.getAttribute("invoked")); |
|
|
|
assertNotNull(request.getAttribute("invoked")); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
|
|
|
|
|
|
|
|
sfControl.verify(); |
|
|
|
sfControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
@ -616,12 +603,11 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
filterConfig2.addInitParameter("singleSession", "false"); |
|
|
|
filterConfig2.addInitParameter("singleSession", "false"); |
|
|
|
filterConfig2.addInitParameter("sessionFactoryBeanName", "mySessionFactory"); |
|
|
|
filterConfig2.addInitParameter("sessionFactoryBeanName", "mySessionFactory"); |
|
|
|
|
|
|
|
|
|
|
|
OpenSessionInViewInterceptor rawInterceptor = new OpenSessionInViewInterceptor(); |
|
|
|
OpenSessionInViewInterceptor interceptor = new OpenSessionInViewInterceptor(); |
|
|
|
rawInterceptor.setSessionFactory(sf); |
|
|
|
interceptor.setSessionFactory(sf); |
|
|
|
rawInterceptor.setSingleSession(false); |
|
|
|
interceptor.setSingleSession(false); |
|
|
|
HandlerInterceptor interceptor = new WebRequestHandlerInterceptorAdapter(rawInterceptor); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
interceptor.preHandle(request, response, "handler"); |
|
|
|
interceptor.preHandle(new ServletWebRequest(request)); |
|
|
|
|
|
|
|
|
|
|
|
final OpenSessionInViewFilter filter = new OpenSessionInViewFilter(); |
|
|
|
final OpenSessionInViewFilter filter = new OpenSessionInViewFilter(); |
|
|
|
filter.init(filterConfig); |
|
|
|
filter.init(filterConfig); |
|
|
|
@ -661,8 +647,8 @@ public class OpenSessionInViewTests extends TestCase { |
|
|
|
filter.doFilter(request, response, filterChain2); |
|
|
|
filter.doFilter(request, response, filterChain2); |
|
|
|
assertNotNull(request.getAttribute("invoked")); |
|
|
|
assertNotNull(request.getAttribute("invoked")); |
|
|
|
|
|
|
|
|
|
|
|
interceptor.postHandle(request, response, "handler", null); |
|
|
|
interceptor.postHandle(new ServletWebRequest(request), null); |
|
|
|
interceptor.afterCompletion(request, response, "handler", null); |
|
|
|
interceptor.afterCompletion(new ServletWebRequest(request), null); |
|
|
|
|
|
|
|
|
|
|
|
sfControl.verify(); |
|
|
|
sfControl.verify(); |
|
|
|
sessionControl.verify(); |
|
|
|
sessionControl.verify(); |