diff --git a/src/main/java/org/springframework/data/geo/Circle.java b/src/main/java/org/springframework/data/geo/Circle.java index 13bf640db..48f742814 100644 --- a/src/main/java/org/springframework/data/geo/Circle.java +++ b/src/main/java/org/springframework/data/geo/Circle.java @@ -15,7 +15,7 @@ */ package org.springframework.data.geo; -import org.springframework.data.annotation.PersistenceConstructor; +import org.springframework.data.annotation.PersistenceCreator; import org.springframework.util.Assert; import org.springframework.util.ObjectUtils; @@ -40,7 +40,7 @@ public class Circle implements Shape { * @param center must not be {@literal null}. * @param radius must not be {@literal null} and it's value greater or equal to zero. */ - @PersistenceConstructor + @PersistenceCreator public Circle(Point center, Distance radius) { Assert.notNull(center, "Center point must not be null"); diff --git a/src/main/java/org/springframework/data/geo/GeoResults.java b/src/main/java/org/springframework/data/geo/GeoResults.java index 7913ecbf9..033e00f8e 100644 --- a/src/main/java/org/springframework/data/geo/GeoResults.java +++ b/src/main/java/org/springframework/data/geo/GeoResults.java @@ -15,13 +15,12 @@ */ package org.springframework.data.geo; - import java.io.Serializable; import java.util.Collections; import java.util.Iterator; import java.util.List; -import org.springframework.data.annotation.PersistenceConstructor; +import org.springframework.data.annotation.PersistenceCreator; import org.springframework.util.Assert; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; @@ -67,7 +66,7 @@ public class GeoResults implements Iterable>, Serializable { * @param results must not be {@literal null}. * @param averageDistance must not be {@literal null}. */ - @PersistenceConstructor + @PersistenceCreator public GeoResults(List> results, Distance averageDistance) { Assert.notNull(results, "Results must not be null"); diff --git a/src/main/java/org/springframework/data/geo/Point.java b/src/main/java/org/springframework/data/geo/Point.java index 8a79d509f..070c6b6e7 100644 --- a/src/main/java/org/springframework/data/geo/Point.java +++ b/src/main/java/org/springframework/data/geo/Point.java @@ -18,7 +18,7 @@ package org.springframework.data.geo; import java.io.Serializable; import java.util.Locale; -import org.springframework.data.annotation.PersistenceConstructor; +import org.springframework.data.annotation.PersistenceCreator; import org.springframework.lang.Nullable; import org.springframework.util.Assert; @@ -43,7 +43,7 @@ public class Point implements Serializable { * @param x * @param y */ - @PersistenceConstructor + @PersistenceCreator public Point(double x, double y) { this.x = x; this.y = y; diff --git a/src/main/java/org/springframework/data/geo/Polygon.java b/src/main/java/org/springframework/data/geo/Polygon.java index 9759994a2..770fdf9f2 100644 --- a/src/main/java/org/springframework/data/geo/Polygon.java +++ b/src/main/java/org/springframework/data/geo/Polygon.java @@ -15,14 +15,13 @@ */ package org.springframework.data.geo; - import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; -import org.springframework.data.annotation.PersistenceConstructor; +import org.springframework.data.annotation.PersistenceCreator; import org.springframework.util.Assert; import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; @@ -67,7 +66,7 @@ public class Polygon implements Iterable, Shape { * * @param points must not be {@literal null}. */ - @PersistenceConstructor + @PersistenceCreator public Polygon(List points) { Assert.notNull(points, "Points must not be null"); diff --git a/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java b/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java index 8df912976..605d33fb2 100644 --- a/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java +++ b/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java @@ -212,7 +212,7 @@ class EntityCallbackDiscoverer { this.beanClassLoader = cbf.getBeanClassLoader(); } - this.retrievalMutex = cbf.getSingletonMutex(); + this.retrievalMutex = new Object(); } defaultRetriever.discoverEntityCallbacks(beanFactory); diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java index 3b1d804a3..843781262 100755 --- a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java @@ -142,7 +142,12 @@ class ClassGeneratingEntityInstantiatorUnitTests

} catch (MappingInstantiationException o_O) { - assertThat(o_O.getConstructor()).hasValue(constructor); + assertThat(o_O.getEntityCreator() + .map(it -> (PreferredConstructor) it) + .map(PreferredConstructor::getConstructor)) + .isPresent() + .hasValue(constructor); + assertThat(o_O.getConstructorArguments()).isEqualTo(parameters); assertThat(o_O.getEntityType()).hasValue(Sample.class); diff --git a/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java b/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java index 0afa897f4..516984fe4 100755 --- a/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java @@ -130,7 +130,12 @@ class ReflectionEntityInstantiatorUnitTests

> { } catch (MappingInstantiationException o_O) { - assertThat(o_O.getConstructor()).hasValue(constructor); + assertThat(o_O.getEntityCreator() + .map(it -> (PreferredConstructor) it) + .map(PreferredConstructor::getConstructor)) + .isPresent() + .hasValue(constructor); + assertThat(o_O.getConstructorArguments()).isEqualTo(parameters); assertThat(o_O.getEntityType()).hasValue(Sample.class);