diff --git a/src/main/java/org/springframework/data/convert/ClassGeneratingEntityInstantiator.java b/src/main/java/org/springframework/data/convert/ClassGeneratingEntityInstantiator.java index c62c3d5af..f0b46766c 100644 --- a/src/main/java/org/springframework/data/convert/ClassGeneratingEntityInstantiator.java +++ b/src/main/java/org/springframework/data/convert/ClassGeneratingEntityInstantiator.java @@ -55,8 +55,7 @@ public class ClassGeneratingEntityInstantiator implements EntityInstantiator { private final ObjectInstantiatorClassGenerator generator; - private volatile Map, EntityInstantiator> entityInstantiators = new HashMap<>( - 32); + private volatile Map, EntityInstantiator> entityInstantiators = new HashMap<>(32); /** * Creates a new {@link ClassGeneratingEntityInstantiator}. @@ -219,6 +218,7 @@ public class ClassGeneratingEntityInstantiator implements EntityInstantiator { return it.getParameters().stream()// .map(provider::getParameterValue)// + .map(value -> value.orElse(null))// .toArray(); }).orElse(EMPTY_ARRAY); @@ -226,10 +226,12 @@ public class ClassGeneratingEntityInstantiator implements EntityInstantiator { } /** + * Needs to be public as otherwise the implementation class generated does not see the interface from the classloader. + * * @author Thomas Darimont + * @author Oliver Gierke */ - private static interface ObjectInstantiator { - + public interface ObjectInstantiator { Object newInstance(Object... args); }