Apply "instance of patten matching" in context and messaging modules
Closes gh-29994
This commit is contained in:
parent
7c50464bba
commit
40672c3715
|
|
@ -760,8 +760,8 @@ public class DataBinder implements PropertyEditorRegistry, TypeConverter {
|
|||
* @see #doBind(org.springframework.beans.MutablePropertyValues)
|
||||
*/
|
||||
public void bind(PropertyValues pvs) {
|
||||
MutablePropertyValues mpvs = (pvs instanceof MutablePropertyValues ?
|
||||
(MutablePropertyValues) pvs : new MutablePropertyValues(pvs));
|
||||
MutablePropertyValues mpvs = (pvs instanceof MutablePropertyValues mutablePropertyValues ?
|
||||
mutablePropertyValues : new MutablePropertyValues(pvs));
|
||||
doBind(mpvs);
|
||||
}
|
||||
|
||||
|
|
@ -925,8 +925,8 @@ public class DataBinder implements PropertyEditorRegistry, TypeConverter {
|
|||
BindingResult bindingResult = getBindingResult();
|
||||
// Call each validator with the same binding result
|
||||
for (Validator validator : getValidators()) {
|
||||
if (!ObjectUtils.isEmpty(validationHints) && validator instanceof SmartValidator) {
|
||||
((SmartValidator) validator).validate(target, bindingResult, validationHints);
|
||||
if (!ObjectUtils.isEmpty(validationHints) && validator instanceof SmartValidator smartValidator) {
|
||||
smartValidator.validate(target, bindingResult, validationHints);
|
||||
}
|
||||
else if (validator != null) {
|
||||
validator.validate(target, bindingResult);
|
||||
|
|
|
|||
|
|
@ -82,8 +82,8 @@ public abstract class ValidationUtils {
|
|||
"Validator [" + validator.getClass() + "] does not support [" + target.getClass() + "]");
|
||||
}
|
||||
|
||||
if (!ObjectUtils.isEmpty(validationHints) && validator instanceof SmartValidator) {
|
||||
((SmartValidator) validator).validate(target, errors, validationHints);
|
||||
if (!ObjectUtils.isEmpty(validationHints) && validator instanceof SmartValidator smartValidator) {
|
||||
smartValidator.validate(target, errors, validationHints);
|
||||
}
|
||||
else {
|
||||
validator.validate(target, errors);
|
||||
|
|
|
|||
|
|
@ -170,13 +170,13 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol
|
|||
@SuppressWarnings("unchecked")
|
||||
private Flux<DataBuffer> extractContent(MethodParameter parameter, Message<?> message) {
|
||||
Object payload = message.getPayload();
|
||||
if (payload instanceof DataBuffer) {
|
||||
return Flux.just((DataBuffer) payload);
|
||||
if (payload instanceof DataBuffer dataBuffer) {
|
||||
return Flux.just(dataBuffer);
|
||||
}
|
||||
if (payload instanceof Publisher) {
|
||||
return Flux.from((Publisher<?>) payload).map(value -> {
|
||||
if (value instanceof DataBuffer) {
|
||||
return (DataBuffer) value;
|
||||
if (payload instanceof Publisher<?> publisher) {
|
||||
return Flux.from(publisher).map(value -> {
|
||||
if (value instanceof DataBuffer dataBuffer) {
|
||||
return dataBuffer;
|
||||
}
|
||||
String className = value.getClass().getName();
|
||||
throw getUnexpectedPayloadError(message, parameter, "Publisher<" + className + ">");
|
||||
|
|
@ -204,11 +204,11 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol
|
|||
if (headerValue == null) {
|
||||
return null;
|
||||
}
|
||||
else if (headerValue instanceof String) {
|
||||
return MimeTypeUtils.parseMimeType((String) headerValue);
|
||||
else if (headerValue instanceof String stringHeader) {
|
||||
return MimeTypeUtils.parseMimeType(stringHeader);
|
||||
}
|
||||
else if (headerValue instanceof MimeType) {
|
||||
return (MimeType) headerValue;
|
||||
else if (headerValue instanceof MimeType mimeTypeHeader) {
|
||||
return mimeTypeHeader;
|
||||
}
|
||||
else {
|
||||
throw new IllegalArgumentException("Unexpected MimeType value: " + headerValue);
|
||||
|
|
@ -290,12 +290,12 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol
|
|||
Validated validatedAnn = AnnotationUtils.getAnnotation(ann, Validated.class);
|
||||
if (validatedAnn != null || ann.annotationType().getSimpleName().startsWith("Valid")) {
|
||||
Object hints = (validatedAnn != null ? validatedAnn.value() : AnnotationUtils.getValue(ann));
|
||||
Object[] validationHints = (hints instanceof Object[] ? (Object[]) hints : new Object[] {hints});
|
||||
Object[] validationHints = (hints instanceof Object[] objectHint ? objectHint : new Object[] {hints});
|
||||
String name = Conventions.getVariableNameForParameter(parameter);
|
||||
return target -> {
|
||||
BeanPropertyBindingResult bindingResult = new BeanPropertyBindingResult(target, name);
|
||||
if (!ObjectUtils.isEmpty(validationHints) && this.validator instanceof SmartValidator) {
|
||||
((SmartValidator) this.validator).validate(target, bindingResult, validationHints);
|
||||
if (!ObjectUtils.isEmpty(validationHints) && this.validator instanceof SmartValidator sv) {
|
||||
sv.validate(target, bindingResult, validationHints);
|
||||
}
|
||||
else {
|
||||
this.validator.validate(target, bindingResult);
|
||||
|
|
|
|||
|
|
@ -216,11 +216,11 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol
|
|||
Validated validatedAnn = AnnotationUtils.getAnnotation(ann, Validated.class);
|
||||
if (validatedAnn != null || ann.annotationType().getSimpleName().startsWith("Valid")) {
|
||||
Object hints = (validatedAnn != null ? validatedAnn.value() : AnnotationUtils.getValue(ann));
|
||||
Object[] validationHints = (hints instanceof Object[] ? (Object[]) hints : new Object[] {hints});
|
||||
Object[] validationHints = (hints instanceof Object[] objectHint ? objectHint : new Object[] {hints});
|
||||
BeanPropertyBindingResult bindingResult =
|
||||
new BeanPropertyBindingResult(target, getParameterName(parameter));
|
||||
if (!ObjectUtils.isEmpty(validationHints) && this.validator instanceof SmartValidator) {
|
||||
((SmartValidator) this.validator).validate(target, bindingResult, validationHints);
|
||||
if (!ObjectUtils.isEmpty(validationHints) && this.validator instanceof SmartValidator sv) {
|
||||
sv.validate(target, bindingResult, validationHints);
|
||||
}
|
||||
else {
|
||||
this.validator.validate(target, bindingResult);
|
||||
|
|
|
|||
Loading…
Reference in New Issue