Author: rmannibucau
Date: Fri Aug 19 15:48:58 2011
New Revision: 1159668
URL: http://svn.apache.org/viewvc?rev=1159668&view=rev
Log:
adding an asynclistener to replace old valve inside tomcat
Modified:
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBValve.java
Modified:
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBValve.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBValve.java?rev=1159668&r1=1159667&r2=1159668&view=diff
==============================================================================
---
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBValve.java
(original)
+++
openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBValve.java
Fri Aug 19 15:48:58 2011
@@ -37,21 +37,16 @@ public class OpenEJBValve extends ValveB
}
public void invoke(Request request, Response response) throws IOException,
ServletException {
+ OpenEJBSecurityListener listener = new
OpenEJBSecurityListener(securityService, request);
if (!request.isAsync()) {
- Object oldState = null;
- if (securityService != null && request.getWrapper() != null) {
- oldState =
securityService.enterWebApp(request.getWrapper().getRealm(),
request.getPrincipal(), request.getWrapper().getRunAs());
- }
-
+ listener.enter();
try {
getNext().invoke(request, response);
} finally {
- if (securityService != null) {
- securityService.exitWebApp(oldState);
- }
+ listener.exit();
}
} else {
- // for async request security should be initialized elsewhere
+ request.getAsyncContext().addListener(new
OpenEJBSecurityListener(securityService, request));
getNext().invoke(request, response);
}
}