From 270d3730832f7dfdd884636bc3d492d87a62fa87 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Mon, 3 Jul 2017 17:12:34 +0200 Subject: [PATCH] DATAMONGO-1728 - Fix NPE in ExecutableFindOperation.first(). Original pull request: #476. --- .../data/mongodb/core/ExecutableFindOperationSupport.java | 3 +-- .../mongodb/core/ExecutableFindOperationSupportTests.java | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableFindOperationSupport.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableFindOperationSupport.java index 8c540fe98..3057b3899 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableFindOperationSupport.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableFindOperationSupport.java @@ -186,8 +186,7 @@ class ExecutableFindOperationSupport implements ExecutableFindOperation { @Override public FindIterable prepare(FindIterable cursor) { - FindIterable target = delegate.prepare(cursor); - + FindIterable target = delegate != null ? delegate.prepare(cursor) : cursor; return limit.map(target::limit).orElse(target); } diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ExecutableFindOperationSupportTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ExecutableFindOperationSupportTests.java index 1a33fd7a7..79cbc1042 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ExecutableFindOperationSupportTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ExecutableFindOperationSupportTests.java @@ -213,6 +213,11 @@ public class ExecutableFindOperationSupportTests { assertThat(results.getContent().get(0).getContent().getId()).isEqualTo("alderan"); } + @Test // DATAMONGO-1728 + public void firstShouldReturnFirstEntryInCollection() { + assertThat(template.query(Person.class).first()).isNotEmpty(); + } + @Data @org.springframework.data.mongodb.core.mapping.Document(collection = STAR_WARS) static class Person {