diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java index 77f6088f2..6d98695fe 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryCreator.java @@ -55,6 +55,7 @@ import org.springframework.util.ClassUtils; * @author Oliver Gierke * @author Thomas Darimont * @author Christoph Strobl + * @author Edward Prentice */ class MongoQueryCreator extends AbstractQueryCreator { @@ -297,7 +298,9 @@ class MongoQueryCreator extends AbstractQueryCreator { criteria = criteria.not(); } - return addAppropriateLikeRegexTo(criteria, part, parameters.next().toString()); + Object next = parameters.next(); + + return addAppropriateLikeRegexTo(criteria, part, next != null ? next.toString() : ""); case NEVER: // intentional no-op diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/AbstractPersonRepositoryIntegrationTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/AbstractPersonRepositoryIntegrationTests.java index a5dc5a2ed..add63d628 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/AbstractPersonRepositoryIntegrationTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/AbstractPersonRepositoryIntegrationTests.java @@ -66,6 +66,8 @@ import org.springframework.test.util.ReflectionTestUtils; * @author Thomas Darimont * @author Christoph Strobl * @author Mark Paluch + * @author Fırat KÜÇÜK + * @author Edward Prentice */ @RunWith(SpringJUnit4ClassRunner.class) public abstract class AbstractPersonRepositoryIntegrationTests { @@ -712,6 +714,17 @@ public abstract class AbstractPersonRepositoryIntegrationTests { assertThat(results.getAverageDistance().getMetric(), is((Metric) Metrics.KILOMETERS)); } + /*** + * @see DATAMONGO-1608 + */ + @Test + public void findByFirstNameIgnoreCaseWithNull() { + + List result = repository.findByFirstnameIgnoreCase(null); + + assertThat(result.size(), is(0)); + } + /** * @see DATAMONGO-770 */ @@ -1010,7 +1023,7 @@ public abstract class AbstractPersonRepositoryIntegrationTests { /** * Ignored for now as this requires Querydsl 3.4.1 to succeed. - * + * * @see DATAMONGO-972 */ @Test