Skip to content

Commit c3b34fe

Browse files
author
talhadilber
committed
new test added and one bug fixed
1 parent a58029f commit c3b34fe

File tree

3 files changed

+26
-2
lines changed

3 files changed

+26
-2
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
<groupId>io.github.tdilber</groupId>
1515
<artifactId>spring-jpa-dynamic-query</artifactId>
16-
<version>0.3.0</version>
16+
<version>0.3.1</version>
1717
<packaging>jar</packaging>
1818
<name>Spring Jpa Dynamic Query</name>
1919
<description>Spring Jpa Dynamic Query (JDQ) Project</description>

src/main/java/com/beyt/jdq/query/DynamicQueryManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ public static <Entity, ResultType> Page<ResultType> getEntityListBySelectableFil
142142
protected static <Entity, ResultType> Iterable<ResultType> getEntityListBySelectableFilterWithReturnType(JpaSpecificationExecutor<Entity> repositoryExecutor, DynamicQuery dynamicQuery, Class<ResultType> resultTypeClass, boolean isPage) {
143143
Class<Entity> entityClass = getEntityClass(repositoryExecutor);
144144
if (resultTypeClass.equals(entityClass) && CollectionUtils.isEmpty(dynamicQuery.getSelect())) {
145-
return (List<ResultType>) getEntityListWithReturnClass(repositoryExecutor, dynamicQuery, resultTypeClass, isPage);
145+
return getEntityListWithReturnClass(repositoryExecutor, dynamicQuery, resultTypeClass, isPage);
146146
} else {
147147
Iterable<Tuple> entityListBySelectableFilter = getEntityListWithReturnClass(repositoryExecutor, dynamicQuery, Tuple.class, isPage);
148148

src/test/java/com/beyt/jdq/query/DynamicQueryManagerTest.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import com.beyt.jdq.exception.DynamicQueryNoAvailableOrOperationUsageException;
1111
import com.beyt.jdq.testenv.entity.Customer;
1212
import com.beyt.jdq.testenv.entity.User;
13+
import lombok.Getter;
14+
import lombok.Setter;
1315
import org.junit.jupiter.api.BeforeAll;
1416
import org.junit.jupiter.api.Test;
1517
import org.junit.jupiter.api.TestInstance;
@@ -18,6 +20,7 @@
1820
import org.springframework.data.domain.Sort;
1921
import org.springframework.data.util.Pair;
2022

23+
import javax.persistence.Tuple;
2124
import java.text.SimpleDateFormat;
2225
import java.util.Calendar;
2326
import java.util.List;
@@ -265,4 +268,25 @@ void queryBuilderTests() {
265268
assertEquals(toList(user7, user6, user4, user2),
266269
userRepository.queryBuilder().where(Field("status").eq(User.Status.ACTIVE)).orderBy(OrderBy("id", Order.DESC)).getResult());
267270
}
271+
272+
public static class UserName {
273+
@Getter
274+
@Setter
275+
private String name;
276+
}
277+
278+
@Test
279+
void page() {
280+
DynamicQuery dynamicQuery = new DynamicQuery();
281+
dynamicQuery.setWhere(CriteriaList.of(Criteria.of("id", CriteriaOperator.GREATER_THAN, 3)));
282+
dynamicQuery.setPageSize(2);
283+
dynamicQuery.setPageNumber(1);
284+
Page<User> result = userRepository.findAllAsPage(dynamicQuery);
285+
assertEquals(toList(user6, user7), result.getContent());
286+
dynamicQuery.getSelect().add(Pair.of("name", "name"));
287+
Page<UserName> result2 = userRepository.findAllAsPage(dynamicQuery, UserName.class);
288+
assertEquals(toList(user6.getName(), user7.getName()), result2.getContent().stream().map(UserName::getName).toList());
289+
List<Tuple> allAsTuple = userRepository.findAllAsTuple(dynamicQuery);
290+
Page<Tuple> allAsTuplePage = userRepository.findAllAsTuplePage(dynamicQuery);
291+
}
268292
}

0 commit comments

Comments
 (0)