Author: remy.maucherat(a)jboss.com
Date: 2010-12-07 17:40:05 -0500 (Tue, 07 Dec 2010)
New Revision: 1608
Modified:
trunk/java/org/apache/catalina/core/StandardHostValve.java
Log:
- Fix bad cast created when copying the code from context to host valve.
Modified: trunk/java/org/apache/catalina/core/StandardHostValve.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardHostValve.java 2010-12-07 14:20:50 UTC
(rev 1607)
+++ trunk/java/org/apache/catalina/core/StandardHostValve.java 2010-12-07 22:40:05 UTC
(rev 1608)
@@ -119,11 +119,8 @@
}
// Bind the context CL to the current thread
- if( context.getLoader() != null ) {
- // Not started - it should check for availability first
- // This should eventually move to Engine, it's generic.
- Thread.currentThread().setContextClassLoader
- (context.getLoader().getClassLoader());
+ if (context.getLoader() != null) {
+
Thread.currentThread().setContextClassLoader(context.getLoader().getClassLoader());
}
// Enter application scope
@@ -133,17 +130,14 @@
if ((instances != null)
&& (instances.length > 0)) {
- event = new ServletRequestEvent
- (((StandardContext) container).getServletContext(),
- request.getRequest());
+ event = new ServletRequestEvent(context.getServletContext(),
request.getRequest());
// create pre-service event
for (int i = 0; i < instances.length; i++) {
if (instances[i] == null)
continue;
if (!(instances[i] instanceof ServletRequestListener))
continue;
- ServletRequestListener listener =
- (ServletRequestListener) instances[i];
+ ServletRequestListener listener = (ServletRequestListener) instances[i];
try {
listener.requestInitialized(event);
} catch (Throwable t) {
@@ -185,8 +179,7 @@
continue;
if (!(instances[i] instanceof ServletRequestListener))
continue;
- ServletRequestListener listener =
- (ServletRequestListener) instances[i];
+ ServletRequestListener listener = (ServletRequestListener) instances[i];
try {
listener.requestDestroyed(event);
} catch (Throwable t2) {
@@ -197,10 +190,9 @@
}
}
}
-
+
// Restore the context classloader
- Thread.currentThread().setContextClassLoader
- (StandardHostValve.class.getClassLoader());
+
Thread.currentThread().setContextClassLoader(StandardHostValve.class.getClassLoader());
}
@@ -222,28 +214,22 @@
Context context = request.getContext();
// Bind the context CL to the current thread
- if( context.getLoader() != null ) {
- // Not started - it should check for availability first
- // This should eventually move to Engine, it's generic.
- Thread.currentThread().setContextClassLoader
- (context.getLoader().getClassLoader());
+ if (context.getLoader() != null) {
+
Thread.currentThread().setContextClassLoader(context.getLoader().getClassLoader());
}
// Enter application scope
Object instances[] = context.getApplicationEventListeners();
ServletRequestEvent event2 = null;
if (instances != null && (instances.length > 0)) {
- event2 = new ServletRequestEvent
- (((StandardContext) container).getServletContext(),
- request.getRequest());
+ event2 = new ServletRequestEvent(context.getServletContext(),
request.getRequest());
// create pre-service event
for (int i = 0; i < instances.length; i++) {
if (instances[i] == null)
continue;
if (!(instances[i] instanceof ServletRequestListener))
continue;
- ServletRequestListener listener =
- (ServletRequestListener) instances[i];
+ ServletRequestListener listener = (ServletRequestListener) instances[i];
try {
listener.requestInitialized(event2);
} catch (Throwable t) {
@@ -299,8 +285,7 @@
continue;
if (!(instances[i] instanceof ServletRequestListener))
continue;
- ServletRequestListener listener =
- (ServletRequestListener) instances[i];
+ ServletRequestListener listener = (ServletRequestListener) instances[i];
try {
listener.requestDestroyed(event2);
} catch (Throwable t) {
@@ -311,10 +296,9 @@
}
}
}
-
+
// Restore the context classloader
- Thread.currentThread().setContextClassLoader
- (StandardHostValve.class.getClassLoader());
+
Thread.currentThread().setContextClassLoader(StandardHostValve.class.getClassLoader());
}
Show replies by date