32
32
import org .springframework .boot .actuate .web .mappings .MappingDescriptionProvider ;
33
33
import org .springframework .boot .web .servlet .ServletRegistrationBean ;
34
34
import org .springframework .context .ApplicationContext ;
35
- import org .springframework .util .ClassUtils ;
36
35
import org .springframework .web .context .WebApplicationContext ;
37
36
import org .springframework .web .method .HandlerMethod ;
38
37
import org .springframework .web .servlet .DispatcherServlet ;
50
49
* @author Stephane Nicoll
51
50
* @since 2.0.0
52
51
*/
53
- @ SuppressWarnings ("deprecation" )
54
52
public class DispatcherServletsMappingDescriptionProvider implements MappingDescriptionProvider {
55
53
56
- private static final List <HandlerMappingDescriptionProvider <? extends HandlerMapping >> descriptionProviders ;
54
+ private static final List <HandlerMappingDescriptionProvider <?>> descriptionProviders ;
57
55
58
56
static {
59
- List <HandlerMappingDescriptionProvider <? extends HandlerMapping >> providers = new ArrayList <>();
57
+ List <HandlerMappingDescriptionProvider <?>> providers = new ArrayList <>();
60
58
providers .add (new RequestMappingInfoHandlerMappingDescriptionProvider ());
61
59
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 )));
65
61
descriptionProviders = Collections .unmodifiableList (providers );
66
62
}
67
63
@@ -105,12 +101,12 @@ private List<DispatcherServletMappingDescription> describeMappings(DispatcherSer
105
101
return mappings .getHandlerMappings ().stream ().flatMap (this ::describe ).collect (Collectors .toList ());
106
102
}
107
103
108
- private <T extends HandlerMapping > Stream <DispatcherServletMappingDescription > describe (T handlerMapping ) {
104
+ private <T > Stream <DispatcherServletMappingDescription > describe (T handlerMapping ) {
109
105
return describe (handlerMapping , descriptionProviders ).stream ();
110
106
}
111
107
112
108
@ SuppressWarnings ("unchecked" )
113
- private static <T extends HandlerMapping > List <DispatcherServletMappingDescription > describe (T handlerMapping ,
109
+ private static <T > List <DispatcherServletMappingDescription > describe (T handlerMapping ,
114
110
List <HandlerMappingDescriptionProvider <?>> descriptionProviders ) {
115
111
for (HandlerMappingDescriptionProvider <?> descriptionProvider : descriptionProviders ) {
116
112
if (descriptionProvider .getMappingClass ().isInstance (handlerMapping )) {
@@ -120,7 +116,7 @@ private static <T extends HandlerMapping> List<DispatcherServletMappingDescripti
120
116
return Collections .emptyList ();
121
117
}
122
118
123
- private interface HandlerMappingDescriptionProvider <T extends HandlerMapping > {
119
+ private interface HandlerMappingDescriptionProvider <T > {
124
120
125
121
Class <T > getMappingClass ();
126
122
@@ -171,26 +167,26 @@ private DispatcherServletMappingDescription describe(Entry<String, Object> mappi
171
167
172
168
}
173
169
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 > {
176
173
177
174
private final List <HandlerMappingDescriptionProvider <?>> descriptionProviders ;
178
175
179
- private DelegatingHandlerMappingDescriptionProvider (
176
+ private IterableDelegatesHandlerMappingDescriptionProvider (
180
177
List <HandlerMappingDescriptionProvider <?>> descriptionProviders ) {
181
178
this .descriptionProviders = descriptionProviders ;
182
179
}
183
180
184
181
@ 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 ;
187
184
}
188
185
189
186
@ Override
190
- public List <DispatcherServletMappingDescription > describe (
191
- org .springframework .data .rest .webmvc .support .DelegatingHandlerMapping handlerMapping ) {
187
+ public List <DispatcherServletMappingDescription > describe (Iterable handlerMapping ) {
192
188
List <DispatcherServletMappingDescription > descriptions = new ArrayList <>();
193
- for (HandlerMapping delegate : handlerMapping . getDelegates () ) {
189
+ for (Object delegate : handlerMapping ) {
194
190
descriptions .addAll (
195
191
DispatcherServletsMappingDescriptionProvider .describe (delegate , this .descriptionProviders ));
196
192
}
0 commit comments