diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/Association.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/Association.java similarity index 72% rename from spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/Association.java rename to spring-data-commons-core/src/main/java/org/springframework/data/mapping/Association.java index 4ef40cdc7..b5bfbdd2a 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/Association.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/Association.java @@ -14,16 +14,26 @@ * limitations under the License. */ -package org.springframework.data.mapping.model; +package org.springframework.data.mapping; + /** + * Value object to capture {@link Association}s. + * + * @param the {@link PersistentProperty}s the association connects. * @author Jon Brisbin */ public class Association

> { - protected P inverse; - protected P obverse; + private final P inverse; + private final P obverse; + /** + * Creates a new {@link Association} between the two given {@link PersistentProperty}s. + * + * @param inverse + * @param obverse + */ public Association(P inverse, P obverse) { this.inverse = inverse; this.obverse = obverse; diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/AssociationHandler.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/AssociationHandler.java index aad45eb34..e428cb0ef 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/AssociationHandler.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/AssociationHandler.java @@ -16,12 +16,20 @@ package org.springframework.data.mapping; -import org.springframework.data.mapping.model.Association; -import org.springframework.data.mapping.model.PersistentProperty; + /** + * Callback interface to implement functionality to be applied to a collection of {@link Association}s. + * * @author Jon Brisbin + * @author Oliver Gierke */ public interface AssociationHandler

> { + + /** + * Processes the given {@link Association}. + * + * @param association + */ void doWithAssociation(Association

association); } diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/PersistentEntity.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/PersistentEntity.java new file mode 100644 index 000000000..a46594332 --- /dev/null +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/PersistentEntity.java @@ -0,0 +1,81 @@ +package org.springframework.data.mapping; + +import java.util.Collection; + +import org.springframework.data.util.TypeInformation; + +/** + * Represents a persistent entity + * + * @author Graeme Rocher + * @author Jon Brisbin + * @author Oliver Gierke + */ +public interface PersistentEntity> { + + /** + * The entity name including any package prefix + * + * @return must never return {@literal null} + */ + String getName(); + + /** + * Returns the {@link PreferredConstructor} to be used to instantiate objects of this {@link PersistentEntity}. + * + * @return must never return {@literal null}. + */ + PreferredConstructor getPreferredConstructor(); + + /** + * Returns the id property of the {@link PersistentEntity}. Must never return {@literal null} as a + * {@link PersistentEntity} instance must not be created if there is no id property. + * + * @return the id property of the {@link PersistentEntity}. + */ + P getIdProperty(); + + /** + * Obtains a PersistentProperty instance by name. + * + * @param name The name of the property + * @return The {@link PersistentProperty} or {@literal null} if it doesn't exist + */ + P getPersistentProperty(String name); + + /** + * Returns the resolved Java type of this entity. + * + * @return The underlying Java class for this entity + */ + Class getType(); + + /** + * Returns the {@link TypeInformation} backing this {@link PersistentEntity}. + * + * @return + */ + TypeInformation getTypeInformation(); + + /** + * A list of property names + * + * @return A List of strings + */ + Collection getPersistentPropertyNames(); + + /** + * Applies the given {@link PropertyHandler} to all {@link PersistentProperty}s contained in this + * {@link PersistentEntity}. + * + * @param handler must not be {@literal null}. + */ + void doWithProperties(PropertyHandler

handler); + + /** + * Applies the given {@link AssociationHandler} to all {@link Association} contained in this {@link PersistentEntity}. + * + * @param handler must not be {@literal null}. + */ + void doWithAssociations(AssociationHandler

handler); +} diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PersistentProperty.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/PersistentProperty.java similarity index 97% rename from spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PersistentProperty.java rename to spring-data-commons-core/src/main/java/org/springframework/data/mapping/PersistentProperty.java index a19489771..5f583b235 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PersistentProperty.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/PersistentProperty.java @@ -1,4 +1,4 @@ -package org.springframework.data.mapping.model; +package org.springframework.data.mapping; import java.beans.PropertyDescriptor; import java.lang.reflect.Field; diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PreferredConstructor.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/PreferredConstructor.java similarity index 98% rename from spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PreferredConstructor.java rename to spring-data-commons-core/src/main/java/org/springframework/data/mapping/PreferredConstructor.java index 9a4b6a431..ce4bf7ae3 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PreferredConstructor.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/PreferredConstructor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.mapping.model; +package org.springframework.data.mapping; import java.lang.annotation.Annotation; import java.lang.reflect.Constructor; diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/PropertyHandler.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/PropertyHandler.java index 7a542ed28..c1ffb17fe 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/PropertyHandler.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/PropertyHandler.java @@ -13,14 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.mapping; -import org.springframework.data.mapping.model.PersistentProperty; - /** * Callback interface to do something with all plain {@link PersistentProperty} - * instances except associations, transient properties and the id-property. + * instances except associations and transient properties. * * @author Jon Brisbin */ diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/AbstractMappingContext.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java similarity index 96% rename from spring-data-commons-core/src/main/java/org/springframework/data/mapping/AbstractMappingContext.java rename to spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java index bec397368..44fb23048 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/AbstractMappingContext.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.mapping; +package org.springframework.data.mapping.context; import java.beans.BeanInfo; import java.beans.IntrospectionException; @@ -35,11 +35,12 @@ import java.util.concurrent.ConcurrentMap; import org.springframework.beans.factory.InitializingBean; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; +import org.springframework.data.mapping.PersistentEntity; +import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.event.MappingContextEvent; -import org.springframework.data.mapping.model.MappingContext; import org.springframework.data.mapping.model.MappingException; -import org.springframework.data.mapping.model.PersistentEntity; -import org.springframework.data.mapping.model.PersistentProperty; +import org.springframework.data.mapping.model.MutablePersistentEntity; +import org.springframework.data.mapping.model.SimpleTypeHolder; import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.TypeInformation; import org.springframework.util.ReflectionUtils; diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/MappingContext.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/MappingContext.java similarity index 92% rename from spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/MappingContext.java rename to spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/MappingContext.java index e79b337b8..9f846a1f4 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/MappingContext.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/MappingContext.java @@ -12,11 +12,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.mapping.model; +package org.springframework.data.mapping.context; import java.util.Collection; import java.util.List; +import org.springframework.data.mapping.PersistentEntity; +import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.util.TypeInformation; import org.springframework.validation.Validator; diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/MappingContextAware.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/MappingContextAware.java index 2d457b295..0959d5a79 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/MappingContextAware.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/MappingContextAware.java @@ -16,7 +16,6 @@ package org.springframework.data.mapping.context; -import org.springframework.data.mapping.model.MappingContext; /** * An interface to make beans aware of the active MappingContext in the current ApplicationContext. diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/MappingContextAwareBeanPostProcessor.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/MappingContextAwareBeanPostProcessor.java index 282089ab1..98fc92974 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/MappingContextAwareBeanPostProcessor.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/context/MappingContextAwareBeanPostProcessor.java @@ -22,7 +22,6 @@ import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; -import org.springframework.data.mapping.model.MappingContext; /** * BeanPostProcessor to make Spring beans aware of the current MappingContext. If a MappingContext exists with the diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/event/MappingContextEvent.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/event/MappingContextEvent.java index 89cca9bde..96968b57b 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/event/MappingContextEvent.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/event/MappingContextEvent.java @@ -17,8 +17,8 @@ package org.springframework.data.mapping.event; import org.springframework.context.ApplicationEvent; -import org.springframework.data.mapping.model.PersistentEntity; -import org.springframework.data.mapping.model.PersistentProperty; +import org.springframework.data.mapping.PersistentEntity; +import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.util.TypeInformation; /** diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/AbstractPersistentProperty.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java similarity index 94% rename from spring-data-commons-core/src/main/java/org/springframework/data/mapping/AbstractPersistentProperty.java rename to spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java index eb1dd0c8c..b2889c4dc 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/AbstractPersistentProperty.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.data.mapping; +package org.springframework.data.mapping.model; import java.beans.PropertyDescriptor; import java.lang.annotation.Annotation; @@ -24,9 +24,9 @@ import java.util.Collection; import java.util.Map; import org.springframework.data.annotation.Reference; -import org.springframework.data.mapping.model.Association; -import org.springframework.data.mapping.model.PersistentEntity; -import org.springframework.data.mapping.model.PersistentProperty; +import org.springframework.data.mapping.Association; +import org.springframework.data.mapping.PersistentEntity; +import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.util.TypeInformation; import org.springframework.util.Assert; diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/AnnotationBasedPersistentProperty.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java similarity index 90% rename from spring-data-commons-core/src/main/java/org/springframework/data/mapping/AnnotationBasedPersistentProperty.java rename to spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java index c00703843..d76f3c86b 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/AnnotationBasedPersistentProperty.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.mapping; +package org.springframework.data.mapping.model; import java.beans.PropertyDescriptor; import java.lang.annotation.Annotation; @@ -24,9 +24,9 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Reference; import org.springframework.data.annotation.Transient; -import org.springframework.data.mapping.model.Association; -import org.springframework.data.mapping.model.PersistentEntity; -import org.springframework.data.mapping.model.PersistentProperty; +import org.springframework.data.mapping.Association; +import org.springframework.data.mapping.PersistentEntity; +import org.springframework.data.mapping.PersistentProperty; /** @@ -56,7 +56,7 @@ public abstract class AnnotationBasedPersistentProperty

> implement * @param information */ public BasicPersistentEntity(TypeInformation information) { + Assert.notNull(information); this.information = information; this.preferredConstructor = new PreferredConstructorDiscoverer(information).getConstructor(); } + /* + * (non-Javadoc) + * @see org.springframework.data.mapping.PersistentEntity#getPreferredConstructor() + */ public PreferredConstructor getPreferredConstructor() { return preferredConstructor; } + /* + * (non-Javadoc) + * @see org.springframework.data.mapping.PersistentEntity#getName() + */ public String getName() { return getType().getName(); } + /* + * (non-Javadoc) + * @see org.springframework.data.mapping.PersistentEntity#getIdProperty() + */ public P getIdProperty() { return idProperty; } - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.springframework.data.mapping.MutablePersistentEntity#setIdProperty(P) */ public void setIdProperty(P property) { idProperty = property; } - public Collection

getPersistentProperties() { - return persistentProperties.values(); - } - - /* (non-Javadoc) + /* + * (non-Javadoc) * @see org.springframework.data.mapping.MutablePersistentEntity#addPersistentProperty(P) */ public void addPersistentProperty(P property) { + Assert.notNull(property); persistentProperties.put(property.getName(), property); } - public Collection> getAssociations() { - return associations.values(); - } - /* (non-Javadoc) * @see org.springframework.data.mapping.MutablePersistentEntity#addAssociation(org.springframework.data.mapping.model.Association) */ @@ -90,23 +101,44 @@ public class BasicPersistentEntity> implement associations.put(association.getInverse().getName(), association); } + /* + * (non-Javadoc) + * @see org.springframework.data.mapping.PersistentEntity#getPersistentProperty(java.lang.String) + */ public P getPersistentProperty(String name) { return persistentProperties.get(name); } + /* + * (non-Javadoc) + * @see org.springframework.data.mapping.PersistentEntity#getType() + */ public Class getType() { return information.getType(); } + /* + * (non-Javadoc) + * @see org.springframework.data.mapping.PersistentEntity#getTypeInformation() + */ public TypeInformation getTypeInformation() { return information; } + /* + * (non-Javadoc) + * @see org.springframework.data.mapping.PersistentEntity#getPersistentPropertyNames() + */ public Collection getPersistentPropertyNames() { return persistentProperties.keySet(); } + /* + * (non-Javadoc) + * @see org.springframework.data.mapping.PersistentEntity#doWithProperties(org.springframework.data.mapping.PropertyHandler) + */ public void doWithProperties(PropertyHandler

handler) { + Assert.notNull(handler); for (P property : persistentProperties.values()) { if (!property.isTransient() && !property.isAssociation()) { handler.doWithPersistentProperty(property); @@ -114,7 +146,12 @@ public class BasicPersistentEntity> implement } } + /* + * (non-Javadoc) + * @see org.springframework.data.mapping.PersistentEntity#doWithAssociations(org.springframework.data.mapping.AssociationHandler) + */ public void doWithAssociations(AssociationHandler

handler) { + Assert.notNull(handler); for (Association

association : associations.values()) { handler.doWithAssociation(association); } diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BeanWrapper.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java similarity index 94% rename from spring-data-commons-core/src/main/java/org/springframework/data/mapping/BeanWrapper.java rename to spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java index 3afa6b7c2..b39ae7411 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/BeanWrapper.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.mapping; +package org.springframework.data.mapping.model; import java.lang.reflect.Array; import java.lang.reflect.Field; @@ -25,12 +25,10 @@ import java.util.List; import org.springframework.beans.BeanInstantiationException; import org.springframework.beans.BeanUtils; import org.springframework.core.convert.ConversionService; -import org.springframework.data.mapping.model.MappingInstantiationException; -import org.springframework.data.mapping.model.ParameterValueProvider; -import org.springframework.data.mapping.model.PersistentEntity; -import org.springframework.data.mapping.model.PersistentProperty; -import org.springframework.data.mapping.model.PreferredConstructor; -import org.springframework.data.mapping.model.PreferredConstructor.Parameter; +import org.springframework.data.mapping.PersistentEntity; +import org.springframework.data.mapping.PersistentProperty; +import org.springframework.data.mapping.PreferredConstructor; +import org.springframework.data.mapping.PreferredConstructor.Parameter; import org.springframework.util.Assert; import org.springframework.util.ReflectionUtils; diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/MutablePersistentEntity.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/MutablePersistentEntity.java similarity index 86% rename from spring-data-commons-core/src/main/java/org/springframework/data/mapping/MutablePersistentEntity.java rename to spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/MutablePersistentEntity.java index aebec6553..36d8aafcf 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/MutablePersistentEntity.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/MutablePersistentEntity.java @@ -13,11 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.mapping; +package org.springframework.data.mapping.model; + +import org.springframework.data.mapping.Association; +import org.springframework.data.mapping.PersistentEntity; +import org.springframework.data.mapping.PersistentProperty; -import org.springframework.data.mapping.model.Association; -import org.springframework.data.mapping.model.PersistentEntity; -import org.springframework.data.mapping.model.PersistentProperty; /** diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/ParameterValueProvider.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/ParameterValueProvider.java index f6e167696..cef28ce34 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/ParameterValueProvider.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/ParameterValueProvider.java @@ -15,7 +15,8 @@ */ package org.springframework.data.mapping.model; -import org.springframework.data.mapping.model.PreferredConstructor.Parameter; +import org.springframework.data.mapping.PreferredConstructor; +import org.springframework.data.mapping.PreferredConstructor.Parameter; /** * Callback interface to lookup values for a given {@link Parameter}. diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PersistentEntity.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PersistentEntity.java deleted file mode 100644 index d3351055b..000000000 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PersistentEntity.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.springframework.data.mapping.model; - -import java.util.Collection; - -import org.springframework.data.mapping.AssociationHandler; -import org.springframework.data.mapping.PropertyHandler; -import org.springframework.data.util.TypeInformation; - - -/** - * Represents a persistent entity - * - * @author Graeme Rocher - * @author Jon Brisbin - * @author Oliver Gierke - */ -public interface PersistentEntity> { - - /** - * The entity name including any package prefix - * - * @return The entity name - */ - String getName(); - - PreferredConstructor getPreferredConstructor(); - - - /** - * Returns the id property of the {@link PersistentEntity}. Must never - * return {@literal null} as a {@link PersistentEntity} instance must not be - * created if there is no id property. - * - * @return the id property of the {@link PersistentEntity}. - */ - P getIdProperty(); - - /** - * A list of properties to be persisted - * - * @return A list of PersistentProperty instances - */ - Collection

getPersistentProperties(); - - /** - * A list of the associations for this entity. This is typically a subset of the list returned by {@link #getPersistentProperties()} - * - * @return A list of associations - */ - Collection> getAssociations(); - - /** - * Obtains a PersistentProperty instance by name - * - * @param name The name of the property - * @return The PersistentProperty or null if it doesn't exist - */ - P getPersistentProperty(String name); - - /** - * @return The underlying Java class for this entity - */ - Class getType(); - - TypeInformation getTypeInformation(); - - /** - * A list of property names - * - * @return A List of strings - */ - Collection getPersistentPropertyNames(); - - void doWithProperties(PropertyHandler

handler); - - void doWithAssociations(AssociationHandler

handler); -} diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/PreferredConstructorDiscoverer.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java similarity index 95% rename from spring-data-commons-core/src/main/java/org/springframework/data/mapping/PreferredConstructorDiscoverer.java rename to spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java index 9b568737d..9f6d23381 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/PreferredConstructorDiscoverer.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.mapping; +package org.springframework.data.mapping.model; import java.lang.annotation.Annotation; import java.lang.reflect.Constructor; @@ -21,8 +21,8 @@ import java.util.List; import org.springframework.core.LocalVariableTableParameterNameDiscoverer; import org.springframework.core.ParameterNameDiscoverer; -import org.springframework.data.mapping.model.PreferredConstructor; -import org.springframework.data.mapping.model.PreferredConstructor.Parameter; +import org.springframework.data.mapping.PreferredConstructor; +import org.springframework.data.mapping.PreferredConstructor.Parameter; import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.TypeInformation; diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/SimpleTypeHolder.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java similarity index 98% rename from spring-data-commons-core/src/main/java/org/springframework/data/mapping/SimpleTypeHolder.java rename to spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java index c431ff5a6..dc2949f9d 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/SimpleTypeHolder.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.mapping; +package org.springframework.data.mapping.model; import java.util.Collections; import java.util.Date; diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/SpELAwareParameterValueProvider.java b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/SpELAwareParameterValueProvider.java index 919f46225..1b6d2ca9f 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/SpELAwareParameterValueProvider.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/mapping/model/SpELAwareParameterValueProvider.java @@ -15,7 +15,7 @@ */ package org.springframework.data.mapping.model; -import org.springframework.data.mapping.model.PreferredConstructor.Parameter; +import org.springframework.data.mapping.PreferredConstructor.Parameter; import org.springframework.expression.EvaluationContext; import org.springframework.expression.Expression; import org.springframework.expression.spel.standard.SpelExpressionParser; diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/repository/config/AbstractRepositoryConfigDefinitionParser.java b/spring-data-commons-core/src/main/java/org/springframework/data/repository/config/AbstractRepositoryConfigDefinitionParser.java index 7fe9ef0d8..52211e57e 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/repository/config/AbstractRepositoryConfigDefinitionParser.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/repository/config/AbstractRepositoryConfigDefinitionParser.java @@ -66,7 +66,7 @@ public abstract class AbstractRepositoryConfigDefinitionParser person = ctx.addPersistentEntity(PersonWithId.class); + + ctx.setInitialEntitySet(Collections.singleton(PersonWithId.class)); + ctx.afterPropertiesSet(); + + PersistentEntity person = ctx.getPersistentEntity(PersonWithId.class); assertNotNull(person.getIdProperty()); assertEquals(String.class, person.getIdProperty().getType()); } @Test public void testAssociations() { - PersistentEntity person = ctx.addPersistentEntity(PersonWithChildren.class); - assertNotNull(person.getAssociations()); - - for (Association association : person.getAssociations()) { - assertEquals(Child.class, association.getInverse().getComponentType()); - } + + ctx.setInitialEntitySet(Collections.singleton(PersonWithChildren.class)); + ctx.afterPropertiesSet(); + + PersistentEntity person = ctx.getPersistentEntity(PersonWithChildren.class); + person.doWithAssociations(new AssociationHandler() { + public void doWithAssociation(Association association) { + assertEquals(Child.class, association.getInverse().getComponentType()); + } + }); } public interface SampleProperty extends PersistentProperty { diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/mapping/PersistentEntitySpec.java b/spring-data-commons-core/src/test/java/org/springframework/data/mapping/PersistentEntitySpec.java new file mode 100644 index 000000000..af2af50e6 --- /dev/null +++ b/spring-data-commons-core/src/test/java/org/springframework/data/mapping/PersistentEntitySpec.java @@ -0,0 +1,18 @@ +package org.springframework.data.mapping; + +import static org.hamcrest.CoreMatchers.*; +import static org.junit.Assert.*; + +/** + * Some test methods that define expected behaviour for {@link PersistentEntity} interface. Implementation test classes + * can simply extend that class to get the specs tested against an instance of their implementation. + * + * @author Oliver Gierke + */ +public abstract class PersistentEntitySpec { + + public static void assertInvariants(PersistentEntity entity) { + assertThat(entity.getName(), is(notNullValue())); + assertThat(entity.getPreferredConstructor(), is(notNullValue())); + } +} diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java index ff6d81d7b..d9a73fd87 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java @@ -23,8 +23,8 @@ import java.util.List; import org.junit.Test; import org.springframework.data.annotation.PersistenceConstructor; -import org.springframework.data.mapping.model.PreferredConstructor; -import org.springframework.data.mapping.model.PreferredConstructor.Parameter; +import org.springframework.data.mapping.PreferredConstructor.Parameter; +import org.springframework.data.mapping.model.PreferredConstructorDiscoverer; /** diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java index f5356a118..49c93fbb1 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java @@ -22,6 +22,7 @@ import java.util.Collections; import java.util.HashSet; import org.junit.Test; +import org.springframework.data.mapping.model.SimpleTypeHolder; /** * Unit tests for {@link SimpleTypeHolder}. diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java new file mode 100644 index 000000000..ef109b871 --- /dev/null +++ b/spring-data-commons-core/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java @@ -0,0 +1,37 @@ +package org.springframework.data.mapping.model; + +import static org.hamcrest.CoreMatchers.*; +import static org.junit.Assert.*; + +import org.junit.Test; +import org.springframework.data.mapping.PersistentEntitySpec; +import org.springframework.data.mapping.PersistentProperty; +import org.springframework.data.mapping.Person; +import org.springframework.data.util.ClassTypeInformation; + +/** + * Unit test for {@link BasicPersistentEntity}. + * + * @author Oliver Gierke + */ +public class BasicPersistentEntityUnitTests> { + + @Test + public void assertInvariants() { + PersistentEntitySpec.assertInvariants(createEntity()); + } + + @Test(expected = IllegalArgumentException.class) + public void rejectsNullTypeInformation() { + new BasicPersistentEntity(null); + } + + @Test(expected = IllegalArgumentException.class) + public void rejectsNullProperty() { + createEntity().addPersistentProperty(null); + } + + private BasicPersistentEntity createEntity() { + return new BasicPersistentEntity(ClassTypeInformation.from(Person.class)); + } +} diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/AbstractEntityInformationUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java similarity index 90% rename from spring-data-commons-core/src/test/java/org/springframework/data/repository/support/AbstractEntityInformationUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java index 9de1a5fee..3f602a7fb 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/AbstractEntityInformationUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.repository.support; +package org.springframework.data.repository.core.support; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; @@ -21,6 +21,8 @@ import static org.junit.Assert.*; import java.io.Serializable; import org.junit.Test; +import org.springframework.data.repository.core.EntityInformation; +import org.springframework.data.repository.core.support.AbstractEntityInformation; /** diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/AnnotationRepositoryMetadataUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadataUnitTests.java similarity index 84% rename from spring-data-commons-core/src/test/java/org/springframework/data/repository/support/AnnotationRepositoryMetadataUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadataUnitTests.java index ed47f77b2..53bb1b1ec 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/AnnotationRepositoryMetadataUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadataUnitTests.java @@ -13,12 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.repository.support; +package org.springframework.data.repository.core.support; import static org.junit.Assert.*; import org.junit.Test; import org.springframework.data.repository.RepositoryDefinition; +import org.springframework.data.repository.core.RepositoryMetadata; +import org.springframework.data.repository.core.support.AnnotationRepositoryMetadata; +import org.springframework.data.repository.core.support.DefaultRepositoryMetadata; /** diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/CustomAnnotationTransactionAttributeSourceUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/CustomAnnotationTransactionAttributeSourceUnitTests.java similarity index 87% rename from spring-data-commons-core/src/test/java/org/springframework/data/repository/support/CustomAnnotationTransactionAttributeSourceUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/CustomAnnotationTransactionAttributeSourceUnitTests.java index ed6ab47e4..cf564856b 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/CustomAnnotationTransactionAttributeSourceUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/CustomAnnotationTransactionAttributeSourceUnitTests.java @@ -13,13 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.repository.support; +package org.springframework.data.repository.core.support; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; import org.junit.Test; -import org.springframework.data.repository.support.TransactionalRepositoryProxyPostProcessor.CustomAnnotationTransactionAttributeSource; +import org.springframework.data.repository.core.support.TransactionalRepositoryProxyPostProcessor; +import org.springframework.data.repository.core.support.TransactionalRepositoryProxyPostProcessor.CustomAnnotationTransactionAttributeSource; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAttribute; diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DefaultRepositoryInformationUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java similarity index 86% rename from spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DefaultRepositoryInformationUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java index 8acdfcf54..ed689acc2 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DefaultRepositoryInformationUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java @@ -1,4 +1,4 @@ -package org.springframework.data.repository.support; +package org.springframework.data.repository.core.support; import static org.hamcrest.Matchers.*; import static org.junit.Assert.*; @@ -11,7 +11,11 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.springframework.data.repository.CrudRepository; -import org.springframework.data.repository.support.DefaultRepositoryMetadataUnitTests.DummyGenericRepositorySupport; +import org.springframework.data.repository.core.RepositoryInformation; +import org.springframework.data.repository.core.RepositoryMetadata; +import org.springframework.data.repository.core.support.DefaultRepositoryInformation; +import org.springframework.data.repository.core.support.DefaultRepositoryMetadata; +import org.springframework.data.repository.core.support.DefaultRepositoryMetadataUnitTests.DummyGenericRepositorySupport; /** * @author Oliver Gierke diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DefaultRepositoryMetadataUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java similarity index 94% rename from spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DefaultRepositoryMetadataUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java index bd0b916bd..eb6aca3df 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DefaultRepositoryMetadataUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.repository.support; +package org.springframework.data.repository.core.support; import static org.junit.Assert.*; @@ -23,6 +23,8 @@ import org.junit.Test; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.core.RepositoryMetadata; +import org.springframework.data.repository.core.support.DefaultRepositoryMetadata; import org.springframework.data.repository.util.ClassUtils; diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/PersistableEntityInformationUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/PersistableEntityInformationUnitTests.java similarity index 94% rename from spring-data-commons-core/src/test/java/org/springframework/data/repository/support/PersistableEntityInformationUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/PersistableEntityInformationUnitTests.java index 289a4d22d..26402fec1 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/PersistableEntityInformationUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/PersistableEntityInformationUnitTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.repository.support; +package org.springframework.data.repository.core.support; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; @@ -24,6 +24,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.springframework.data.domain.Persistable; +import org.springframework.data.repository.core.support.PersistableEntityInformation; /** diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/QueryExecuterMethodInterceptorUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/QueryExecuterMethodInterceptorUnitTests.java similarity index 85% rename from spring-data-commons-core/src/test/java/org/springframework/data/repository/support/QueryExecuterMethodInterceptorUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/QueryExecuterMethodInterceptorUnitTests.java index 5609cf3f9..a89c59e5b 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/QueryExecuterMethodInterceptorUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/QueryExecuterMethodInterceptorUnitTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.repository.support; +package org.springframework.data.repository.core.support; import static org.mockito.Matchers.*; import static org.mockito.Mockito.*; @@ -22,8 +22,10 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; +import org.springframework.data.repository.core.RepositoryInformation; +import org.springframework.data.repository.core.support.RepositoryFactorySupport; +import org.springframework.data.repository.core.support.RepositoryFactorySupport.QueryExecuterMethodInterceptor; import org.springframework.data.repository.query.QueryLookupStrategy.Key; -import org.springframework.data.repository.support.RepositoryFactorySupport.QueryExecuterMethodInterceptor; /** * Unit test for {@link QueryExecuterMethodInterceptor}. diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/RepositoryFactorySupportUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java similarity index 92% rename from spring-data-commons-core/src/test/java/org/springframework/data/repository/support/RepositoryFactorySupportUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java index 0328f0403..ec9272a7c 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/RepositoryFactorySupportUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.repository.support; +package org.springframework.data.repository.core.support; import static org.mockito.Matchers.any; import static org.mockito.Mockito.*; @@ -27,9 +27,13 @@ import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.Repository; +import org.springframework.data.repository.core.EntityInformation; +import org.springframework.data.repository.core.RepositoryMetadata; +import org.springframework.data.repository.core.support.QueryCreationListener; +import org.springframework.data.repository.core.support.RepositoryFactorySupport; import org.springframework.data.repository.query.QueryLookupStrategy; -import org.springframework.data.repository.query.QueryLookupStrategy.Key; import org.springframework.data.repository.query.RepositoryQuery; +import org.springframework.data.repository.query.QueryLookupStrategy.Key; /** diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/RepositoryInterfaceAwareBeanPostProcessorUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/RepositoryInterfaceAwareBeanPostProcessorUnitTests.java similarity index 93% rename from spring-data-commons-core/src/test/java/org/springframework/data/repository/support/RepositoryInterfaceAwareBeanPostProcessorUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/RepositoryInterfaceAwareBeanPostProcessorUnitTests.java index 4012bbd2d..81bdaa8e6 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/RepositoryInterfaceAwareBeanPostProcessorUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/RepositoryInterfaceAwareBeanPostProcessorUnitTests.java @@ -13,7 +13,7 @@ * License for the specific language governing permissions and limitations under * the License. */ -package org.springframework.data.repository.support; +package org.springframework.data.repository.core.support; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; @@ -29,6 +29,8 @@ import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.data.repository.Repository; +import org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport; +import org.springframework.data.repository.core.support.RepositoryInterfaceAwareBeanPostProcessor; /** diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/TransactionRepositoryProxyPostProcessorUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryProxyPostProcessorUnitTests.java similarity index 92% rename from spring-data-commons-core/src/test/java/org/springframework/data/repository/support/TransactionRepositoryProxyPostProcessorUnitTests.java rename to spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryProxyPostProcessorUnitTests.java index 5d6cd7d24..483f84c73 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/TransactionRepositoryProxyPostProcessorUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryProxyPostProcessorUnitTests.java @@ -13,7 +13,7 @@ * License for the specific language governing permissions and limitations under * the License. */ -package org.springframework.data.repository.support; +package org.springframework.data.repository.core.support; import static org.mockito.Matchers.anyBoolean; import static org.mockito.Matchers.eq; @@ -32,6 +32,8 @@ import org.springframework.aop.framework.ProxyFactory; import org.springframework.beans.factory.ListableBeanFactory; import org.springframework.dao.support.PersistenceExceptionTranslationInterceptor; import org.springframework.dao.support.PersistenceExceptionTranslator; +import org.springframework.data.repository.core.support.RepositoryProxyPostProcessor; +import org.springframework.data.repository.core.support.TransactionalRepositoryProxyPostProcessor; import org.springframework.transaction.interceptor.TransactionInterceptor; diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/query/QueryMethodUnitTest.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/query/QueryMethodUnitTest.java index 12f92f5f6..5035d62d8 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/query/QueryMethodUnitTest.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/query/QueryMethodUnitTest.java @@ -22,7 +22,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.springframework.data.domain.Pageable; -import org.springframework.data.repository.support.RepositoryMetadata; +import org.springframework.data.repository.core.RepositoryMetadata; /** * Unit tests for {@link QueryMethod}. diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java index b6ee1d139..3df6e0475 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java @@ -36,6 +36,8 @@ import org.springframework.context.ApplicationContext; import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.TypeDescriptor; import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.core.EntityInformation; +import org.springframework.data.repository.core.support.RepositoryFactoryInformation; /** diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DomainClassPropertyEditorRegistrarUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DomainClassPropertyEditorRegistrarUnitTests.java index 3fe64bb64..3fad4b989 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DomainClassPropertyEditorRegistrarUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DomainClassPropertyEditorRegistrarUnitTests.java @@ -34,6 +34,8 @@ import org.mockito.runners.MockitoJUnitRunner; import org.springframework.beans.PropertyEditorRegistry; import org.springframework.context.ApplicationContext; import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.core.EntityInformation; +import org.springframework.data.repository.core.support.RepositoryFactoryInformation; /** diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DomainClassPropertyEditorUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DomainClassPropertyEditorUnitTests.java index 54d5340b1..c5504b14e 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DomainClassPropertyEditorUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/repository/support/DomainClassPropertyEditorUnitTests.java @@ -29,6 +29,7 @@ import org.mockito.runners.MockitoJUnitRunner; import org.springframework.beans.PropertyEditorRegistry; import org.springframework.data.domain.Persistable; import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.core.EntityInformation; /**