From bb8be509cdcd2d9512bcbab487dd5d85c6e888fe Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Tue, 19 Aug 2014 15:27:59 -0400 Subject: [PATCH] Remove return statements in finally blocks --- .../web/servlet/DispatcherServlet.java | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java index 69bffd6b20..b053335858 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java @@ -877,12 +877,11 @@ public class DispatcherServlet extends FrameworkServlet { doDispatch(request, response); } finally { - if (WebAsyncUtils.getAsyncManager(request).isConcurrentHandlingStarted()) { - return; - } - // Restore the original attribute snapshot, in case of an include. - if (attributesSnapshot != null) { - restoreAttributesAfterInclude(request, attributesSnapshot); + if (!WebAsyncUtils.getAsyncManager(request).isConcurrentHandlingStarted()) { + // Restore the original attribute snapshot, in case of an include. + if (attributesSnapshot != null) { + restoreAttributesAfterInclude(request, attributesSnapshot); + } } } } @@ -940,14 +939,11 @@ public class DispatcherServlet extends FrameworkServlet { return; } - try { - // Actually invoke the handler. - mv = ha.handle(processedRequest, response, mappedHandler.getHandler()); - } - finally { - if (asyncManager.isConcurrentHandlingStarted()) { - return; - } + // Actually invoke the handler. + mv = ha.handle(processedRequest, response, mappedHandler.getHandler()); + + if (asyncManager.isConcurrentHandlingStarted()) { + return; } applyDefaultViewName(request, mv); @@ -967,12 +963,15 @@ public class DispatcherServlet extends FrameworkServlet { finally { if (asyncManager.isConcurrentHandlingStarted()) { // Instead of postHandle and afterCompletion - mappedHandler.applyAfterConcurrentHandlingStarted(processedRequest, response); - return; + if (mappedHandler != null) { + mappedHandler.applyAfterConcurrentHandlingStarted(processedRequest, response); + } } - // Clean up any resources used by a multipart request. - if (multipartRequestParsed) { - cleanupMultipart(processedRequest); + else { + // Clean up any resources used by a multipart request. + if (multipartRequestParsed) { + cleanupMultipart(processedRequest); + } } } }