diff --git a/spring-context/src/main/java/org/springframework/validation/beanvalidation/MethodValidationAdapter.java b/spring-context/src/main/java/org/springframework/validation/beanvalidation/MethodValidationAdapter.java index 11b76a27ba2..671d3022fad 100644 --- a/spring-context/src/main/java/org/springframework/validation/beanvalidation/MethodValidationAdapter.java +++ b/spring-context/src/main/java/org/springframework/validation/beanvalidation/MethodValidationAdapter.java @@ -234,8 +234,8 @@ public class MethodValidationAdapter implements MethodValidator { @Override public final MethodValidationResult validateArguments( - Object target, Method method, @Nullable MethodParameter[] parameters, Object[] arguments, - Class[] groups) { + Object target, Method method, @Nullable MethodParameter[] parameters, + Object[] arguments, Class[] groups) { Set> violations = invokeValidatorForArguments(target, method, arguments, groups); @@ -256,23 +256,21 @@ public class MethodValidationAdapter implements MethodValidator { Object target, Method method, Object[] arguments, Class[] groups) { ExecutableValidator execVal = this.validator.get().forExecutables(); - Set> violations; try { - violations = execVal.validateParameters(target, method, arguments, groups); + return execVal.validateParameters(target, method, arguments, groups); } catch (IllegalArgumentException ex) { // Probably a generic type mismatch between interface and impl as reported in SPR-12237 / HV-1011 // Let's try to find the bridged method on the implementation class... Method bridgedMethod = BridgeMethodResolver.getMostSpecificMethod(method, target.getClass()); - violations = execVal.validateParameters(target, bridgedMethod, arguments, groups); + return execVal.validateParameters(target, bridgedMethod, arguments, groups); } - return violations; } @Override public final MethodValidationResult validateReturnValue( - Object target, Method method, @Nullable MethodParameter returnType, @Nullable Object returnValue, - Class[] groups) { + Object target, Method method, @Nullable MethodParameter returnType, + @Nullable Object returnValue, Class[] groups) { Set> violations = invokeValidatorForReturnValue(target, method, returnValue, groups); @@ -305,9 +303,9 @@ public class MethodValidationAdapter implements MethodValidator { Map nestedViolations = new LinkedHashMap<>(); for (ConstraintViolation violation : violations) { - Iterator itr = violation.getPropertyPath().iterator(); - while (itr.hasNext()) { - Path.Node node = itr.next(); + Iterator nodes = violation.getPropertyPath().iterator(); + while (nodes.hasNext()) { + Path.Node node = nodes.next(); MethodParameter parameter; if (node.getKind().equals(ElementKind.PARAMETER)) { @@ -328,8 +326,8 @@ public class MethodValidationAdapter implements MethodValidator { // https://github.com/jakartaee/validation/issues/194 Path.Node parameterNode = node; - if (itr.hasNext()) { - node = itr.next(); + if (nodes.hasNext()) { + node = nodes.next(); } Object value; @@ -425,7 +423,6 @@ public class MethodValidationAdapter implements MethodValidator { * @return the name to use */ String resolveName(MethodParameter parameter, @Nullable Object value); - } @@ -456,6 +453,7 @@ public class MethodValidationAdapter implements MethodValidator { public ParamValidationResultBuilder( Object target, MethodParameter parameter, @Nullable Object value, @Nullable Object container, @Nullable Integer containerIndex, @Nullable Object containerKey) { + this.target = target; this.parameter = parameter; this.value = value; @@ -473,7 +471,6 @@ public class MethodValidationAdapter implements MethodValidator { this.parameter, this.value, this.resolvableErrors, this.container, this.containerIndex, this.containerKey); } - } @@ -527,8 +524,7 @@ public class MethodValidationAdapter implements MethodValidator { /** - * Default algorithm to select an object name, as described in - * {@link #setObjectNameResolver(ObjectNameResolver)}. + * Default algorithm to select an object name, as described in {@link #setObjectNameResolver}. */ private static class DefaultObjectNameResolver implements ObjectNameResolver {