19
19
import java .util .Arrays ;
20
20
import java .util .Collections ;
21
21
import java .util .HashSet ;
22
+ import java .util .Iterator ;
22
23
import java .util .List ;
23
24
import java .util .Map ;
24
25
import java .util .Optional ;
@@ -274,9 +275,8 @@ public RepositoryRestMvcConfiguration( //
274
275
275
276
this .configurerDelegate = Lazy .of (() -> {
276
277
277
- return new RepositoryRestConfigurerDelegate (context .getBeanProvider (RepositoryRestConfigurer .class )
278
- .orderedStream ()
279
- .collect (Collectors .toList ()));
278
+ return new RepositoryRestConfigurerDelegate (
279
+ context .getBeanProvider (RepositoryRestConfigurer .class ).orderedStream ().collect (Collectors .toList ()));
280
280
});
281
281
282
282
this .repositoryRestConfiguration = Lazy .of (() -> context .getBean (RepositoryRestConfiguration .class ));
@@ -316,16 +316,11 @@ public RepositoryRelProvider repositoryRelProvider(ObjectFactory<ResourceMapping
316
316
}
317
317
318
318
@ Bean
319
+ @ SuppressWarnings ({ "rawtypes" , "unchecked" })
319
320
public PersistentEntities persistentEntities () {
320
321
321
- List <MappingContext <?, ?>> arrayList = new ArrayList <>();
322
-
323
- for (MappingContext <?, ?> context : BeanFactoryUtils
324
- .beansOfTypeIncludingAncestors (applicationContext , MappingContext .class ).values ()) {
325
- arrayList .add (context );
326
- }
327
-
328
- return new PersistentEntities (arrayList );
322
+ return new PersistentEntities (() -> (Iterator ) BeanFactoryUtils
323
+ .beansOfTypeIncludingAncestors (applicationContext , MappingContext .class ).values ().iterator ());
329
324
}
330
325
331
326
@ Bean
@@ -337,8 +332,7 @@ public DefaultFormattingConversionService defaultConversionService(PersistentEnt
337
332
Supplier <ConversionService > supplier = () -> conversionService ;
338
333
339
334
// Add Spring Data Commons formatters
340
- conversionService
341
- .addConverter (new UriToEntityConverter (persistentEntities , repositoryInvokerFactory , supplier ));
335
+ conversionService .addConverter (new UriToEntityConverter (persistentEntities , repositoryInvokerFactory , supplier ));
342
336
conversionService .addConverter (new StringToAggregateReferenceConverter (supplier ));
343
337
conversionService .addConverter (StringToLdapNameConverter .INSTANCE );
344
338
addFormatters (conversionService );
@@ -450,8 +444,7 @@ public ResourceMetadataHandlerMethodArgumentResolver resourceMetadataHandlerMeth
450
444
@ Bean
451
445
public BackendIdHandlerMethodArgumentResolver backendIdHandlerMethodArgumentResolver (
452
446
PluginRegistry <BackendIdConverter , Class <?>> backendIdConverterRegistry ,
453
- ResourceMetadataHandlerMethodArgumentResolver resourceMetadataHandlerMethodArgumentResolver ,
454
- BaseUri baseUri ) {
447
+ ResourceMetadataHandlerMethodArgumentResolver resourceMetadataHandlerMethodArgumentResolver , BaseUri baseUri ) {
455
448
456
449
return new BackendIdHandlerMethodArgumentResolver (backendIdConverterRegistry ,
457
450
resourceMetadataHandlerMethodArgumentResolver , baseUri );
@@ -469,8 +462,7 @@ public ETagArgumentResolver eTagArgumentResolver() {
469
462
* @return
470
463
*/
471
464
@ Bean
472
- public RepositoryEntityLinks entityLinks (
473
- ObjectFactory <HateoasPageableHandlerMethodArgumentResolver > pageableResolver , //
465
+ public RepositoryEntityLinks entityLinks (ObjectFactory <HateoasPageableHandlerMethodArgumentResolver > pageableResolver , //
474
466
Repositories repositories , //
475
467
RepositoryResourceMappings resourceMappings , //
476
468
PluginRegistry <BackendIdConverter , //
@@ -494,18 +486,15 @@ public RepositoryEntityLinks entityLinks(
494
486
@ Bean
495
487
public PersistentEntityResourceHandlerMethodArgumentResolver persistentEntityArgumentResolver (
496
488
@ Qualifier ("defaultMessageConverters" ) List <HttpMessageConverter <?>> defaultMessageConverters ,
497
- RootResourceInformationHandlerMethodArgumentResolver repoRequestArgumentResolver ,
498
- Associations associationLinks ,
499
- BackendIdHandlerMethodArgumentResolver backendIdHandlerMethodArgumentResolver ,
500
- PersistentEntities entities ) {
489
+ RootResourceInformationHandlerMethodArgumentResolver repoRequestArgumentResolver , Associations associationLinks ,
490
+ BackendIdHandlerMethodArgumentResolver backendIdHandlerMethodArgumentResolver , PersistentEntities entities ) {
501
491
502
492
PluginRegistry <EntityLookup <?>, Class <?>> lookups = PluginRegistry .of (getEntityLookups ());
503
493
DomainObjectReader reader = new DomainObjectReader (entities , associationLinks );
504
494
BindContextFactory factory = new PersistentEntitiesBindContextFactory (entities , defaultConversionService );
505
495
506
496
return new PersistentEntityResourceHandlerMethodArgumentResolver (defaultMessageConverters ,
507
- repoRequestArgumentResolver , backendIdHandlerMethodArgumentResolver ,
508
- reader , lookups , factory );
497
+ repoRequestArgumentResolver , backendIdHandlerMethodArgumentResolver , reader , lookups , factory );
509
498
}
510
499
511
500
/**
@@ -520,8 +509,8 @@ public PersistentEntityToJsonSchemaConverter jsonSchemaConverter(PersistentEntit
520
509
RepositoryRestConfiguration repositoryRestConfiguration ) {
521
510
522
511
return new PersistentEntityToJsonSchemaConverter (persistentEntities , associationLinks , resolver .getObject (),
523
- objectMapper (),
524
- repositoryRestConfiguration , new ValueTypeSchemaPropertyCustomizerFactory (repositoryInvokerFactory ));
512
+ objectMapper (), repositoryRestConfiguration ,
513
+ new ValueTypeSchemaPropertyCustomizerFactory (repositoryInvokerFactory ));
525
514
}
526
515
527
516
/**
@@ -569,8 +558,7 @@ public TypeConstrainedMappingJackson2HttpMessageConverter jacksonHttpMessageConv
569
558
//
570
559
571
560
@ Bean
572
- public TypeConstrainedMappingJackson2HttpMessageConverter halJacksonHttpMessageConverter (
573
- LinkCollector linkCollector ,
561
+ public TypeConstrainedMappingJackson2HttpMessageConverter halJacksonHttpMessageConverter (LinkCollector linkCollector ,
574
562
RepositoryRestConfiguration repositoryRestConfiguration ) {
575
563
576
564
ArrayList <MediaType > mediaTypes = new ArrayList <>();
@@ -600,8 +588,7 @@ public TypeConstrainedMappingJackson2HttpMessageConverter halJacksonHttpMessageC
600
588
* @since 3.5
601
589
*/
602
590
@ Bean
603
- TypeConstrainedMappingJackson2HttpMessageConverter halFormsJacksonHttpMessageConverter (
604
- LinkCollector linkCollector ) {
591
+ TypeConstrainedMappingJackson2HttpMessageConverter halFormsJacksonHttpMessageConverter (LinkCollector linkCollector ) {
605
592
606
593
LinkRelationProvider defaultedRelProvider = this .relProvider .getIfUnique (EvoInflectorLinkRelationProvider ::new );
607
594
HalFormsConfiguration configuration = new HalFormsConfiguration (
@@ -612,9 +599,8 @@ TypeConstrainedMappingJackson2HttpMessageConverter halFormsJacksonHttpMessageCon
612
599
613
600
mapper .registerModule (persistentEntityJackson2Module (linkCollector ));
614
601
mapper .registerModule (new Jackson2HalFormsModule ());
615
- mapper .setHandlerInstantiator (new Jackson2HalModule .HalHandlerInstantiator (
616
- defaultedRelProvider , curieProvider , resolver .getObject (), configuration .getHalConfiguration (),
617
- applicationContext .getAutowireCapableBeanFactory ()));
602
+ mapper .setHandlerInstantiator (new Jackson2HalModule .HalHandlerInstantiator (defaultedRelProvider , curieProvider ,
603
+ resolver .getObject (), configuration .getHalConfiguration (), applicationContext .getAutowireCapableBeanFactory ()));
618
604
619
605
return new HalFormsHttpMessageConverter (applicationContext , mapper );
620
606
}
@@ -667,9 +653,9 @@ public RequestMappingHandlerAdapter repositoryExporterHandlerAdapter(
667
653
initializer .setConversionService (defaultConversionService );
668
654
initializer .setValidator (validator .getIfUnique ());
669
655
670
- RepositoryRestHandlerAdapter handlerAdapter = new RepositoryRestHandlerAdapter (defaultMethodArgumentResolvers (
671
- selfLinkProvider , persistentEntityArgumentResolver , persistentEntityResourceAssemblerArgumentResolver ,
672
- repoRequestArgumentResolver ));
656
+ RepositoryRestHandlerAdapter handlerAdapter = new RepositoryRestHandlerAdapter (
657
+ defaultMethodArgumentResolvers ( selfLinkProvider , persistentEntityArgumentResolver ,
658
+ persistentEntityResourceAssemblerArgumentResolver , repoRequestArgumentResolver ));
673
659
handlerAdapter .setWebBindingInitializer (initializer );
674
660
handlerAdapter .setMessageConverters (defaultMessageConverters );
675
661
@@ -739,8 +725,7 @@ protected Module persistentEntityJackson2Module(LinkCollector linkCollector) {
739
725
740
726
EmbeddedResourcesAssembler assembler = new EmbeddedResourcesAssembler (persistentEntities .get (),
741
727
associationLinks .get (), excerptProjector .get ());
742
- LookupObjectSerializer lookupObjectSerializer = new LookupObjectSerializer (
743
- PluginRegistry .of (getEntityLookups ()));
728
+ LookupObjectSerializer lookupObjectSerializer = new LookupObjectSerializer (PluginRegistry .of (getEntityLookups ()));
744
729
745
730
return new PersistentEntityJackson2Module (associationLinks .get (), persistentEntities .get (),
746
731
new UriToEntityConverter (persistentEntities .get (), repositoryInvokerFactory .get (),
@@ -753,8 +738,7 @@ protected LinkCollector linkCollector(PersistentEntities persistentEntities, Sel
753
738
Associations associationLinks ) {
754
739
755
740
return configurerDelegate .get ()
756
- .customizeLinkCollector (
757
- new DefaultLinkCollector (persistentEntities , selfLinkProvider , associationLinks ));
741
+ .customizeLinkCollector (new DefaultLinkCollector (persistentEntities , selfLinkProvider , associationLinks ));
758
742
}
759
743
760
744
@ Bean
@@ -771,9 +755,9 @@ public void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> excep
771
755
772
756
ExceptionHandlerExceptionResolver er = new ExceptionHandlerExceptionResolver ();
773
757
er .setApplicationContext (applicationContext );
774
- er .setCustomArgumentResolvers (defaultMethodArgumentResolvers ( selfLinkProvider . get (),
775
- persistentEntityArgumentResolver .get (), persistentEntityResourceAssemblerArgumentResolver .get (),
776
- repoRequestArgumentResolver .get ()));
758
+ er .setCustomArgumentResolvers (
759
+ defaultMethodArgumentResolvers ( selfLinkProvider .get (), persistentEntityArgumentResolver .get (),
760
+ persistentEntityResourceAssemblerArgumentResolver . get (), repoRequestArgumentResolver .get ()));
777
761
er .setMessageConverters (defaultMessageConverters .get ());
778
762
779
763
configurerDelegate .get ().configureExceptionHandlerExceptionResolver (er );
@@ -948,8 +932,7 @@ PersistentEntityResourceAssemblerArgumentResolver persistentEntityResourceAssemb
948
932
projectionFactory .setBeanClassLoader (beanClassLoader );
949
933
950
934
return new PersistentEntityResourceAssemblerArgumentResolver (persistentEntities .get (), selfLinkProvider .get (),
951
- repositoryRestConfiguration .get ().getProjectionConfiguration (), projectionFactory ,
952
- associationLinks .get ());
935
+ repositoryRestConfiguration .get ().getProjectionConfiguration (), projectionFactory , associationLinks .get ());
953
936
}
954
937
955
938
protected ObjectMapper basicObjectMapper () {
@@ -965,10 +948,8 @@ protected ObjectMapper basicObjectMapper() {
965
948
configurerDelegate .get ().configureJacksonObjectMapper (objectMapper );
966
949
967
950
objectMapper .registerModule (geoModule .getObject ());
968
- objectMapper .registerModule (new AggregateReferenceResolvingModule (
969
- new UriToEntityConverter (persistentEntities .get (), repositoryInvokerFactory .get (),
970
- () -> defaultConversionService ),
971
- resourceMappings .get ()));
951
+ objectMapper .registerModule (new AggregateReferenceResolvingModule (new UriToEntityConverter (persistentEntities .get (),
952
+ repositoryInvokerFactory .get (), () -> defaultConversionService ), resourceMappings .get ()));
972
953
973
954
if (repositoryRestConfiguration .get ().isEnableEnumTranslation ()) {
974
955
objectMapper .registerModule (new JacksonSerializers (enumTranslator .get ()));
@@ -1040,9 +1021,8 @@ public void addResourceHandlers(ResourceHandlerRegistry registry) {
1040
1021
@ SuppressWarnings ("unchecked" )
1041
1022
private static <S > Lazy <List <S >> beansOfType (ApplicationContext context , Class <?> type ) {
1042
1023
1043
- return Lazy .of (() -> (List <S >) context .getBeanProvider (type )
1044
- .orderedStream ()
1045
- .collect (StreamUtils .toUnmodifiableList ()));
1024
+ return Lazy
1025
+ .of (() -> (List <S >) context .getBeanProvider (type ).orderedStream ().collect (StreamUtils .toUnmodifiableList ()));
1046
1026
}
1047
1027
1048
1028
private static class ResourceSupportHttpMessageConverter extends TypeConstrainedMappingJackson2HttpMessageConverter
0 commit comments