Skip to content

Commit ad6de10

Browse files
committed
Remove use of deprecated SDR API when describing request mappings
Closes gh-22654
1 parent 57bc232 commit ad6de10

File tree

1 file changed

+14
-18
lines changed

1 file changed

+14
-18
lines changed

spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/web/mappings/servlet/DispatcherServletsMappingDescriptionProvider.java

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import org.springframework.boot.actuate.web.mappings.MappingDescriptionProvider;
3333
import org.springframework.boot.web.servlet.ServletRegistrationBean;
3434
import org.springframework.context.ApplicationContext;
35-
import org.springframework.util.ClassUtils;
3635
import org.springframework.web.context.WebApplicationContext;
3736
import org.springframework.web.method.HandlerMethod;
3837
import org.springframework.web.servlet.DispatcherServlet;
@@ -50,18 +49,15 @@
5049
* @author Stephane Nicoll
5150
* @since 2.0.0
5251
*/
53-
@SuppressWarnings("deprecation")
5452
public class DispatcherServletsMappingDescriptionProvider implements MappingDescriptionProvider {
5553

56-
private static final List<HandlerMappingDescriptionProvider<? extends HandlerMapping>> descriptionProviders;
54+
private static final List<HandlerMappingDescriptionProvider<?>> descriptionProviders;
5755

5856
static {
59-
List<HandlerMappingDescriptionProvider<? extends HandlerMapping>> providers = new ArrayList<>();
57+
List<HandlerMappingDescriptionProvider<?>> providers = new ArrayList<>();
6058
providers.add(new RequestMappingInfoHandlerMappingDescriptionProvider());
6159
providers.add(new UrlHandlerMappingDescriptionProvider());
62-
if (ClassUtils.isPresent("org.springframework.data.rest.webmvc.support.DelegatingHandlerMapping", null)) {
63-
providers.add(new DelegatingHandlerMappingDescriptionProvider(new ArrayList<>(providers)));
64-
}
60+
providers.add(new IterableDelegatesHandlerMappingDescriptionProvider(new ArrayList<>(providers)));
6561
descriptionProviders = Collections.unmodifiableList(providers);
6662
}
6763

@@ -105,12 +101,12 @@ private List<DispatcherServletMappingDescription> describeMappings(DispatcherSer
105101
return mappings.getHandlerMappings().stream().flatMap(this::describe).collect(Collectors.toList());
106102
}
107103

108-
private <T extends HandlerMapping> Stream<DispatcherServletMappingDescription> describe(T handlerMapping) {
104+
private <T> Stream<DispatcherServletMappingDescription> describe(T handlerMapping) {
109105
return describe(handlerMapping, descriptionProviders).stream();
110106
}
111107

112108
@SuppressWarnings("unchecked")
113-
private static <T extends HandlerMapping> List<DispatcherServletMappingDescription> describe(T handlerMapping,
109+
private static <T> List<DispatcherServletMappingDescription> describe(T handlerMapping,
114110
List<HandlerMappingDescriptionProvider<?>> descriptionProviders) {
115111
for (HandlerMappingDescriptionProvider<?> descriptionProvider : descriptionProviders) {
116112
if (descriptionProvider.getMappingClass().isInstance(handlerMapping)) {
@@ -120,7 +116,7 @@ private static <T extends HandlerMapping> List<DispatcherServletMappingDescripti
120116
return Collections.emptyList();
121117
}
122118

123-
private interface HandlerMappingDescriptionProvider<T extends HandlerMapping> {
119+
private interface HandlerMappingDescriptionProvider<T> {
124120

125121
Class<T> getMappingClass();
126122

@@ -171,26 +167,26 @@ private DispatcherServletMappingDescription describe(Entry<String, Object> mappi
171167

172168
}
173169

174-
private static final class DelegatingHandlerMappingDescriptionProvider implements
175-
HandlerMappingDescriptionProvider<org.springframework.data.rest.webmvc.support.DelegatingHandlerMapping> {
170+
@SuppressWarnings("rawtypes")
171+
private static final class IterableDelegatesHandlerMappingDescriptionProvider
172+
implements HandlerMappingDescriptionProvider<Iterable> {
176173

177174
private final List<HandlerMappingDescriptionProvider<?>> descriptionProviders;
178175

179-
private DelegatingHandlerMappingDescriptionProvider(
176+
private IterableDelegatesHandlerMappingDescriptionProvider(
180177
List<HandlerMappingDescriptionProvider<?>> descriptionProviders) {
181178
this.descriptionProviders = descriptionProviders;
182179
}
183180

184181
@Override
185-
public Class<org.springframework.data.rest.webmvc.support.DelegatingHandlerMapping> getMappingClass() {
186-
return org.springframework.data.rest.webmvc.support.DelegatingHandlerMapping.class;
182+
public Class<Iterable> getMappingClass() {
183+
return Iterable.class;
187184
}
188185

189186
@Override
190-
public List<DispatcherServletMappingDescription> describe(
191-
org.springframework.data.rest.webmvc.support.DelegatingHandlerMapping handlerMapping) {
187+
public List<DispatcherServletMappingDescription> describe(Iterable handlerMapping) {
192188
List<DispatcherServletMappingDescription> descriptions = new ArrayList<>();
193-
for (HandlerMapping delegate : handlerMapping.getDelegates()) {
189+
for (Object delegate : handlerMapping) {
194190
descriptions.addAll(
195191
DispatcherServletsMappingDescriptionProvider.describe(delegate, this.descriptionProviders));
196192
}

0 commit comments

Comments
 (0)