From 48597dca246178c0d7e6952425004849d3fb02c0 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 23 Sep 2020 09:21:27 +0200 Subject: [PATCH] DATAJPA-1198 - Polishing. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Compare types using equals(…). Reformat code. Original pull request: #428. --- .../data/jpa/repository/support/Querydsl.java | 2 +- .../jpa/repository/support/QuerydslIntegrationTests.java | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/springframework/data/jpa/repository/support/Querydsl.java b/src/main/java/org/springframework/data/jpa/repository/support/Querydsl.java index 0b2c160d4..10eff8567 100644 --- a/src/main/java/org/springframework/data/jpa/repository/support/Querydsl.java +++ b/src/main/java/org/springframework/data/jpa/repository/support/Querydsl.java @@ -236,7 +236,7 @@ public class Querydsl { while (path != null) { - sortPropertyExpression = !path.hasNext() && order.isIgnoreCase() && String.class == path.getType() // + sortPropertyExpression = !path.hasNext() && order.isIgnoreCase() && String.class.equals(path.getType()) // ? Expressions.stringPath((Path) sortPropertyExpression, path.getSegment()).lower() // : Expressions.path(path.getType(), (Path) sortPropertyExpression, path.getSegment()); diff --git a/src/test/java/org/springframework/data/jpa/repository/support/QuerydslIntegrationTests.java b/src/test/java/org/springframework/data/jpa/repository/support/QuerydslIntegrationTests.java index 0282a15df..030384045 100644 --- a/src/test/java/org/springframework/data/jpa/repository/support/QuerydslIntegrationTests.java +++ b/src/test/java/org/springframework/data/jpa/repository/support/QuerydslIntegrationTests.java @@ -17,12 +17,15 @@ package org.springframework.data.jpa.repository.support; import static org.assertj.core.api.Assertions.*; +import java.util.stream.Stream; + import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; + import org.springframework.data.domain.Sort; import org.springframework.data.jpa.domain.sample.User; import org.springframework.test.context.ContextConfiguration; @@ -32,8 +35,6 @@ import org.springframework.transaction.annotation.Transactional; import com.querydsl.core.types.dsl.PathBuilder; import com.querydsl.jpa.JPQLQuery; -import java.util.stream.Stream; - /** * Integration tests for {@link Querydsl}. * @@ -71,8 +72,9 @@ public class QuerydslIntegrationTests { .doesNotContain("nulls last"); } - @Test // DATAJPA-1198; DATAJPA-1779 + @Test // DATAJPA-1779 public void orderWithIgnoreCaseAddLowerOnlyStringType() { + // firstname (String); id (Integer); dateOfBirth (Date) Sort.Order[] orders = Stream.of("firstname", "id", "dateOfBirth").map(name -> Sort.Order.asc(name).ignoreCase()).toArray(Sort.Order[]::new); JPQLQuery result = querydsl.applySorting(Sort.by(orders), userQuery);