Apply "instance of patten matching" in context and messaging modules

Closes gh-29994
This commit is contained in:
divcon 2023-02-19 16:10:22 +09:00 committed by Sam Brannen
parent 7c50464bba
commit 40672c3715
4 changed files with 22 additions and 22 deletions

View File

@ -760,8 +760,8 @@ public class DataBinder implements PropertyEditorRegistry, TypeConverter {
* @see #doBind(org.springframework.beans.MutablePropertyValues) * @see #doBind(org.springframework.beans.MutablePropertyValues)
*/ */
public void bind(PropertyValues pvs) { public void bind(PropertyValues pvs) {
MutablePropertyValues mpvs = (pvs instanceof MutablePropertyValues ? MutablePropertyValues mpvs = (pvs instanceof MutablePropertyValues mutablePropertyValues ?
(MutablePropertyValues) pvs : new MutablePropertyValues(pvs)); mutablePropertyValues : new MutablePropertyValues(pvs));
doBind(mpvs); doBind(mpvs);
} }
@ -925,8 +925,8 @@ public class DataBinder implements PropertyEditorRegistry, TypeConverter {
BindingResult bindingResult = getBindingResult(); BindingResult bindingResult = getBindingResult();
// Call each validator with the same binding result // Call each validator with the same binding result
for (Validator validator : getValidators()) { for (Validator validator : getValidators()) {
if (!ObjectUtils.isEmpty(validationHints) && validator instanceof SmartValidator) { if (!ObjectUtils.isEmpty(validationHints) && validator instanceof SmartValidator smartValidator) {
((SmartValidator) validator).validate(target, bindingResult, validationHints); smartValidator.validate(target, bindingResult, validationHints);
} }
else if (validator != null) { else if (validator != null) {
validator.validate(target, bindingResult); validator.validate(target, bindingResult);

View File

@ -82,8 +82,8 @@ public abstract class ValidationUtils {
"Validator [" + validator.getClass() + "] does not support [" + target.getClass() + "]"); "Validator [" + validator.getClass() + "] does not support [" + target.getClass() + "]");
} }
if (!ObjectUtils.isEmpty(validationHints) && validator instanceof SmartValidator) { if (!ObjectUtils.isEmpty(validationHints) && validator instanceof SmartValidator smartValidator) {
((SmartValidator) validator).validate(target, errors, validationHints); smartValidator.validate(target, errors, validationHints);
} }
else { else {
validator.validate(target, errors); validator.validate(target, errors);

View File

@ -170,13 +170,13 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
private Flux<DataBuffer> extractContent(MethodParameter parameter, Message<?> message) { private Flux<DataBuffer> extractContent(MethodParameter parameter, Message<?> message) {
Object payload = message.getPayload(); Object payload = message.getPayload();
if (payload instanceof DataBuffer) { if (payload instanceof DataBuffer dataBuffer) {
return Flux.just((DataBuffer) payload); return Flux.just(dataBuffer);
} }
if (payload instanceof Publisher) { if (payload instanceof Publisher<?> publisher) {
return Flux.from((Publisher<?>) payload).map(value -> { return Flux.from(publisher).map(value -> {
if (value instanceof DataBuffer) { if (value instanceof DataBuffer dataBuffer) {
return (DataBuffer) value; return dataBuffer;
} }
String className = value.getClass().getName(); String className = value.getClass().getName();
throw getUnexpectedPayloadError(message, parameter, "Publisher<" + className + ">"); throw getUnexpectedPayloadError(message, parameter, "Publisher<" + className + ">");
@ -204,11 +204,11 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol
if (headerValue == null) { if (headerValue == null) {
return null; return null;
} }
else if (headerValue instanceof String) { else if (headerValue instanceof String stringHeader) {
return MimeTypeUtils.parseMimeType((String) headerValue); return MimeTypeUtils.parseMimeType(stringHeader);
} }
else if (headerValue instanceof MimeType) { else if (headerValue instanceof MimeType mimeTypeHeader) {
return (MimeType) headerValue; return mimeTypeHeader;
} }
else { else {
throw new IllegalArgumentException("Unexpected MimeType value: " + headerValue); throw new IllegalArgumentException("Unexpected MimeType value: " + headerValue);
@ -290,12 +290,12 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol
Validated validatedAnn = AnnotationUtils.getAnnotation(ann, Validated.class); Validated validatedAnn = AnnotationUtils.getAnnotation(ann, Validated.class);
if (validatedAnn != null || ann.annotationType().getSimpleName().startsWith("Valid")) { if (validatedAnn != null || ann.annotationType().getSimpleName().startsWith("Valid")) {
Object hints = (validatedAnn != null ? validatedAnn.value() : AnnotationUtils.getValue(ann)); 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); String name = Conventions.getVariableNameForParameter(parameter);
return target -> { return target -> {
BeanPropertyBindingResult bindingResult = new BeanPropertyBindingResult(target, name); BeanPropertyBindingResult bindingResult = new BeanPropertyBindingResult(target, name);
if (!ObjectUtils.isEmpty(validationHints) && this.validator instanceof SmartValidator) { if (!ObjectUtils.isEmpty(validationHints) && this.validator instanceof SmartValidator sv) {
((SmartValidator) this.validator).validate(target, bindingResult, validationHints); sv.validate(target, bindingResult, validationHints);
} }
else { else {
this.validator.validate(target, bindingResult); this.validator.validate(target, bindingResult);

View File

@ -216,11 +216,11 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol
Validated validatedAnn = AnnotationUtils.getAnnotation(ann, Validated.class); Validated validatedAnn = AnnotationUtils.getAnnotation(ann, Validated.class);
if (validatedAnn != null || ann.annotationType().getSimpleName().startsWith("Valid")) { if (validatedAnn != null || ann.annotationType().getSimpleName().startsWith("Valid")) {
Object hints = (validatedAnn != null ? validatedAnn.value() : AnnotationUtils.getValue(ann)); 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 = BeanPropertyBindingResult bindingResult =
new BeanPropertyBindingResult(target, getParameterName(parameter)); new BeanPropertyBindingResult(target, getParameterName(parameter));
if (!ObjectUtils.isEmpty(validationHints) && this.validator instanceof SmartValidator) { if (!ObjectUtils.isEmpty(validationHints) && this.validator instanceof SmartValidator sv) {
((SmartValidator) this.validator).validate(target, bindingResult, validationHints); sv.validate(target, bindingResult, validationHints);
} }
else { else {
this.validator.validate(target, bindingResult); this.validator.validate(target, bindingResult);