Polishing
This commit is contained in:
parent
a4b2ae583e
commit
efce7902c4
|
|
@ -91,7 +91,7 @@ public class ReaderContext {
|
|||
}
|
||||
|
||||
/**
|
||||
* Raise a fatal error.
|
||||
* Raise a regular error.
|
||||
*/
|
||||
public void error(String message, @Nullable Object source) {
|
||||
error(message, source, null, null);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
* Copyright 2002-2017 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.
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@ public class NoOpCache implements Cache {
|
|||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return this.name;
|
||||
|
|
|
|||
|
|
@ -97,7 +97,6 @@ public class GenericApplicationListenerAdapter implements GenericApplicationList
|
|||
ResolvableType declaredEventType = resolveDeclaredEventType(listener.getClass());
|
||||
if (declaredEventType == null || declaredEventType.isAssignableFrom(
|
||||
ResolvableType.forClass(ApplicationEvent.class))) {
|
||||
|
||||
Class<?> targetClass = AopUtils.getTargetClass(listener);
|
||||
if (targetClass != listener.getClass()) {
|
||||
declaredEventType = resolveDeclaredEventType(targetClass);
|
||||
|
|
|
|||
|
|
@ -110,7 +110,6 @@ public class KeyNamingStrategy implements ObjectNamingStrategy, InitializingBean
|
|||
* Merges the {@code Properties} configured in the {@code mappings} and
|
||||
* {@code mappingLocations} into the final {@code Properties} instance
|
||||
* used for {@code ObjectName} resolution.
|
||||
* @throws IOException
|
||||
*/
|
||||
@Override
|
||||
public void afterPropertiesSet() throws IOException {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2016 the original author or authors.
|
||||
* Copyright 2002-2017 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.
|
||||
|
|
@ -142,7 +142,7 @@ public class DefaultMessageCodesResolver implements MessageCodesResolver, Serial
|
|||
* object/field-specific code, a field-specific code, a plain error code.
|
||||
* <p>Arrays, Lists and Maps are resolved both for specific elements and
|
||||
* the whole collection.
|
||||
* <p>See the {@link DefaultMessageCodesResolver class level Javadoc} for
|
||||
* <p>See the {@link DefaultMessageCodesResolver class level javadoc} for
|
||||
* details on the generated codes.
|
||||
* @return the list of codes
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ public abstract class VfsUtils {
|
|||
Class<?> visitorAttributesClass = loader.loadClass(VFS3_PKG + "VisitorAttributes");
|
||||
VISITOR_ATTRIBUTES_FIELD_RECURSE = visitorAttributesClass.getField("RECURSE");
|
||||
}
|
||||
catch (Exception ex) {
|
||||
catch (Throwable ex) {
|
||||
throw new IllegalStateException("Could not detect JBoss VFS infrastructure", ex);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,6 +90,7 @@ public abstract class TemplateAwareExpressionParser implements ExpressionParser
|
|||
String prefix = context.getExpressionPrefix();
|
||||
String suffix = context.getExpressionSuffix();
|
||||
int startIdx = 0;
|
||||
|
||||
while (startIdx < expressionString.length()) {
|
||||
int prefixIndex = expressionString.indexOf(prefix, startIdx);
|
||||
if (prefixIndex >= startIdx) {
|
||||
|
|
@ -104,22 +105,18 @@ public abstract class TemplateAwareExpressionParser implements ExpressionParser
|
|||
"No ending suffix '" + suffix + "' for expression starting at character " +
|
||||
prefixIndex + ": " + expressionString.substring(prefixIndex));
|
||||
}
|
||||
|
||||
if (suffixIndex == afterPrefixIndex) {
|
||||
throw new ParseException(expressionString, prefixIndex,
|
||||
"No expression defined within delimiter '" + prefix + suffix +
|
||||
"' at character " + prefixIndex);
|
||||
}
|
||||
|
||||
String expr = expressionString.substring(prefixIndex + prefix.length(), suffixIndex);
|
||||
expr = expr.trim();
|
||||
|
||||
if (expr.isEmpty()) {
|
||||
throw new ParseException(expressionString, prefixIndex,
|
||||
"No expression defined within delimiter '" + prefix + suffix +
|
||||
"' at character " + prefixIndex);
|
||||
}
|
||||
|
||||
expressions.add(doParseExpression(expr, context));
|
||||
startIdx = suffixIndex + suffix.length();
|
||||
}
|
||||
|
|
@ -129,6 +126,7 @@ public abstract class TemplateAwareExpressionParser implements ExpressionParser
|
|||
startIdx = expressionString.length();
|
||||
}
|
||||
}
|
||||
|
||||
return expressions.toArray(new Expression[expressions.size()]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ public class FunctionReference extends SpelNodeImpl {
|
|||
|
||||
|
||||
public FunctionReference(String functionName, int pos, SpelNodeImpl... arguments) {
|
||||
super(pos,arguments);
|
||||
super(pos, arguments);
|
||||
this.name = functionName;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
* Copyright 2002-2017 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.
|
||||
|
|
|
|||
|
|
@ -196,9 +196,9 @@ public abstract class SpelNodeImpl implements SpelNode, Opcodes {
|
|||
|
||||
|
||||
/**
|
||||
* Generate code that handles building the argument values for the specified method. This method will take account
|
||||
* of whether the invoked method is a varargs method and if it is then the argument values will be appropriately
|
||||
* packaged into an array.
|
||||
* Generate code that handles building the argument values for the specified method.
|
||||
* This method will take account of whether the invoked method is a varargs method
|
||||
* and if it is then the argument values will be appropriately packaged into an array.
|
||||
* @param mv the method visitor where code should be generated
|
||||
* @param cf the current codeflow
|
||||
* @param member the method or constructor for which arguments are being setup
|
||||
|
|
@ -208,7 +208,7 @@ public abstract class SpelNodeImpl implements SpelNode, Opcodes {
|
|||
String[] paramDescriptors = null;
|
||||
boolean isVarargs = false;
|
||||
if (member instanceof Constructor) {
|
||||
Constructor<?> ctor = (Constructor<?>)member;
|
||||
Constructor<?> ctor = (Constructor<?>) member;
|
||||
paramDescriptors = CodeFlow.toDescriptors(ctor.getParameterTypes());
|
||||
isVarargs = ctor.isVarArgs();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ public class ReflectiveMethodExecutor implements MethodExecutor {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
public Method getMethod() {
|
||||
return this.method;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,8 +34,7 @@ public interface ContentTypeResolver {
|
|||
* Determine the {@link MimeType} of a message from the given MessageHeaders.
|
||||
* @param headers the headers to use for the resolution
|
||||
* @return the resolved {@code MimeType}, or {@code null} if none found
|
||||
* @throws org.springframework.util.InvalidMimeTypeException if the content type
|
||||
* is a String that cannot be parsed
|
||||
* @throws InvalidMimeTypeException if the content type is a String that cannot be parsed
|
||||
* @throws IllegalArgumentException if there is a content type but its type is unknown
|
||||
*/
|
||||
@Nullable
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2017 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.
|
||||
|
|
|
|||
|
|
@ -70,11 +70,15 @@ public class ChannelRegistration {
|
|||
}
|
||||
|
||||
/**
|
||||
* Configure interceptors for the message channel.
|
||||
* @deprecated as of 4.3.12, in favor of {@link #interceptors(ChannelInterceptor...)}
|
||||
*/
|
||||
@Deprecated
|
||||
public ChannelRegistration setInterceptors(ChannelInterceptor... interceptors) {
|
||||
return interceptors(interceptors);
|
||||
public ChannelRegistration setInterceptors(@Nullable ChannelInterceptor... interceptors) {
|
||||
if (interceptors != null) {
|
||||
this.interceptors.addAll(Arrays.asList(interceptors));
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -148,6 +148,7 @@ public interface StompSession {
|
|||
|
||||
/**
|
||||
* Return the headers used on the SUBSCRIBE frame.
|
||||
* @since 5.0
|
||||
*/
|
||||
StompHeaders getSubscriptionHeaders();
|
||||
|
||||
|
|
@ -160,6 +161,7 @@ public interface StompSession {
|
|||
* Alternative to {@link #unsubscribe()} with additional custom headers
|
||||
* to send to the server.
|
||||
* <p><strong>Note:</strong> There is no need to set the subscription id.
|
||||
* @since 5.0
|
||||
*/
|
||||
void unsubscribe(@Nullable StompHeaders stompHeaders);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -102,4 +102,5 @@ public class UserDestinationResult {
|
|||
return "UserDestinationResult [source=" + this.sourceDestination + ", target=" + this.targetDestinations +
|
||||
", subscribeDestination=" + this.subscribeDestination + ", user=" + this.user + "]";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ description = "Spring Object/XML Marshalling"
|
|||
|
||||
configurations {
|
||||
castor
|
||||
xjc
|
||||
jibx
|
||||
xjc
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
|
|
|||
|
|
@ -96,9 +96,11 @@ class TransactionContext {
|
|||
void startTransaction() {
|
||||
Assert.state(this.transactionStatus == null,
|
||||
"Cannot start a new transaction without ending the existing transaction first.");
|
||||
|
||||
this.flaggedForRollback = this.defaultRollback;
|
||||
this.transactionStatus = this.transactionManager.getTransaction(this.transactionDefinition);
|
||||
++this.transactionsStarted;
|
||||
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info(String.format(
|
||||
"Began transaction (%s) for test context %s; transaction manager [%s]; rollback [%s]",
|
||||
|
|
@ -113,14 +115,14 @@ class TransactionContext {
|
|||
void endTransaction() {
|
||||
if (logger.isTraceEnabled()) {
|
||||
logger.trace(String.format(
|
||||
"Ending transaction for test context %s; transaction status [%s]; rollback [%s]", this.testContext,
|
||||
this.transactionStatus, flaggedForRollback));
|
||||
"Ending transaction for test context %s; transaction status [%s]; rollback [%s]",
|
||||
this.testContext, this.transactionStatus, this.flaggedForRollback));
|
||||
}
|
||||
Assert.state(this.transactionStatus != null, () -> String.format(
|
||||
"Failed to end transaction for test context %s: transaction does not exist.", this.testContext));
|
||||
|
||||
try {
|
||||
if (flaggedForRollback) {
|
||||
if (this.flaggedForRollback) {
|
||||
this.transactionManager.rollback(this.transactionStatus);
|
||||
}
|
||||
else {
|
||||
|
|
@ -132,8 +134,8 @@ class TransactionContext {
|
|||
}
|
||||
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info(String.format("%s transaction for test context %s.", (flaggedForRollback ? "Rolled back"
|
||||
: "Committed"), this.testContext));
|
||||
logger.info(String.format("%s transaction for test context %s.",
|
||||
(this.flaggedForRollback ? "Rolled back" : "Committed"), this.testContext));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2016 the original author or authors.
|
||||
* Copyright 2002-2017 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.
|
||||
|
|
@ -51,6 +51,7 @@ import org.springframework.util.ObjectUtils;
|
|||
* return new ResponseEntity<String>("Hello World", responseHeaders, HttpStatus.CREATED);
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* Or, by using a builder accessible via static methods:
|
||||
* <pre class="code">
|
||||
* @RequestMapping("/handle")
|
||||
|
|
|
|||
|
|
@ -106,12 +106,12 @@ class InterceptingAsyncClientHttpRequest extends AbstractBufferingAsyncClientHtt
|
|||
return interceptor.intercept(request, body, this);
|
||||
}
|
||||
else {
|
||||
URI theUri = request.getURI();
|
||||
URI uri = request.getURI();
|
||||
HttpMethod method = request.getMethod();
|
||||
HttpHeaders headers = request.getHeaders();
|
||||
|
||||
Assert.state(method != null, "No standard HTTP method");
|
||||
AsyncClientHttpRequest delegate = requestFactory.createAsyncRequest(theUri, method);
|
||||
AsyncClientHttpRequest delegate = requestFactory.createAsyncRequest(uri, method);
|
||||
delegate.getHeaders().putAll(headers);
|
||||
if (body.length > 0) {
|
||||
StreamUtils.copy(body, delegate.getBody());
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ public class ServletPathExtensionContentNegotiationStrategy extends PathExtensio
|
|||
* {@link PathExtensionContentNegotiationStrategy#getMediaTypeForResource}
|
||||
* with the ability to also look up through the ServletContext.
|
||||
* @param resource the resource to look up
|
||||
* @return the MediaType for the extension or {@code null}.
|
||||
* @return the MediaType for the extension, or {@code null} if none found
|
||||
* @since 4.3
|
||||
*/
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -289,11 +289,11 @@ public class ServletWebRequest extends ServletRequestAttributes implements Nativ
|
|||
etag = padEtagIfNecessary(etag);
|
||||
while (ifNoneMatch.hasMoreElements()) {
|
||||
String clientETags = ifNoneMatch.nextElement();
|
||||
Matcher eTagMatcher = ETAG_HEADER_VALUE_PATTERN.matcher(clientETags);
|
||||
Matcher etagMatcher = ETAG_HEADER_VALUE_PATTERN.matcher(clientETags);
|
||||
// Compare weak/strong ETags as per https://tools.ietf.org/html/rfc7232#section-2.3
|
||||
while (eTagMatcher.find()) {
|
||||
if (StringUtils.hasLength(eTagMatcher.group()) &&
|
||||
etag.replaceFirst("^W/", "").equals(eTagMatcher.group(3))) {
|
||||
while (etagMatcher.find()) {
|
||||
if (StringUtils.hasLength(etagMatcher.group()) &&
|
||||
etag.replaceFirst("^W/", "").equals(etagMatcher.group(3))) {
|
||||
this.notModified = true;
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ public class DelegatingFilterProxy extends GenericFilterBean {
|
|||
* @see #setEnvironment(org.springframework.core.env.Environment)
|
||||
*/
|
||||
public DelegatingFilterProxy(String targetBeanName, @Nullable WebApplicationContext wac) {
|
||||
Assert.hasText(targetBeanName, "target Filter bean name must not be null or empty");
|
||||
Assert.hasText(targetBeanName, "Target Filter bean name must not be null or empty");
|
||||
this.setTargetBeanName(targetBeanName);
|
||||
this.webApplicationContext = wac;
|
||||
if (wac != null) {
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ import org.springframework.web.context.request.WebRequest;
|
|||
* {@link SessionStatus#setComplete()}.
|
||||
*
|
||||
* @author Rossen Stoyanchev
|
||||
* @author Juergen Hoeller
|
||||
* @since 3.1
|
||||
*/
|
||||
public class SessionAttributesHandler {
|
||||
|
|
@ -154,7 +155,7 @@ public class SessionAttributesHandler {
|
|||
* A pass-through call to the underlying {@link SessionAttributeStore}.
|
||||
* @param request the current request
|
||||
* @param attributeName the name of the attribute of interest
|
||||
* @return the attribute value or {@code null}
|
||||
* @return the attribute value, or {@code null} if none
|
||||
*/
|
||||
@Nullable
|
||||
Object retrieveAttribute(WebRequest request, String attributeName) {
|
||||
|
|
|
|||
|
|
@ -189,7 +189,7 @@ abstract class MvcNamespaceUtils {
|
|||
/**
|
||||
* Find the {@code ContentNegotiationManager} bean created by or registered
|
||||
* with the {@code annotation-driven} element.
|
||||
* @return a bean definition, bean reference, or null.
|
||||
* @return a bean definition, bean reference, or {@code null}
|
||||
*/
|
||||
@Nullable
|
||||
public static Object getContentNegotiationManager(ParserContext context) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2016 the original author or authors.
|
||||
* Copyright 2002-2017 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.
|
||||
|
|
|
|||
|
|
@ -42,11 +42,11 @@ public class InterceptorRegistration {
|
|||
|
||||
private final List<String> excludePatterns = new ArrayList<>();
|
||||
|
||||
private int order = 0;
|
||||
|
||||
@Nullable
|
||||
private PathMatcher pathMatcher;
|
||||
|
||||
private int order = 0;
|
||||
|
||||
|
||||
/**
|
||||
* Creates an {@link InterceptorRegistration} instance.
|
||||
|
|
@ -72,18 +72,6 @@ public class InterceptorRegistration {
|
|||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* An order position to be used, default is 0.
|
||||
*/
|
||||
public InterceptorRegistration order(int order){
|
||||
this.order = order;
|
||||
return this;
|
||||
}
|
||||
|
||||
protected int getOrder() {
|
||||
return this.order;
|
||||
}
|
||||
|
||||
/**
|
||||
* A PathMatcher implementation to use with this interceptor. This is an optional,
|
||||
* advanced property required only if using custom PathMatcher implementations
|
||||
|
|
@ -95,6 +83,23 @@ public class InterceptorRegistration {
|
|||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify an order position to be used. Default is 0.
|
||||
* @since 5.0
|
||||
*/
|
||||
public InterceptorRegistration order(int order){
|
||||
this.order = order;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the order position to be used.
|
||||
* @since 5.0
|
||||
*/
|
||||
protected int getOrder() {
|
||||
return this.order;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the underlying interceptor. If URL patterns are provided the returned type is
|
||||
* {@link MappedInterceptor}; otherwise {@link HandlerInterceptor}.
|
||||
|
|
|
|||
|
|
@ -134,4 +134,5 @@ abstract class AbstractNameValueExpression<T> implements NameValueExpression<T>
|
|||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -144,8 +144,8 @@ public final class ParamsRequestCondition extends AbstractRequestCondition<Param
|
|||
|
||||
@Override
|
||||
protected boolean matchName(HttpServletRequest request) {
|
||||
return WebUtils.hasSubmitParameter(request, this.name) ||
|
||||
request.getParameterMap().containsKey(this.name);
|
||||
return (WebUtils.hasSubmitParameter(request, this.name) ||
|
||||
request.getParameterMap().containsKey(this.name));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -113,55 +113,55 @@ public final class RequestMappingInfo implements RequestCondition<RequestMapping
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns the URL patterns of this {@link RequestMappingInfo};
|
||||
* or instance with 0 patterns, never {@code null}.
|
||||
* Return the URL patterns of this {@link RequestMappingInfo};
|
||||
* or instance with 0 patterns (never {@code null}).
|
||||
*/
|
||||
public PatternsRequestCondition getPatternsCondition() {
|
||||
return this.patternsCondition;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the HTTP request methods of this {@link RequestMappingInfo};
|
||||
* or instance with 0 request methods, never {@code null}.
|
||||
* Return the HTTP request methods of this {@link RequestMappingInfo};
|
||||
* or instance with 0 request methods (never {@code null}).
|
||||
*/
|
||||
public RequestMethodsRequestCondition getMethodsCondition() {
|
||||
return this.methodsCondition;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the "parameters" condition of this {@link RequestMappingInfo};
|
||||
* or instance with 0 parameter expressions, never {@code null}.
|
||||
* Return the "parameters" condition of this {@link RequestMappingInfo};
|
||||
* or instance with 0 parameter expressions (never {@code null}).
|
||||
*/
|
||||
public ParamsRequestCondition getParamsCondition() {
|
||||
return this.paramsCondition;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the "headers" condition of this {@link RequestMappingInfo};
|
||||
* or instance with 0 header expressions, never {@code null}.
|
||||
* Return the "headers" condition of this {@link RequestMappingInfo};
|
||||
* or instance with 0 header expressions (never {@code null}).
|
||||
*/
|
||||
public HeadersRequestCondition getHeadersCondition() {
|
||||
return this.headersCondition;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the "consumes" condition of this {@link RequestMappingInfo};
|
||||
* or instance with 0 consumes expressions, never {@code null}.
|
||||
* Return the "consumes" condition of this {@link RequestMappingInfo};
|
||||
* or instance with 0 consumes expressions (never {@code null}).
|
||||
*/
|
||||
public ConsumesRequestCondition getConsumesCondition() {
|
||||
return this.consumesCondition;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the "produces" condition of this {@link RequestMappingInfo};
|
||||
* or instance with 0 produces expressions, never {@code null}.
|
||||
* Return the "produces" condition of this {@link RequestMappingInfo};
|
||||
* or instance with 0 produces expressions (never {@code null}).
|
||||
*/
|
||||
public ProducesRequestCondition getProducesCondition() {
|
||||
return this.producesCondition;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the "custom" condition of this {@link RequestMappingInfo}; or {@code null}.
|
||||
* Return the "custom" condition of this {@link RequestMappingInfo}, or {@code null}.
|
||||
*/
|
||||
@Nullable
|
||||
public RequestCondition<?> getCustomCondition() {
|
||||
|
|
@ -170,7 +170,7 @@ public final class RequestMappingInfo implements RequestCondition<RequestMapping
|
|||
|
||||
|
||||
/**
|
||||
* Combines "this" request mapping info (i.e. the current instance) with another request mapping info instance.
|
||||
* Combine "this" request mapping info (i.e. the current instance) with another request mapping info instance.
|
||||
* <p>Example: combine type- and method-level request mappings.
|
||||
* @return a new request mapping info instance; never {@code null}
|
||||
*/
|
||||
|
|
@ -199,7 +199,7 @@ public final class RequestMappingInfo implements RequestCondition<RequestMapping
|
|||
return this.name;
|
||||
}
|
||||
else {
|
||||
return (other.name != null ? other.name : null);
|
||||
return other.name;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -250,7 +250,7 @@ public class RequestMappingHandlerAdapter extends AbstractHandlerMethodAdapter
|
|||
*/
|
||||
@Nullable
|
||||
public List<HandlerMethodArgumentResolver> getInitBinderArgumentResolvers() {
|
||||
return (this.initBinderArgumentResolvers != null) ? this.initBinderArgumentResolvers.getResolvers() : null;
|
||||
return (this.initBinderArgumentResolvers != null ? this.initBinderArgumentResolvers.getResolvers() : null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -427,6 +427,7 @@ public class RequestMappingHandlerAdapter extends AbstractHandlerMethodAdapter
|
|||
/**
|
||||
* Configure the registry for reactive library types to be supported as
|
||||
* return values from controller methods.
|
||||
* @since 5.0
|
||||
*/
|
||||
public void setReactiveRegistry(ReactiveAdapterRegistry reactiveRegistry) {
|
||||
Assert.notNull(reactiveRegistry, "ReactiveAdapterRegistry is required");
|
||||
|
|
@ -435,6 +436,7 @@ public class RequestMappingHandlerAdapter extends AbstractHandlerMethodAdapter
|
|||
|
||||
/**
|
||||
* Return the configured reactive type registry of adapters.
|
||||
* @since 5.0
|
||||
*/
|
||||
public ReactiveAdapterRegistry getReactiveAdapterRegistry() {
|
||||
return this.reactiveRegistry;
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public class Param {
|
|||
|
||||
|
||||
/**
|
||||
* Set the raw name of the parameter
|
||||
* Set the raw name of the parameter.
|
||||
*/
|
||||
public void setName(@Nullable String name) {
|
||||
this.name = name;
|
||||
|
|
@ -54,14 +54,14 @@ public class Param {
|
|||
}
|
||||
|
||||
/**
|
||||
* Set the raw value of the parameter
|
||||
* Set the raw value of the parameter.
|
||||
*/
|
||||
public void setValue(@Nullable String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the raw parameter value
|
||||
* Return the raw parameter value.
|
||||
*/
|
||||
@Nullable
|
||||
public String getValue() {
|
||||
|
|
|
|||
|
|
@ -203,7 +203,6 @@ public class UrlTag extends HtmlEscapingAwareTag implements ParamAware {
|
|||
/**
|
||||
* Build the URL for the tag from the tag attributes and parameters.
|
||||
* @return the URL value as a String
|
||||
* @throws JspException
|
||||
*/
|
||||
String createUrl() throws JspException {
|
||||
Assert.state(this.value != null, "No value set");
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2009 the original author or authors.
|
||||
* Copyright 2002-2017 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.
|
||||
|
|
@ -33,7 +33,7 @@ import freemarker.template.Configuration;
|
|||
public interface FreeMarkerConfig {
|
||||
|
||||
/**
|
||||
* Return the FreeMarker Configuration object for the current
|
||||
* Return the FreeMarker {@link Configuration} object for the current
|
||||
* web application context.
|
||||
* <p>A FreeMarker Configuration object may be used to set FreeMarker
|
||||
* properties and shared objects, and allows to retrieve templates.
|
||||
|
|
|
|||
|
|
@ -115,7 +115,6 @@ public class HttpEntityMethodProcessorMockTests {
|
|||
@Before
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setup() throws Exception {
|
||||
|
||||
stringHttpMessageConverter = mock(HttpMessageConverter.class);
|
||||
given(stringHttpMessageConverter.getSupportedMediaTypes()).willReturn(Collections.singletonList(MediaType.TEXT_PLAIN));
|
||||
resourceMessageConverter = mock(HttpMessageConverter.class);
|
||||
|
|
|
|||
|
|
@ -110,8 +110,7 @@ public class WebMvcStompWebSocketEndpointRegistration implements StompWebSocketE
|
|||
this.registration.setTransportHandlerOverrides(handler);
|
||||
}
|
||||
if (!this.allowedOrigins.isEmpty()) {
|
||||
this.registration.setAllowedOrigins(
|
||||
this.allowedOrigins.toArray(new String[this.allowedOrigins.size()]));
|
||||
this.registration.setAllowedOrigins(this.allowedOrigins.toArray(new String[this.allowedOrigins.size()]));
|
||||
}
|
||||
return this.registration;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ public class ServletServerContainerFactoryBean
|
|||
private ServerContainer serverContainer;
|
||||
|
||||
|
||||
public void setAsyncSendTimeout(long timeoutInMillis) {
|
||||
public void setAsyncSendTimeout(Long timeoutInMillis) {
|
||||
this.asyncSendTimeout = timeoutInMillis;
|
||||
}
|
||||
|
||||
|
|
@ -75,7 +75,7 @@ public class ServletServerContainerFactoryBean
|
|||
return this.asyncSendTimeout;
|
||||
}
|
||||
|
||||
public void setMaxSessionIdleTimeout(long timeoutInMillis) {
|
||||
public void setMaxSessionIdleTimeout(Long timeoutInMillis) {
|
||||
this.maxSessionIdleTimeout = timeoutInMillis;
|
||||
}
|
||||
|
||||
|
|
@ -84,7 +84,7 @@ public class ServletServerContainerFactoryBean
|
|||
return this.maxSessionIdleTimeout;
|
||||
}
|
||||
|
||||
public void setMaxTextMessageBufferSize(int bufferSize) {
|
||||
public void setMaxTextMessageBufferSize(Integer bufferSize) {
|
||||
this.maxTextMessageBufferSize = bufferSize;
|
||||
}
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ public class ServletServerContainerFactoryBean
|
|||
return this.maxTextMessageBufferSize;
|
||||
}
|
||||
|
||||
public void setMaxBinaryMessageBufferSize(int bufferSize) {
|
||||
public void setMaxBinaryMessageBufferSize(Integer bufferSize) {
|
||||
this.maxBinaryMessageBufferSize = bufferSize;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -226,9 +226,7 @@ class DefaultTransportRequest implements TransportRequest {
|
|||
fallbackRequest.connect(this.handler, this.future);
|
||||
}
|
||||
else {
|
||||
if (logger.isErrorEnabled()) {
|
||||
logger.error("No more fallback transports after " + DefaultTransportRequest.this, ex);
|
||||
}
|
||||
if (ex != null) {
|
||||
this.future.setException(ex);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7951,7 +7951,7 @@ Alternatively for XML configuration use the `context:load-time-weaver` element:
|
|||
Once configured for the `ApplicationContext`. Any bean within that `ApplicationContext`
|
||||
may implement `LoadTimeWeaverAware`, thereby receiving a reference to the load-time
|
||||
weaver instance. This is particularly useful in combination with
|
||||
<<data-acess.adoc#orm-jpa,Spring's JPA support>> where load-time weaving may be necessary
|
||||
<<data-access.adoc#orm-jpa,Spring's JPA support>> where load-time weaving may be necessary
|
||||
for JPA class transformation.
|
||||
Consult the `LocalContainerEntityManagerFactoryBean` javadocs for more detail. For more on
|
||||
AspectJ load-time weaving, see <<aop-aj-ltw>>.
|
||||
|
|
|
|||
Loading…
Reference in New Issue