Move test outside the loop
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 16 Feb 2011 14:18:12 +0000 (14:18 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 16 Feb 2011 14:18:12 +0000 (14:18 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1071262 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/core/StandardContext.java

index 2091b11..c7bc03b 100644 (file)
@@ -5817,30 +5817,30 @@ public class StandardContext extends ContainerBase
 
         if ((instances != null) && (instances.length > 0)) {
 
-            ServletRequestEvent event = 
-                    new ServletRequestEvent(getServletContext(), request);
-
-            for (int i = 0; i < instances.length; i++) {
-                if (instances[i] == null)
-                    continue;
-                if (!(instances[i] instanceof ServletRequestListener))
-                    continue;
-                ServletRequestListener listener =
-                    (ServletRequestListener) instances[i];
+            // Don't fire the listener for async requests
+            if (!DispatcherType.ASYNC.equals(request.getDispatcherType())) {
                 
-                try {
-                    // Don't fire the listener for async requests
-                    if (!DispatcherType.ASYNC.equals(
-                            request.getDispatcherType())) {
+                ServletRequestEvent event = 
+                        new ServletRequestEvent(getServletContext(), request);
+    
+                for (int i = 0; i < instances.length; i++) {
+                    if (instances[i] == null)
+                        continue;
+                    if (!(instances[i] instanceof ServletRequestListener))
+                        continue;
+                    ServletRequestListener listener =
+                        (ServletRequestListener) instances[i];
+                    
+                    try {
                         listener.requestInitialized(event);
+                    } catch (Throwable t) {
+                        ExceptionUtils.handleThrowable(t);
+                        getLogger().error(sm.getString(
+                                "standardContext.requestListener.requestInit",
+                                instances[i].getClass().getName()), t);
+                        request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, t);
+                        return false;
                     }
-                } catch (Throwable t) {
-                    ExceptionUtils.handleThrowable(t);
-                    getLogger().error(sm.getString(
-                            "standardContext.requestListener.requestInit",
-                            instances[i].getClass().getName()), t);
-                    request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, t);
-                    return false;
                 }
             }
         }
@@ -5854,31 +5854,31 @@ public class StandardContext extends ContainerBase
 
         if ((instances != null) && (instances.length > 0)) {
 
-            ServletRequestEvent event = 
+            // Don't fire the listener for async requests
+            if (!DispatcherType.ASYNC.equals(request.getDispatcherType())) {
+
+                ServletRequestEvent event = 
                     new ServletRequestEvent(getServletContext(), request);
 
-            for (int i = 0; i < instances.length; i++) {
-                int j = (instances.length -1) -i;
-                if (instances[j] == null)
-                    continue;
-                if (!(instances[j] instanceof ServletRequestListener))
-                    continue;
-                ServletRequestListener listener =
-                    (ServletRequestListener) instances[j];
-                
-                try {
-                    // Don't fire the listener for async requests
-                    if (!DispatcherType.ASYNC.equals(
-                            request.getDispatcherType())) {
+                for (int i = 0; i < instances.length; i++) {
+                    int j = (instances.length -1) -i;
+                    if (instances[j] == null)
+                        continue;
+                    if (!(instances[j] instanceof ServletRequestListener))
+                        continue;
+                    ServletRequestListener listener =
+                        (ServletRequestListener) instances[j];
+                    
+                    try {
                         listener.requestDestroyed(event);
+                    } catch (Throwable t) {
+                        ExceptionUtils.handleThrowable(t);
+                        getLogger().error(sm.getString(
+                                "standardContext.requestListener.requestInit",
+                                instances[j].getClass().getName()), t);
+                        request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, t);
+                        return false;
                     }
-                } catch (Throwable t) {
-                    ExceptionUtils.handleThrowable(t);
-                    getLogger().error(sm.getString(
-                            "standardContext.requestListener.requestInit",
-                            instances[j].getClass().getName()), t);
-                    request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, t);
-                    return false;
                 }
             }
         }