From bb4f11a2397014d19008721d25076448776158de Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 8 Jan 2020 15:00:36 +0100 Subject: [PATCH] DATAMONGO-2440 - Polishing. Iterate over List instead of using the Stream API. Original pull request: #817. --- .../data/mongodb/core/convert/QueryMapper.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java index 6013ea806..ada9adec6 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java @@ -19,12 +19,12 @@ import java.util.*; import java.util.Map.Entry; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.Collectors; import org.bson.BsonValue; import org.bson.Document; import org.bson.conversions.Bson; import org.bson.types.ObjectId; + import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.converter.Converter; import org.springframework.data.domain.Example; @@ -642,7 +642,7 @@ public class QueryMapper { return false; } - return isKeyword(keys.iterator().next().toString()); + return isKeyword(keys.iterator().next()); } /** @@ -690,10 +690,16 @@ public class QueryMapper { if (value instanceof Collection) { - return ((Collection) value).stream() - .map(it -> conversionService.convert(it, documentField.getProperty().getFieldType())) - .collect(Collectors.toList()); + Collection source = (Collection) value; + Collection converted = new ArrayList<>(source.size()); + + for (Object o : source) { + converted.add(conversionService.convert(o, documentField.getProperty().getFieldType())); + } + + return converted; } + return conversionService.convert(value, documentField.getProperty().getFieldType()); }