From f6a6565638b0f2eb83f41627bf893e6155bb2ff8 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Mon, 3 Jul 2017 14:32:42 +0200 Subject: [PATCH] DATACMNS-1101 - Remove getPersistentProperties/Associations from PersistentEntity. Remove lately introduced getPersistentProperties / getAssociations and rather extend Iterable> --- .../data/mapping/PersistentEntity.java | 12 +--------- .../mapping/model/BasicPersistentEntity.java | 24 +++++-------------- .../AbstractMappingContextUnitTests.java | 2 +- 3 files changed, 8 insertions(+), 30 deletions(-) diff --git a/src/main/java/org/springframework/data/mapping/PersistentEntity.java b/src/main/java/org/springframework/data/mapping/PersistentEntity.java index 8227dce3a..622996118 100644 --- a/src/main/java/org/springframework/data/mapping/PersistentEntity.java +++ b/src/main/java/org/springframework/data/mapping/PersistentEntity.java @@ -31,7 +31,7 @@ import org.springframework.data.util.TypeInformation; * @author Mark Paluch * @author Christoph Strobl */ -public interface PersistentEntity> { +public interface PersistentEntity> extends Iterable

{ /** * The entity name including any package prefix. @@ -224,14 +224,6 @@ public interface PersistentEntity> { void doWithProperties(SimplePropertyHandler handler); - /** - * Get {@link Iterable} - * - * @return - * @since 2.0 - */ - Iterable

getPersistentProperties(); - /** * Applies the given {@link AssociationHandler} to all {@link Association} contained in this {@link PersistentEntity}. * @@ -241,8 +233,6 @@ public interface PersistentEntity> { void doWithAssociations(SimpleAssociationHandler handler); - Iterable> getAssociations(); - /** * Looks up the annotation of the given type on the {@link PersistentEntity}. * diff --git a/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java b/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java index c460af451..9571bea48 100644 --- a/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java +++ b/src/main/java/org/springframework/data/mapping/model/BasicPersistentEntity.java @@ -25,6 +25,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Optional; @@ -353,15 +354,6 @@ public class BasicPersistentEntity> implement } } - /* - * (non-Javadoc) - * @see org.springframework.data.mapping.PersistentEntity#getPersistentProperties() - */ - @Override - public List

getPersistentProperties() { - return Collections.unmodifiableList(persistentPropertiesCache); - } - /* * (non-Javadoc) * @see org.springframework.data.mapping.PersistentEntity#doWithAssociations(org.springframework.data.mapping.AssociationHandler) @@ -388,15 +380,6 @@ public class BasicPersistentEntity> implement } } - /* - * (non-Javadoc) - * @see org.springframework.data.mapping.PersistentEntity#getAssociations() - */ - @Override - public Set> getAssociations() { - return Collections.unmodifiableSet(associations); - } - /* * (non-Javadoc) * @see org.springframework.data.mapping.PersistentEntity#findAnnotation(java.lang.Class) @@ -471,6 +454,11 @@ public class BasicPersistentEntity> implement return hasIdProperty() ? new IdPropertyIdentifierAccessor(this, bean) : new AbsentIdentifierAccessor(bean); } + @Override + public Iterator

iterator() { + return Collections.unmodifiableList(properties).iterator(); + } + /** * Calculates the {@link Alias} to be used for the given type. * diff --git a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java b/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java index 64c7fde5e..3bfc101b7 100755 --- a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java @@ -155,7 +155,7 @@ public class AbstractMappingContextUnitTests { assertThat(entity.getPersistentProperty("persons")) .satisfies(it -> assertThat(mappingContext.getPersistentEntity(it)) - .satisfies(inner -> assertThat(inner.getType()).isEqualTo(Person.class))); + .satisfies(inner -> assertThat(((PersistentEntity)inner).getType()).isEqualTo(Person.class))); } @Test // DATACMNS-380