DATAREST-1341 - Upgrade to latest API changes in Spring HATEOAS.

This commit is contained in:
Oliver Drotbohm
2019-03-04 11:42:58 +01:00
parent 47a759e3c3
commit d714d10675
14 changed files with 61 additions and 61 deletions

View File

@@ -32,8 +32,8 @@ import org.springframework.data.rest.core.mapping.RepositoryDetectionStrategy;
import org.springframework.data.rest.core.mapping.RepositoryDetectionStrategy.RepositoryDetectionStrategies;
import org.springframework.data.rest.core.support.EntityLookup;
import org.springframework.hateoas.MediaTypes;
import org.springframework.hateoas.server.RelProvider;
import org.springframework.hateoas.server.core.EvoInflectorRelProvider;
import org.springframework.hateoas.server.LinkRelationProvider;
import org.springframework.hateoas.server.core.EvoInflectorLinkRelationProvider;
import org.springframework.http.MediaType;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
@@ -73,7 +73,7 @@ public class RepositoryRestConfiguration {
/**
* The {@link RelProvider} to be used to calculate the link relation defaults for repositories.
*/
private @Getter @Setter @NonNull RelProvider relProvider = new EvoInflectorRelProvider();
private @Getter @Setter @NonNull LinkRelationProvider relProvider = new EvoInflectorLinkRelationProvider();
private final RepositoryCorsRegistry corsRegistry = new RepositoryCorsRegistry();
private final ProjectionDefinitionConfiguration projectionConfiguration;
@@ -579,7 +579,7 @@ public class RepositoryRestConfiguration {
/**
* Returns whether to expose repository methods by default.
*
*
* @since 3.1
* @see #setExposeRepositoryMethodsByDefault(boolean)
*/
@@ -592,7 +592,7 @@ public class RepositoryRestConfiguration {
* {@link RestResource} explicitly to expose the default set of resources (opt-in). If this is set to {@literal true}
* (default), repository methods methods are exposed unless explictly annotated with {@link RestResource} and
* {@link RestResource#exported()} set to {@literal false}.
*
*
* @since 3.1
* @see #setRepositoryDetectionStrategy(RepositoryDetectionStrategy)
*/
@@ -607,7 +607,7 @@ public class RepositoryRestConfiguration {
* {@link #setRepositoryDetectionStrategy(RepositoryDetectionStrategy)} to
* {@link RepositoryDetectionStrategies#ANNOTATED} and setting {@link #setExposeRepositoryMethodsByDefault(boolean)}
* to {@literal false}.
*
*
* @since 3.1
* @see #setRepositoryDetectionStrategy(RepositoryDetectionStrategy)
* @see #setExposeRepositoryMethodsByDefault(boolean)

View File

@@ -16,7 +16,7 @@
package org.springframework.data.rest.core.mapping;
import org.atteo.evo.inflector.English;
import org.springframework.hateoas.server.RelProvider;
import org.springframework.hateoas.server.LinkRelationProvider;
/**
* {@link TypeBasedCollectionResourceMapping} extension to use Evo Inflector to pluralize the simple class name by as
@@ -32,7 +32,7 @@ class EvoInflectorTypeBasedCollectionResourceMapping extends TypeBasedCollection
* @param type must not be {@literal null}.
* @param relProvider must not be {@literal null}.
*/
public EvoInflectorTypeBasedCollectionResourceMapping(Class<?> type, RelProvider relProvider) {
public EvoInflectorTypeBasedCollectionResourceMapping(Class<?> type, LinkRelationProvider relProvider) {
super(type, relProvider);
}

View File

@@ -23,8 +23,8 @@ import org.springframework.data.rest.core.Path;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
import org.springframework.data.rest.core.annotation.RestResource;
import org.springframework.hateoas.LinkRelation;
import org.springframework.hateoas.server.RelProvider;
import org.springframework.hateoas.server.core.EvoInflectorRelProvider;
import org.springframework.hateoas.server.LinkRelationProvider;
import org.springframework.hateoas.server.core.EvoInflectorLinkRelationProvider;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
import org.springframework.util.StringUtils;
@@ -48,7 +48,7 @@ class RepositoryCollectionResourceMapping implements CollectionResourceMapping {
private final RepositoryMetadata metadata;
public RepositoryCollectionResourceMapping(RepositoryMetadata metadata, RepositoryDetectionStrategy strategy) {
this(metadata, strategy, new EvoInflectorRelProvider());
this(metadata, strategy, new EvoInflectorLinkRelationProvider());
}
/**
@@ -60,10 +60,10 @@ class RepositoryCollectionResourceMapping implements CollectionResourceMapping {
* @param repositoryType must not be {@literal null}.
*/
RepositoryCollectionResourceMapping(RepositoryMetadata metadata, RepositoryDetectionStrategy strategy,
RelProvider relProvider) {
LinkRelationProvider relProvider) {
Assert.notNull(metadata, "Repository metadata must not be null!");
Assert.notNull(relProvider, "RelProvider must not be null!");
Assert.notNull(relProvider, "LinkRelationProvider must not be null!");
Assert.notNull(strategy, "RepositoryDetectionStrategy must not be null!");
Class<?> repositoryType = metadata.getRepositoryInterface();

View File

@@ -28,7 +28,7 @@ import org.springframework.data.repository.core.RepositoryInformation;
import org.springframework.data.repository.support.Repositories;
import org.springframework.data.rest.core.annotation.RestResource;
import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
import org.springframework.hateoas.server.RelProvider;
import org.springframework.hateoas.server.LinkRelationProvider;
import org.springframework.util.Assert;
/**
@@ -74,7 +74,7 @@ public class RepositoryResourceMappings extends PersistentEntitiesResourceMappin
PersistentEntity<?, ?> entity = repositories.getPersistentEntity(type);
RepositoryDetectionStrategy strategy = configuration.getRepositoryDetectionStrategy();
RelProvider provider = configuration.getRelProvider();
LinkRelationProvider provider = configuration.getRelProvider();
CollectionResourceMapping mapping = new RepositoryCollectionResourceMapping(repositoryInformation, strategy,
provider);

View File

@@ -22,8 +22,8 @@ import org.springframework.data.rest.core.Path;
import org.springframework.data.rest.core.annotation.Description;
import org.springframework.data.rest.core.annotation.RestResource;
import org.springframework.hateoas.LinkRelation;
import org.springframework.hateoas.server.RelProvider;
import org.springframework.hateoas.server.core.EvoInflectorRelProvider;
import org.springframework.hateoas.server.LinkRelationProvider;
import org.springframework.hateoas.server.core.EvoInflectorLinkRelationProvider;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
@@ -36,7 +36,7 @@ import org.springframework.util.StringUtils;
class TypeBasedCollectionResourceMapping implements CollectionResourceMapping {
private final Class<?> type;
private final RelProvider relProvider;
private final LinkRelationProvider relProvider;
private final RestResource annotation;
private final Description description;
@@ -46,7 +46,7 @@ class TypeBasedCollectionResourceMapping implements CollectionResourceMapping {
* @param type must not be {@literal null}.
*/
public TypeBasedCollectionResourceMapping(Class<?> type) {
this(type, new EvoInflectorRelProvider());
this(type, new EvoInflectorLinkRelationProvider());
}
/**
@@ -55,10 +55,10 @@ class TypeBasedCollectionResourceMapping implements CollectionResourceMapping {
* @param type must not be {@literal null}.
* @param relProvider must not be {@literal null}.
*/
public TypeBasedCollectionResourceMapping(Class<?> type, RelProvider relProvider) {
public TypeBasedCollectionResourceMapping(Class<?> type, LinkRelationProvider relProvider) {
Assert.notNull(type, "Type must not be null!");
Assert.notNull(relProvider, "RelProvider must not be null!");
Assert.notNull(relProvider, "LinkRelationProvider must not be null!");
this.type = type;
this.relProvider = relProvider;

View File

@@ -20,7 +20,7 @@ import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.data.rest.core.mapping.ResourceMappings;
import org.springframework.hateoas.LinkRelation;
import org.springframework.hateoas.server.RelProvider;
import org.springframework.hateoas.server.LinkRelationProvider;
import org.springframework.util.Assert;
/**
@@ -29,7 +29,7 @@ import org.springframework.util.Assert;
* @author Oliver Gierke
*/
@Order(Ordered.LOWEST_PRECEDENCE + 10)
public class RepositoryRelProvider implements RelProvider {
public class RepositoryRelProvider implements LinkRelationProvider {
private final ObjectFactory<ResourceMappings> mappings;
@@ -46,7 +46,7 @@ public class RepositoryRelProvider implements RelProvider {
/*
* (non-Javadoc)
* @see org.springframework.hateoas.server.RelProvider#getCollectionResourceRelFor(java.lang.Class)
* @see org.springframework.hateoas.server.LinkRelationProvider#getCollectionResourceRelFor(java.lang.Class)
*/
@Override
public LinkRelation getCollectionResourceRelFor(Class<?> type) {
@@ -55,7 +55,7 @@ public class RepositoryRelProvider implements RelProvider {
/*
* (non-Javadoc)
* @see org.springframework.hateoas.server.RelProvider#getItemResourceRelFor(java.lang.Class)
* @see org.springframework.hateoas.server.LinkRelationProvider#getItemResourceRelFor(java.lang.Class)
*/
@Override
public LinkRelation getItemResourceRelFor(Class<?> type) {

View File

@@ -16,13 +16,13 @@
package org.springframework.data.rest.core.support;
import org.springframework.hateoas.LinkRelation;
import org.springframework.hateoas.server.RelProvider;
import org.springframework.hateoas.server.LinkRelationProvider;
import org.springframework.util.StringUtils;
/**
* @author Oliver Gierke
*/
public class SimpleRelProvider implements RelProvider {
public class SimpleRelProvider implements LinkRelationProvider {
/*
* (non-Javadoc)
@@ -35,7 +35,7 @@ public class SimpleRelProvider implements RelProvider {
/*
* (non-Javadoc)
* @see org.springframework.hateoas.server.RelProvider#getItemResourceRelFor(java.lang.Class)
* @see org.springframework.hateoas.server.LinkRelationProvider#getItemResourceRelFor(java.lang.Class)
*/
@Override
public LinkRelation getItemResourceRelFor(Class<?> type) {
@@ -46,7 +46,7 @@ public class SimpleRelProvider implements RelProvider {
/*
* (non-Javadoc)
* @see org.springframework.hateoas.server.RelProvider#getCollectionResourceRelFor(java.lang.Class)
* @see org.springframework.hateoas.server.LinkRelationProvider#getCollectionResourceRelFor(java.lang.Class)
*/
@Override
public LinkRelation getCollectionResourceRelFor(Class<?> type) {

View File

@@ -27,8 +27,8 @@ import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RestResource;
import org.springframework.data.rest.core.domain.Person;
import org.springframework.data.rest.core.mapping.ResourceMapping;
import org.springframework.hateoas.server.RelProvider;
import org.springframework.hateoas.server.core.EvoInflectorRelProvider;
import org.springframework.hateoas.server.LinkRelationProvider;
import org.springframework.hateoas.server.core.EvoInflectorLinkRelationProvider;
/**
* Ensure the {@link ResourceMapping} components convey the correct information.
@@ -38,7 +38,7 @@ import org.springframework.hateoas.server.core.EvoInflectorRelProvider;
@SuppressWarnings("deprecation")
public class ResourceMappingUnitTests {
RelProvider relProvider = new EvoInflectorRelProvider();
LinkRelationProvider relProvider = new EvoInflectorLinkRelationProvider();
@Test
public void shouldDetectPathAndRemoveLeadingSlashIfAny() {