diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java b/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java index a01e4f705..1916c34d1 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java +++ b/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java @@ -216,6 +216,6 @@ public class QuerydslPredicateBuilder { * @return */ private static boolean isSingleElementCollectionWithoutText(List source) { - return source.size() == 1 && !StringUtils.hasText(source.get(0)); + return source.size() == 1 && !StringUtils.hasLength(source.get(0)); } } diff --git a/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java b/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java index 397749d58..1e0ac2b2f 100755 --- a/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java @@ -205,4 +205,21 @@ public class QuerydslPredicateBuilderUnitTests { assertThat(builder.getPredicate(USER_TYPE, values, bindings))// .isEqualTo($.user.as(QSpecialUser.class).specialProperty.contains("VALUE")); } + + @Test // DATACMNS-1443 + public void doesNotDropValuesContainingABlank() { + + values.add("firstname", " "); + + assertThat(builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS)) // + .isEqualTo(QUser.user.firstname.eq(" ")); + } + + @Test // DATACMNS-1443 + public void dropsValuesContainingAnEmptyString() { + + values.add("firstname", ""); + + assertThat(builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS)).isNull(); + } }