Browse Source

Consistently check DispatcherType to avoid NPE in tests

Closes gh-26602
pull/26612/head
Rossen Stoyanchev 5 years ago
parent
commit
e04269cadd
  1. 4
      spring-web/src/main/java/org/springframework/web/filter/OncePerRequestFilter.java
  2. 6
      spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java
  3. 6
      spring-webmvc/src/main/java/org/springframework/web/servlet/FrameworkServlet.java
  4. 2
      spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractHandlerMapping.java

4
spring-web/src/main/java/org/springframework/web/filter/OncePerRequestFilter.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2020 the original author or authors.
* Copyright 2002-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -145,7 +145,7 @@ public abstract class OncePerRequestFilter extends GenericFilterBean { @@ -145,7 +145,7 @@ public abstract class OncePerRequestFilter extends GenericFilterBean {
* @see WebAsyncManager#hasConcurrentResult()
*/
protected boolean isAsyncDispatch(HttpServletRequest request) {
return request.getDispatcherType().equals(DispatcherType.ASYNC);
return DispatcherType.ASYNC.equals(request.getDispatcherType());
}
/**

6
spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java

@ -986,8 +986,8 @@ public class DispatcherServlet extends FrameworkServlet { @@ -986,8 +986,8 @@ public class DispatcherServlet extends FrameworkServlet {
String queryString = request.getQueryString();
String queryClause = (StringUtils.hasLength(queryString) ? "?" + queryString : "");
String dispatchType = (!request.getDispatcherType().equals(DispatcherType.REQUEST) ?
"\"" + request.getDispatcherType().name() + "\" dispatch for " : "");
String dispatchType = (!DispatcherType.REQUEST.equals(request.getDispatcherType()) ?
"\"" + request.getDispatcherType() + "\" dispatch for " : "");
String message = (dispatchType + request.getMethod() + " \"" + getRequestUri(request) +
queryClause + "\", parameters={" + params + "}");
@ -1185,7 +1185,7 @@ public class DispatcherServlet extends FrameworkServlet { @@ -1185,7 +1185,7 @@ public class DispatcherServlet extends FrameworkServlet {
protected HttpServletRequest checkMultipart(HttpServletRequest request) throws MultipartException {
if (this.multipartResolver != null && this.multipartResolver.isMultipart(request)) {
if (WebUtils.getNativeRequest(request, MultipartHttpServletRequest.class) != null) {
if (request.getDispatcherType().equals(DispatcherType.REQUEST)) {
if (DispatcherType.REQUEST.equals(request.getDispatcherType())) {
logger.trace("Request already resolved to MultipartHttpServletRequest, e.g. by MultipartFilter");
}
}

6
spring-webmvc/src/main/java/org/springframework/web/servlet/FrameworkServlet.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2020 the original author or authors.
* Copyright 2002-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -1084,8 +1084,8 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic @@ -1084,8 +1084,8 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic
return;
}
String dispatchType = request.getDispatcherType().name();
boolean initialDispatch = request.getDispatcherType().equals(DispatcherType.REQUEST);
DispatcherType dispatchType = request.getDispatcherType();
boolean initialDispatch = DispatcherType.REQUEST.equals(request.getDispatcherType());
if (failureCause != null) {
if (!initialDispatch) {

2
spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractHandlerMapping.java

@ -519,7 +519,7 @@ public abstract class AbstractHandlerMapping extends WebApplicationObjectSupport @@ -519,7 +519,7 @@ public abstract class AbstractHandlerMapping extends WebApplicationObjectSupport
if (logger.isTraceEnabled()) {
logger.trace("Mapped to " + handler);
}
else if (logger.isDebugEnabled() && !request.getDispatcherType().equals(DispatcherType.ASYNC)) {
else if (logger.isDebugEnabled() && !DispatcherType.ASYNC.equals(request.getDispatcherType())) {
logger.debug("Mapped to " + executionChain.getHandler());
}

Loading…
Cancel
Save