Skip to content

Commit d28d603

Browse files
committed
Polishing
See gh-28595
1 parent 52d0681 commit d28d603

File tree

1 file changed

+6
-21
lines changed

1 file changed

+6
-21
lines changed

spring-webmvc/src/main/java/org/springframework/web/servlet/function/support/RouterFunctionMapping.java

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -154,35 +154,20 @@ public void afterPropertiesSet() throws Exception {
154154
* current application context.
155155
*/
156156
private void initRouterFunctions() {
157-
List<RouterFunction<?>> routerFunctions = routerFunctions();
157+
List<RouterFunction<?>> routerFunctions = new ArrayList<>();
158+
detectRouterFunctions(obtainApplicationContext(), routerFunctions);
158159
this.routerFunction = routerFunctions.stream().reduce(RouterFunction::andOther).orElse(null);
159160
logRouterFunctions(routerFunctions);
160161
}
161162

162-
private List<RouterFunction<?>> routerFunctions() {
163-
List<RouterFunction<?>> routerFunctions = new ArrayList<>();
164-
if (this.detectHandlerFunctionsInAncestorContexts) {
165-
detectRouterFunctionsInAncestorContexts(obtainApplicationContext(), routerFunctions);
163+
private void detectRouterFunctions(ApplicationContext context, List<RouterFunction<?>> routerFunctions) {
164+
if (this.detectHandlerFunctionsInAncestorContexts && context.getParent() != null) {
165+
detectRouterFunctions(context.getParent(), routerFunctions);
166166
}
167-
obtainApplicationContext()
168-
.getBeanProvider(RouterFunction.class)
167+
context.getBeanProvider(RouterFunction.class)
169168
.orderedStream()
170169
.map(router -> (RouterFunction<?>) router)
171170
.collect(Collectors.toCollection(() -> routerFunctions));
172-
return routerFunctions;
173-
}
174-
175-
private void detectRouterFunctionsInAncestorContexts(
176-
ApplicationContext applicationContext, List<RouterFunction<?>> routerFunctions) {
177-
178-
ApplicationContext parentContext = applicationContext.getParent();
179-
if (parentContext != null) {
180-
detectRouterFunctionsInAncestorContexts(parentContext, routerFunctions);
181-
parentContext.getBeanProvider(RouterFunction.class)
182-
.orderedStream()
183-
.map(router -> (RouterFunction<?>) router)
184-
.collect(Collectors.toCollection(() -> routerFunctions));
185-
}
186171
}
187172

188173
private void logRouterFunctions(List<RouterFunction<?>> routerFunctions) {

0 commit comments

Comments
 (0)