11package org .springdoc .core .providers ;
22
33import java .lang .reflect .Field ;
4+ import java .util .List ;
45import java .util .Map ;
56import java .util .Optional ;
67
1213import org .springframework .core .convert .converter .GenericConverter .ConvertiblePair ;
1314import org .springframework .core .convert .support .GenericConversionService ;
1415import org .springframework .format .support .DefaultFormattingConversionService ;
16+ import org .springframework .format .support .FormattingConversionService ;
1517import org .springframework .lang .Nullable ;
1618
1719/**
@@ -29,17 +31,24 @@ public class WebConversionServiceProvider {
2931 /**
3032 * The Formatting conversion service.
3133 */
32- private final GenericConversionService formattingConversionService ;
34+ private GenericConversionService formattingConversionService ;
3335
3436 /**
3537 * Instantiates a new Web conversion service provider.
3638 *
3739 * @param webConversionServiceOptional the web conversion service optional
3840 */
39- public WebConversionServiceProvider (Optional <GenericConversionService > webConversionServiceOptional ) {
40- if (webConversionServiceOptional .isPresent ())
41- this .formattingConversionService = webConversionServiceOptional .get ();
42- else
41+ public WebConversionServiceProvider (Optional <List <GenericConversionService >> webConversionServiceOptional ) {
42+ if (webConversionServiceOptional .isPresent ()) {
43+ List <GenericConversionService > conversionServiceList = webConversionServiceOptional .get ();
44+ for (GenericConversionService genericConversionService : conversionServiceList ) {
45+ if (genericConversionService instanceof FormattingConversionService ) {
46+ this .formattingConversionService = genericConversionService ;
47+ break ;
48+ }
49+ }
50+ }
51+ if (formattingConversionService == null )
4352 formattingConversionService = new DefaultFormattingConversionService ();
4453 }
4554
0 commit comments