Skip to content

Commit c98bb40

Browse files
committed
Adapt NoSuchBeanDefinitionFailureAnalyzer to framework change
This commit adapts to a Spring Framework change based on SPR-11419 and SPR-15338. Rather than throwing an exception when injecting a List or Map of a candidate bean that is not present, an empty collection/map is injected.
1 parent f3ef7ca commit c98bb40

File tree

2 files changed

+0
-62
lines changed

2 files changed

+0
-62
lines changed

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -115,14 +115,6 @@ private String getBeanDescription(NoSuchBeanDefinitionException cause) {
115115
}
116116

117117
private Class<?> extractBeanType(ResolvableType resolvableType) {
118-
ResolvableType collectionType = resolvableType.asCollection();
119-
if (!collectionType.equals(ResolvableType.NONE)) {
120-
return collectionType.getGeneric(0).getRawClass();
121-
}
122-
ResolvableType mapType = resolvableType.asMap();
123-
if (!mapType.equals(ResolvableType.NONE)) {
124-
return mapType.getGeneric(1).getRawClass();
125-
}
126118
return resolvableType.getRawClass();
127119
}
128120

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/diagnostics/analyzer/NoSuchBeanDefinitionFailureAnalyzerTests.java

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@
1717
package org.springframework.boot.autoconfigure.diagnostics.analyzer;
1818

1919
import java.util.ArrayList;
20-
import java.util.Collection;
2120
import java.util.List;
22-
import java.util.Map;
2321

2422
import org.junit.Test;
2523

@@ -83,30 +81,6 @@ public void failureAnalysisForMissingPropertyExactType() {
8381
assertActionMissingType(analysis, String.class);
8482
}
8583

86-
@Test
87-
public void failureAnalysisForMissingCollectionType() {
88-
FailureAnalysis analysis = analyzeFailure(
89-
createFailure(StringCollectionConfiguration.class));
90-
assertDescriptionConstructorMissingType(analysis, StringCollectionHandler.class,
91-
0, String.class);
92-
assertBeanMethodDisabled(analysis,
93-
"did not find property 'spring.string.enabled'",
94-
TestPropertyAutoConfiguration.class, "string");
95-
assertActionMissingType(analysis, String.class);
96-
}
97-
98-
@Test
99-
public void failureAnalysisForMissingMapType() {
100-
FailureAnalysis analysis = analyzeFailure(
101-
createFailure(StringMapConfiguration.class));
102-
assertDescriptionConstructorMissingType(analysis, StringMapHandler.class, 0,
103-
String.class);
104-
assertBeanMethodDisabled(analysis,
105-
"did not find property 'spring.string.enabled'",
106-
TestPropertyAutoConfiguration.class, "string");
107-
assertActionMissingType(analysis, String.class);
108-
}
109-
11084
@Test
11185
public void failureAnalysisForMissingPropertySubType() {
11286
FailureAnalysis analysis = analyzeFailure(
@@ -281,20 +255,6 @@ protected static class StringPropertyTypeConfiguration {
281255

282256
}
283257

284-
@Configuration
285-
@ImportAutoConfiguration(TestPropertyAutoConfiguration.class)
286-
@Import(StringCollectionHandler.class)
287-
protected static class StringCollectionConfiguration {
288-
289-
}
290-
291-
@Configuration
292-
@ImportAutoConfiguration(TestPropertyAutoConfiguration.class)
293-
@Import(StringMapHandler.class)
294-
protected static class StringMapConfiguration {
295-
296-
}
297-
298258
@Configuration
299259
@ImportAutoConfiguration(TestPropertyAutoConfiguration.class)
300260
@Import(NumberHandler.class)
@@ -402,18 +362,4 @@ public StringNameHandler(BeanFactory beanFactory) {
402362

403363
}
404364

405-
protected static class StringCollectionHandler {
406-
407-
public StringCollectionHandler(Collection<String> collection) {
408-
}
409-
410-
}
411-
412-
protected static class StringMapHandler {
413-
414-
public StringMapHandler(Map<String, String> map) {
415-
}
416-
417-
}
418-
419365
}

0 commit comments

Comments
 (0)