Skip to content

Commit 8a9224b

Browse files
izeyesnicoll
authored andcommitted
Polish NoSuchBeanDefinitionFailureAnalyzer
Closes gh-13923
1 parent 54a6ee7 commit 8a9224b

File tree

1 file changed

+15
-18
lines changed

1 file changed

+15
-18
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/diagnostics/analyzer/NoSuchBeanDefinitionFailureAnalyzer.java

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,13 @@
1717
package org.springframework.boot.autoconfigure.diagnostics.analyzer;
1818

1919
import java.util.ArrayList;
20+
import java.util.Arrays;
2021
import java.util.Collections;
2122
import java.util.Iterator;
2223
import java.util.List;
2324
import java.util.Map;
2425
import java.util.Set;
26+
import java.util.stream.Collectors;
2527

2628
import org.springframework.beans.BeansException;
2729
import org.springframework.beans.factory.BeanFactory;
@@ -87,15 +89,11 @@ protected FailureAnalysis analyze(Throwable rootFailure,
8789
message.append(String.format("%s required %s that could not be found.%n",
8890
(description != null ? description : "A component"),
8991
getBeanDescription(cause)));
90-
if (!autoConfigurationResults.isEmpty()) {
91-
for (AutoConfigurationResult result : autoConfigurationResults) {
92-
message.append(String.format("\t- %s%n", result));
93-
}
92+
for (AutoConfigurationResult result : autoConfigurationResults) {
93+
message.append(String.format("\t- %s%n", result));
9494
}
95-
if (!userConfigurationResults.isEmpty()) {
96-
for (UserConfigurationResult result : userConfigurationResults) {
97-
message.append(String.format("\t- %s%n", result));
98-
}
95+
for (UserConfigurationResult result : userConfigurationResults) {
96+
message.append(String.format("\t- %s%n", result));
9997
}
10098
String action = String.format("Consider %s %s in your configuration.",
10199
(!autoConfigurationResults.isEmpty()
@@ -136,18 +134,17 @@ private List<AutoConfigurationResult> getAutoConfigurationResults(
136134

137135
private List<UserConfigurationResult> getUserConfigurationResults(
138136
NoSuchBeanDefinitionException cause) {
139-
List<UserConfigurationResult> results = new ArrayList<>();
140137
ResolvableType type = cause.getResolvableType();
141-
if (type != null) {
142-
for (String beanName : BeanFactoryUtils.beanNamesForTypeIncludingAncestors(
143-
this.beanFactory, cause.getResolvableType())) {
144-
boolean nullBean = this.beanFactory.getBean(beanName).equals(null);
145-
results.add(new UserConfigurationResult(
146-
getFactoryMethodMetadata(beanName), nullBean));
147-
}
138+
if (type == null) {
139+
return Collections.emptyList();
148140
}
149-
return results;
150-
141+
String[] beanNames = BeanFactoryUtils
142+
.beanNamesForTypeIncludingAncestors(this.beanFactory, type);
143+
return Arrays.stream(beanNames)
144+
.map((beanName) -> new UserConfigurationResult(
145+
getFactoryMethodMetadata(beanName),
146+
this.beanFactory.getBean(beanName).equals(null)))
147+
.collect(Collectors.toList());
151148
}
152149

153150
private MethodMetadata getFactoryMethodMetadata(String beanName) {

0 commit comments

Comments
 (0)