Skip to content

Commit 76ee2f4

Browse files
committed
Polish
1 parent 4db4c81 commit 76ee2f4

File tree

1 file changed

+19
-13
lines changed

1 file changed

+19
-13
lines changed

spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/validation/PrimaryDefaultValidatorPostProcessor.java

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,31 +58,37 @@ public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
5858
@Override
5959
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata,
6060
BeanDefinitionRegistry registry) {
61-
if (this.beanFactory == null) {
62-
return;
61+
BeanDefinition definition = getAutoConfiguredValidator(registry);
62+
if (definition != null) {
63+
definition.setPrimary(!hasPrimarySpringValidator(registry));
6364
}
64-
if (!registry.containsBeanDefinition(VALIDATOR_BEAN_NAME)) {
65-
return;
66-
}
67-
BeanDefinition def = registry.getBeanDefinition(VALIDATOR_BEAN_NAME);
68-
if (def != null
69-
&& this.beanFactory.isTypeMatch(VALIDATOR_BEAN_NAME, LocalValidatorFactoryBean.class)
70-
&& def.getRole() == BeanDefinition.ROLE_INFRASTRUCTURE) {
71-
def.setPrimary(!hasPrimarySpringValidator(registry));
65+
}
66+
67+
private BeanDefinition getAutoConfiguredValidator(BeanDefinitionRegistry registry) {
68+
if (registry.containsBeanDefinition(VALIDATOR_BEAN_NAME)) {
69+
BeanDefinition definition = registry.getBeanDefinition(VALIDATOR_BEAN_NAME);
70+
if (definition.getRole() == BeanDefinition.ROLE_INFRASTRUCTURE && isTypeMatch(
71+
VALIDATOR_BEAN_NAME, LocalValidatorFactoryBean.class)) {
72+
return definition;
73+
}
7274
}
75+
return null;
76+
}
77+
78+
private boolean isTypeMatch(String name, Class<?> type) {
79+
return this.beanFactory != null && this.beanFactory.isTypeMatch(name, type);
7380
}
7481

7582
private boolean hasPrimarySpringValidator(BeanDefinitionRegistry registry) {
7683
String[] validatorBeans = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(
7784
this.beanFactory, Validator.class, false, false);
7885
for (String validatorBean : validatorBeans) {
79-
BeanDefinition def = registry.getBeanDefinition(validatorBean);
80-
if (def != null && def.isPrimary()) {
86+
BeanDefinition definition = registry.getBeanDefinition(validatorBean);
87+
if (definition != null && definition.isPrimary()) {
8188
return true;
8289
}
8390
}
8491
return false;
8592
}
8693

8794
}
88-

0 commit comments

Comments
 (0)