From a506520c80ebcf82aeb4ced92a8df3bb5c556249 Mon Sep 17 00:00:00 2001 From: Oliver Drotbohm Date: Wed, 5 Jun 2019 23:47:36 +0200 Subject: [PATCH] DATAREST-1388 - RepositoryRestMvcConfiguration now reuses RepresentationModelProcessorInvoker from Spring HATEOAS. --- .../RepositoryRestMvcConfiguration.java | 20 ++----------------- 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.java b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.java index 6d356c974..c682b4224 100644 --- a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.java +++ b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.java @@ -17,7 +17,6 @@ package org.springframework.data.rest.webmvc.config; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -107,7 +106,6 @@ import org.springframework.hateoas.mediatype.hal.HalConfiguration; import org.springframework.hateoas.mediatype.hal.Jackson2HalModule; import org.springframework.hateoas.mediatype.hal.Jackson2HalModule.HalHandlerInstantiator; import org.springframework.hateoas.server.LinkRelationProvider; -import org.springframework.hateoas.server.RepresentationModelProcessor; import org.springframework.hateoas.server.core.EvoInflectorLinkRelationProvider; import org.springframework.hateoas.server.mvc.RepresentationModelProcessorInvoker; import org.springframework.hateoas.server.mvc.TypeConstrainedMappingJackson2HttpMessageConverter; @@ -166,6 +164,7 @@ public class RepositoryRestMvcConfiguration extends HateoasAwareSpringDataWebCon @Autowired Optional curieProvider; @Autowired Optional halConfiguration; @Autowired ObjectProvider objectMapper; + @Autowired ObjectProvider invoker; private final Lazy mapper; @@ -528,21 +527,6 @@ public class RepositoryRestMvcConfiguration extends HateoasAwareSpringDataWebCon return new UriListHttpMessageConverter(); } - @Bean - @SuppressWarnings("rawtypes") - public RepresentationModelProcessorInvoker resourceProcessorInvoker() { - - Collection beans = applicationContext - .getBeansOfType(RepresentationModelProcessor.class, false, false).values(); - List> processors = new ArrayList>(beans.size()); - - for (RepresentationModelProcessor bean : beans) { - processors.add(bean); - } - - return new RepresentationModelProcessorInvoker(processors); - } - /** * Special {@link org.springframework.web.servlet.HandlerAdapter} that only recognizes handler methods defined in the * provided controller classes. @@ -624,7 +608,7 @@ public class RepositoryRestMvcConfiguration extends HateoasAwareSpringDataWebCon LookupObjectSerializer lookupObjectSerializer = new LookupObjectSerializer(PluginRegistry.of(getEntityLookups())); return new PersistentEntityJackson2Module(associationLinks(), entities, uriToEntityConverter, linkCollector(), - repositoryInvokerFactory, lookupObjectSerializer, resourceProcessorInvoker(), assembler); + repositoryInvokerFactory, lookupObjectSerializer, invoker.getObject(), assembler); } @Bean