1919import  java .util .Arrays ;
2020import  java .util .Collections ;
2121import  java .util .HashSet ;
22+ import  java .util .Iterator ;
2223import  java .util .List ;
2324import  java .util .Map ;
2425import  java .util .Optional ;
@@ -274,9 +275,8 @@ public RepositoryRestMvcConfiguration( //
274275
275276		this .configurerDelegate  = Lazy .of (() -> {
276277
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 ()));
280280		});
281281
282282		this .repositoryRestConfiguration  = Lazy .of (() -> context .getBean (RepositoryRestConfiguration .class ));
@@ -316,16 +316,11 @@ public RepositoryRelProvider repositoryRelProvider(ObjectFactory<ResourceMapping
316316	}
317317
318318	@ Bean 
319+ 	@ SuppressWarnings ({ "rawtypes" , "unchecked"  })
319320	public  PersistentEntities  persistentEntities () {
320321
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 ());
329324	}
330325
331326	@ Bean 
@@ -337,8 +332,7 @@ public DefaultFormattingConversionService defaultConversionService(PersistentEnt
337332		Supplier <ConversionService > supplier  = () -> conversionService ;
338333
339334		// Add Spring Data Commons formatters 
340- 		conversionService 
341- 				.addConverter (new  UriToEntityConverter (persistentEntities , repositoryInvokerFactory , supplier ));
335+ 		conversionService .addConverter (new  UriToEntityConverter (persistentEntities , repositoryInvokerFactory , supplier ));
342336		conversionService .addConverter (new  StringToAggregateReferenceConverter (supplier ));
343337		conversionService .addConverter (StringToLdapNameConverter .INSTANCE );
344338		addFormatters (conversionService );
@@ -450,8 +444,7 @@ public ResourceMetadataHandlerMethodArgumentResolver resourceMetadataHandlerMeth
450444	@ Bean 
451445	public  BackendIdHandlerMethodArgumentResolver  backendIdHandlerMethodArgumentResolver (
452446			PluginRegistry <BackendIdConverter , Class <?>> backendIdConverterRegistry ,
453- 			ResourceMetadataHandlerMethodArgumentResolver  resourceMetadataHandlerMethodArgumentResolver ,
454- 			BaseUri  baseUri ) {
447+ 			ResourceMetadataHandlerMethodArgumentResolver  resourceMetadataHandlerMethodArgumentResolver , BaseUri  baseUri ) {
455448
456449		return  new  BackendIdHandlerMethodArgumentResolver (backendIdConverterRegistry ,
457450				resourceMetadataHandlerMethodArgumentResolver , baseUri );
@@ -469,8 +462,7 @@ public ETagArgumentResolver eTagArgumentResolver() {
469462	 * @return 
470463	 */ 
471464	@ Bean 
472- 	public  RepositoryEntityLinks  entityLinks (
473- 			ObjectFactory <HateoasPageableHandlerMethodArgumentResolver > pageableResolver , // 
465+ 	public  RepositoryEntityLinks  entityLinks (ObjectFactory <HateoasPageableHandlerMethodArgumentResolver > pageableResolver , // 
474466			Repositories  repositories , // 
475467			RepositoryResourceMappings  resourceMappings , // 
476468			PluginRegistry <BackendIdConverter , // 
@@ -494,18 +486,15 @@ public RepositoryEntityLinks entityLinks(
494486	@ Bean 
495487	public  PersistentEntityResourceHandlerMethodArgumentResolver  persistentEntityArgumentResolver (
496488			@ 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 ) {
501491
502492		PluginRegistry <EntityLookup <?>, Class <?>> lookups  = PluginRegistry .of (getEntityLookups ());
503493		DomainObjectReader  reader  = new  DomainObjectReader (entities , associationLinks );
504494		BindContextFactory  factory  = new  PersistentEntitiesBindContextFactory (entities , defaultConversionService );
505495
506496		return  new  PersistentEntityResourceHandlerMethodArgumentResolver (defaultMessageConverters ,
507- 				repoRequestArgumentResolver , backendIdHandlerMethodArgumentResolver ,
508- 				reader , lookups , factory );
497+ 				repoRequestArgumentResolver , backendIdHandlerMethodArgumentResolver , reader , lookups , factory );
509498	}
510499
511500	/** 
@@ -520,8 +509,8 @@ public PersistentEntityToJsonSchemaConverter jsonSchemaConverter(PersistentEntit
520509			RepositoryRestConfiguration  repositoryRestConfiguration ) {
521510
522511		return  new  PersistentEntityToJsonSchemaConverter (persistentEntities , associationLinks , resolver .getObject (),
523- 				objectMapper (),
524- 				repositoryRestConfiguration ,  new  ValueTypeSchemaPropertyCustomizerFactory (repositoryInvokerFactory ));
512+ 				objectMapper (),  repositoryRestConfiguration , 
513+ 				new  ValueTypeSchemaPropertyCustomizerFactory (repositoryInvokerFactory ));
525514	}
526515
527516	/** 
@@ -569,8 +558,7 @@ public TypeConstrainedMappingJackson2HttpMessageConverter jacksonHttpMessageConv
569558	// 
570559
571560	@ Bean 
572- 	public  TypeConstrainedMappingJackson2HttpMessageConverter  halJacksonHttpMessageConverter (
573- 			LinkCollector  linkCollector ,
561+ 	public  TypeConstrainedMappingJackson2HttpMessageConverter  halJacksonHttpMessageConverter (LinkCollector  linkCollector ,
574562			RepositoryRestConfiguration  repositoryRestConfiguration ) {
575563
576564		ArrayList <MediaType > mediaTypes  = new  ArrayList <>();
@@ -600,8 +588,7 @@ public TypeConstrainedMappingJackson2HttpMessageConverter halJacksonHttpMessageC
600588	 * @since 3.5 
601589	 */ 
602590	@ Bean 
603- 	TypeConstrainedMappingJackson2HttpMessageConverter  halFormsJacksonHttpMessageConverter (
604- 			LinkCollector  linkCollector ) {
591+ 	TypeConstrainedMappingJackson2HttpMessageConverter  halFormsJacksonHttpMessageConverter (LinkCollector  linkCollector ) {
605592
606593		LinkRelationProvider  defaultedRelProvider  = this .relProvider .getIfUnique (EvoInflectorLinkRelationProvider ::new );
607594		HalFormsConfiguration  configuration  = new  HalFormsConfiguration (
@@ -612,9 +599,8 @@ TypeConstrainedMappingJackson2HttpMessageConverter halFormsJacksonHttpMessageCon
612599
613600		mapper .registerModule (persistentEntityJackson2Module (linkCollector ));
614601		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 ()));
618604
619605		return  new  HalFormsHttpMessageConverter (applicationContext , mapper );
620606	}
@@ -667,9 +653,9 @@ public RequestMappingHandlerAdapter repositoryExporterHandlerAdapter(
667653		initializer .setConversionService (defaultConversionService );
668654		initializer .setValidator (validator .getIfUnique ());
669655
670- 		RepositoryRestHandlerAdapter  handlerAdapter  = new  RepositoryRestHandlerAdapter (defaultMethodArgumentResolvers ( 
671- 				selfLinkProvider , persistentEntityArgumentResolver ,  persistentEntityResourceAssemblerArgumentResolver ,
672- 				repoRequestArgumentResolver ));
656+ 		RepositoryRestHandlerAdapter  handlerAdapter  = new  RepositoryRestHandlerAdapter (
657+ 				defaultMethodArgumentResolvers ( selfLinkProvider , persistentEntityArgumentResolver ,
658+ 						 persistentEntityResourceAssemblerArgumentResolver ,  repoRequestArgumentResolver ));
673659		handlerAdapter .setWebBindingInitializer (initializer );
674660		handlerAdapter .setMessageConverters (defaultMessageConverters );
675661
@@ -739,8 +725,7 @@ protected Module persistentEntityJackson2Module(LinkCollector linkCollector) {
739725
740726		EmbeddedResourcesAssembler  assembler  = new  EmbeddedResourcesAssembler (persistentEntities .get (),
741727				associationLinks .get (), excerptProjector .get ());
742- 		LookupObjectSerializer  lookupObjectSerializer  = new  LookupObjectSerializer (
743- 				PluginRegistry .of (getEntityLookups ()));
728+ 		LookupObjectSerializer  lookupObjectSerializer  = new  LookupObjectSerializer (PluginRegistry .of (getEntityLookups ()));
744729
745730		return  new  PersistentEntityJackson2Module (associationLinks .get (), persistentEntities .get (),
746731				new  UriToEntityConverter (persistentEntities .get (), repositoryInvokerFactory .get (),
@@ -753,8 +738,7 @@ protected LinkCollector linkCollector(PersistentEntities persistentEntities, Sel
753738			Associations  associationLinks ) {
754739
755740		return  configurerDelegate .get ()
756- 				.customizeLinkCollector (
757- 						new  DefaultLinkCollector (persistentEntities , selfLinkProvider , associationLinks ));
741+ 				.customizeLinkCollector (new  DefaultLinkCollector (persistentEntities , selfLinkProvider , associationLinks ));
758742	}
759743
760744	@ Bean 
@@ -771,9 +755,9 @@ public void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> excep
771755
772756		ExceptionHandlerExceptionResolver  er  = new  ExceptionHandlerExceptionResolver ();
773757		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 ()));
777761		er .setMessageConverters (defaultMessageConverters .get ());
778762
779763		configurerDelegate .get ().configureExceptionHandlerExceptionResolver (er );
@@ -948,8 +932,7 @@ PersistentEntityResourceAssemblerArgumentResolver persistentEntityResourceAssemb
948932		projectionFactory .setBeanClassLoader (beanClassLoader );
949933
950934		return  new  PersistentEntityResourceAssemblerArgumentResolver (persistentEntities .get (), selfLinkProvider .get (),
951- 				repositoryRestConfiguration .get ().getProjectionConfiguration (), projectionFactory ,
952- 				associationLinks .get ());
935+ 				repositoryRestConfiguration .get ().getProjectionConfiguration (), projectionFactory , associationLinks .get ());
953936	}
954937
955938	protected  ObjectMapper  basicObjectMapper () {
@@ -965,10 +948,8 @@ protected ObjectMapper basicObjectMapper() {
965948		configurerDelegate .get ().configureJacksonObjectMapper (objectMapper );
966949
967950		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 ()));
972953
973954		if  (repositoryRestConfiguration .get ().isEnableEnumTranslation ()) {
974955			objectMapper .registerModule (new  JacksonSerializers (enumTranslator .get ()));
@@ -1040,9 +1021,8 @@ public void addResourceHandlers(ResourceHandlerRegistry registry) {
10401021	@ SuppressWarnings ("unchecked" )
10411022	private  static  <S > Lazy <List <S >> beansOfType (ApplicationContext  context , Class <?> type ) {
10421023
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 ()));
10461026	}
10471027
10481028	private  static  class  ResourceSupportHttpMessageConverter  extends  TypeConstrainedMappingJackson2HttpMessageConverter 
0 commit comments