1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.logging.log4j.catalog.jpa.service;
17
18 import java.util.Locale;
19
20 import org.springframework.data.domain.PageRequest;
21 import org.springframework.data.domain.Pageable;
22 import org.springframework.data.domain.Sort;
23
24 public class AbstractPagingAndSortingService {
25
26 protected Pageable createPageRequest(int startPage, int itemsPerPage, String sortColumn, String direction) {
27 PageRequest pageRequest;
28 if (sortColumn == null || sortColumn.length() == 0) {
29 pageRequest = new PageRequest(startPage, itemsPerPage);
30 } else {
31 Sort.Direction sortDirection;
32 if (direction == null) {
33 sortDirection = Sort.Direction.ASC;
34 } else {
35 sortDirection = Sort.Direction.fromStringOrNull(direction.toUpperCase(Locale.US));
36 if (sortDirection == null) {
37 sortDirection = Sort.Direction.ASC;
38 }
39 }
40 pageRequest = new PageRequest(startPage, itemsPerPage, new Sort(sortDirection, sortColumn));
41 }
42 return pageRequest;
43 }
44 }