Lazily obtain Validator from original Supplier

Closes gh-31137
This commit is contained in:
Juergen Hoeller
2023-09-03 00:42:52 +02:00
parent d6e167d16e
commit 7595465c21
2 changed files with 36 additions and 12 deletions

View File

@@ -133,9 +133,10 @@ public class MethodValidationAdapter implements MethodValidator {
}
private static Supplier<SpringValidatorAdapter> initValidatorAdapter(Supplier<Validator> validatorSupplier) {
Validator validator = validatorSupplier.get();
return (validator instanceof SpringValidatorAdapter validatorAdapter ?
(() -> validatorAdapter) : SingletonSupplier.of(() -> new SpringValidatorAdapter(validator)));
return SingletonSupplier.of(() -> {
Validator validator = validatorSupplier.get();
return (validator instanceof SpringValidatorAdapter sva ? sva : new SpringValidatorAdapter(validator));
});
}