diff --git a/src/main/java/org/springframework/data/mapping/context/PersistentEntities.java b/src/main/java/org/springframework/data/mapping/context/PersistentEntities.java index 4fcf22580..764bc9f9a 100644 --- a/src/main/java/org/springframework/data/mapping/context/PersistentEntities.java +++ b/src/main/java/org/springframework/data/mapping/context/PersistentEntities.java @@ -136,7 +136,7 @@ public class PersistentEntities implements Streamable Optional mapOnContext(Class type, - BiFunction>, PersistentEntity, T> combiner) { + BiFunction>, PersistentEntity, @Nullable T> combiner) { Assert.notNull(type, "Type must not be null"); Assert.notNull(combiner, "Combining BiFunction must not be null"); @@ -144,16 +144,21 @@ public class PersistentEntities implements Streamable>> mappingContexts = getMappingContexts(); if (mappingContexts.size() == 1) { - return mappingContexts.stream() // - .filter(it -> it.getPersistentEntity(type) != null) // - .map(it -> combiner.apply(it, it.getRequiredPersistentEntity(type))) // - .findFirst(); + for (MappingContext> it : mappingContexts) { + if (it.getPersistentEntity(type) != null) { + return Optional.ofNullable(combiner.apply(it, it.getRequiredPersistentEntity(type))); + } + } + return Optional.empty(); + } + + for (MappingContext> it : mappingContexts) { + if (it.hasPersistentEntityFor(type)) { + return Optional.ofNullable(combiner.apply(it, it.getRequiredPersistentEntity(type))); + } } - return mappingContexts.stream() // - .filter(it -> it.hasPersistentEntityFor(type)) // - .map(it -> combiner.apply(it, it.getRequiredPersistentEntity(type))) // - .findFirst(); + return Optional.empty(); } /**