|
16 | 16 |
|
17 | 17 | package org.springframework.boot.build.architecture; |
18 | 18 |
|
| 19 | +import java.util.HashMap; |
| 20 | +import java.util.Map; |
| 21 | + |
19 | 22 | import com.tngtech.archunit.base.DescribedPredicate; |
20 | 23 | import com.tngtech.archunit.core.domain.JavaAnnotation; |
21 | 24 | import com.tngtech.archunit.core.domain.JavaClass; |
22 | 25 | import com.tngtech.archunit.core.domain.JavaClasses; |
23 | 26 | import com.tngtech.archunit.lang.EvaluationResult; |
24 | | -import java.util.HashMap; |
25 | | -import java.util.Map; |
26 | 27 |
|
27 | 28 | /** |
28 | 29 | * Finds all configurations from auto-configurations (either nested configurations or |
@@ -70,30 +71,28 @@ private static final class AutoConfigurations { |
70 | 71 |
|
71 | 72 | private static final String CONFIGURATION = "org.springframework.context.annotation.Configuration"; |
72 | 73 |
|
73 | | - private final JavaClasses allClasses; |
| 74 | + private final JavaClasses classes; |
74 | 75 |
|
75 | | - private final Map<String, JavaClass> classes = new HashMap<>(); |
| 76 | + private final Map<String, JavaClass> autoConfigurationClasses = new HashMap<>(); |
76 | 77 |
|
77 | | - AutoConfigurations(JavaClasses allClasses) { |
78 | | - this.allClasses = allClasses; |
| 78 | + AutoConfigurations(JavaClasses classes) { |
| 79 | + this.classes = classes; |
79 | 80 | } |
80 | 81 |
|
81 | 82 | void add(JavaClass autoConfiguration) { |
82 | 83 | if (!autoConfiguration.isMetaAnnotatedWith(CONFIGURATION)) { |
83 | 84 | return; |
84 | 85 | } |
85 | | - if (this.classes.putIfAbsent(autoConfiguration.getName(), autoConfiguration) != null) { |
| 86 | + if (this.autoConfigurationClasses.putIfAbsent(autoConfiguration.getName(), autoConfiguration) != null) { |
86 | 87 | return; |
87 | 88 | } |
88 | | - processImports(autoConfiguration, this.classes); |
| 89 | + processImports(autoConfiguration, this.autoConfigurationClasses); |
89 | 90 | } |
90 | 91 |
|
91 | 92 | JavaClasses getConfigurations() { |
92 | | - // Return a filtered view of the original JavaClasses containing only the |
93 | | - // configuration classes |
94 | | - DescribedPredicate<JavaClass> inConfigurations = DescribedPredicate |
95 | | - .describe("is in configurations", c -> this.classes.containsKey(c.getName())); |
96 | | - return this.allClasses.that(inConfigurations); |
| 93 | + DescribedPredicate<JavaClass> isAutoConfiguration = DescribedPredicate.describe("is an auto-configuration", |
| 94 | + (c) -> this.autoConfigurationClasses.containsKey(c.getName())); |
| 95 | + return this.classes.that(isAutoConfiguration); |
97 | 96 | } |
98 | 97 |
|
99 | 98 | private void processImports(JavaClass javaClass, Map<String, JavaClass> result) { |
|
0 commit comments