Skip to content

Commit f7a90e9

Browse files
committed
Polishing.
Omit StreamUtils usage if input is a collection. Remove superfluous Flux.from(…). Simplify test and migrate test to JUnit 5. See spring-projects#3609. Original pull request: spring-projects#3611.
1 parent 3e78ce2 commit f7a90e9

File tree

3 files changed

+77
-74
lines changed

3 files changed

+77
-74
lines changed

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/SimpleMongoRepository.java

+10-3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import static org.springframework.data.mongodb.core.query.Criteria.*;
1919

2020
import java.util.ArrayList;
21+
import java.util.Collection;
2122
import java.util.Collections;
2223
import java.util.List;
2324
import java.util.Optional;
@@ -291,10 +292,10 @@ public <S extends T> List<S> insert(Iterable<S> entities) {
291292

292293
Assert.notNull(entities, "The given Iterable of entities not be null!");
293294

294-
List<S> list = Streamable.of(entities).stream().collect(StreamUtils.toUnmodifiableList());
295+
Collection<S> list = toCollection(entities);
295296

296297
if (list.isEmpty()) {
297-
return list;
298+
return Collections.emptyList();
298299
}
299300

300301
return new ArrayList<>(mongoOperations.insertAll(list));
@@ -408,8 +409,14 @@ private Criteria getIdCriteria(Object id) {
408409
}
409410

410411
private Query getIdQuery(Iterable<? extends ID> ids) {
412+
411413
return new Query(new Criteria(entityInformation.getIdAttribute())
412-
.in(Streamable.of(ids).stream().collect(StreamUtils.toUnmodifiableList())));
414+
.in(toCollection(ids)));
415+
}
416+
417+
private static <E> Collection<E> toCollection(Iterable<E> ids) {
418+
return ids instanceof Collection ? (Collection<E>) ids
419+
: StreamUtils.createStreamFromIterator(ids.iterator()).collect(Collectors.toList());
413420
}
414421

415422
private List<T> findAll(@Nullable Query query) {

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/SimpleReactiveMongoRepository.java

+7-8
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
import java.io.Serializable;
2424
import java.util.Collection;
25-
import java.util.List;
2625
import java.util.stream.Collectors;
2726

2827
import org.reactivestreams.Publisher;
@@ -364,9 +363,9 @@ public <S extends T> Flux<S> insert(Iterable<S> entities) {
364363

365364
Assert.notNull(entities, "The given Iterable of entities must not be null!");
366365

367-
List<S> source = Streamable.of(entities).stream().collect(StreamUtils.toUnmodifiableList());
366+
Collection<S> source = toCollection(entities);
368367

369-
return source.isEmpty() ? Flux.empty() : Flux.from(mongoOperations.insertAll(source));
368+
return source.isEmpty() ? Flux.empty() : mongoOperations.insertAll(source);
370369
}
371370

372371
/*
@@ -467,7 +466,6 @@ public <S extends T> Mono<Boolean> exists(Example<S> example) {
467466
return mongoOperations.exists(query, example.getProbeType(), entityInformation.getCollectionName());
468467
}
469468

470-
471469
private Query getIdQuery(Object id) {
472470
return new Query(getIdCriteria(id));
473471
}
@@ -477,14 +475,15 @@ private Criteria getIdCriteria(Object id) {
477475
}
478476

479477
private Query getIdQuery(Iterable<? extends ID> ids) {
480-
Collection<?> idCollection = StreamUtils.createStreamFromIterator(ids.iterator()).collect(Collectors.toList());
481-
Criteria idsInCriteria = where(entityInformation.getIdAttribute()).in(idCollection);
478+
return new Query(where(entityInformation.getIdAttribute()).in(toCollection(ids)));
479+
}
482480

483-
return new Query(idsInCriteria);
481+
private static <E> Collection<E> toCollection(Iterable<E> ids) {
482+
return ids instanceof Collection ? (Collection<E>) ids
483+
: StreamUtils.createStreamFromIterator(ids.iterator()).collect(Collectors.toList());
484484
}
485485

486486
private Flux<T> findAll(Query query) {
487-
488487
return mongoOperations.find(query, entityInformation.getJavaType(), entityInformation.getCollectionName());
489488
}
490489
}

0 commit comments

Comments
 (0)