diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/HtmlUnitRequestBuilder.java b/spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/HtmlUnitRequestBuilder.java index 81391ebb1b..f95408cdd3 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/HtmlUnitRequestBuilder.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/HtmlUnitRequestBuilder.java @@ -213,8 +213,9 @@ final class HtmlUnitRequestBuilder implements RequestBuilder, Mergeable { private void authType(MockHttpServletRequest request) { String authorization = header("Authorization"); - if (authorization != null) { - request.setAuthType(StringUtils.split(authorization, ": ")[0]); + String[] authSplit = StringUtils.split(authorization, ": "); + if (authSplit != null) { + request.setAuthType(authSplit[0]); } } @@ -434,20 +435,19 @@ final class HtmlUnitRequestBuilder implements RequestBuilder, Mergeable { @Override public Object merge(Object parent) { - if (parent == null) { - return this; - } - if (parent instanceof MockHttpServletRequestBuilder) { - MockHttpServletRequestBuilder copiedParent = MockMvcRequestBuilders.get("/"); - copiedParent.merge(parent); - this.parentBuilder = copiedParent; - } else if (parent instanceof RequestBuilder) { - this.parentBuilder = (RequestBuilder) parent; - } - if (parent instanceof SmartRequestBuilder) { - this.parentPostProcessor = (SmartRequestBuilder) parent; + if (parent instanceof RequestBuilder) { + if (parent instanceof MockHttpServletRequestBuilder) { + MockHttpServletRequestBuilder copiedParent = MockMvcRequestBuilders.get("/"); + copiedParent.merge(parent); + this.parentBuilder = copiedParent; + } + else { + this.parentBuilder = (RequestBuilder) parent; + } + if (parent instanceof SmartRequestBuilder) { + this.parentPostProcessor = (SmartRequestBuilder) parent; + } } - return this; } diff --git a/spring-tx/src/main/java/org/springframework/transaction/event/ApplicationListenerMethodTransactionalAdapter.java b/spring-tx/src/main/java/org/springframework/transaction/event/ApplicationListenerMethodTransactionalAdapter.java index 5998522c69..a33b07bc63 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/event/ApplicationListenerMethodTransactionalAdapter.java +++ b/spring-tx/src/main/java/org/springframework/transaction/event/ApplicationListenerMethodTransactionalAdapter.java @@ -32,10 +32,10 @@ import org.springframework.transaction.support.TransactionSynchronizationManager * an event to a {@link TransactionalEventListener} annotated method. Supports * the exact same features as any regular {@link EventListener} annotated method * but is aware of the transactional context of the event publisher. - *
- * Processing of {@link TransactionalEventListener} is enabled automatically when - * Spring's transaction management is enabled. For other cases, registering a - * bean of type {@link TransactionalEventListenerFactory} is required. + * + *
Processing of {@link TransactionalEventListener} is enabled automatically
+ * when Spring's transaction management is enabled. For other cases, registering
+ * a bean of type {@link TransactionalEventListenerFactory} is required.
*
* @author Stephane Nicoll
* @author Juergen Hoeller
@@ -69,8 +69,11 @@ class ApplicationListenerMethodTransactionalAdapter extends ApplicationListenerM
}
processEvent(event);
}
- else if (logger.isDebugEnabled()) {
- logger.debug("No transaction is running - skipping " + event);
+ else {
+ // No transactional event execution at all
+ if (logger.isDebugEnabled()) {
+ logger.debug("No transaction is active - skipping " + event);
+ }
}
}
diff --git a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java
index d3b4a04e66..7214bbb452 100644
--- a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java
+++ b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java
@@ -808,13 +808,14 @@ public class HttpHeaders implements MultiValueMap If the given {@linkplain InetSocketAddress#getPort() port} is {@code 0}, the host header
- * will only contain the {@linkplain InetSocketAddress#getHostString() hostname}.
+ * If the given {@linkplain InetSocketAddress#getPort() port} is {@code 0},
+ * the host header will only contain the
+ * {@linkplain InetSocketAddress#getHostString() hostname}.
+ * @since 5.0
*/
public void setHost(InetSocketAddress host) {
- String value =
- host.getPort() != 0 ? String.format("%s:%d", host.getHostString(), host.getPort()) :
- host.getHostString();
+ String value = (host.getPort() != 0 ?
+ String.format("%s:%d", host.getHostString(), host.getPort()) : host.getHostString());
set(HOST, value);
}
@@ -822,6 +823,7 @@ public class HttpHeaders implements MultiValueMap If the header value does not contain a port, the returned
* {@linkplain InetSocketAddress#getPort() port} will be {@code 0}.
+ * @since 5.0
*/
public InetSocketAddress getHost() {
String value = getFirst(HOST);
diff --git a/spring-web/src/main/java/org/springframework/http/HttpRange.java b/spring-web/src/main/java/org/springframework/http/HttpRange.java
index 421c8bd777..02e7f10859 100644
--- a/spring-web/src/main/java/org/springframework/http/HttpRange.java
+++ b/spring-web/src/main/java/org/springframework/http/HttpRange.java
@@ -56,8 +56,8 @@ public abstract class HttpRange {
public ResourceRegion toResourceRegion(Resource resource) {
// Don't try to determine contentLength on InputStreamResource - cannot be read afterwards...
// Note: custom InputStreamResource subclasses could provide a pre-calculated content length!
- Assert.isTrue(InputStreamResource.class != resource.getClass(),
- "Can't convert an InputStreamResource to a ResourceRegion");
+ Assert.isTrue(resource.getClass() != InputStreamResource.class,
+ "Cannot convert an InputStreamResource to a ResourceRegion");
try {
long contentLength = resource.contentLength();
Assert.isTrue(contentLength > 0, "Resource content length should be > 0");
@@ -163,12 +163,12 @@ public abstract class HttpRange {
}
/**
- * Convert each {@code HttpRange} into a {@code ResourceRegion},
- * selecting the appropriate segment of the given {@code Resource}
- * using the HTTP Range information.
+ * Convert each {@code HttpRange} into a {@code ResourceRegion}, selecting the
+ * appropriate segment of the given {@code Resource} using HTTP Range information.
* @param ranges the list of ranges
* @param resource the resource to select the regions from
* @return the list of regions for the given resource
+ * @since 4.3
*/
public static List