11package edu .tamu .app .model .request ;
22
3+ import java .util .ArrayList ;
4+ import java .util .HashMap ;
35import java .util .List ;
46import java .util .Map ;
57
@@ -17,14 +19,13 @@ public class FilteredPageRequest {
1719
1820 private int pageSize ;
1921
20- private String direction ;
21-
22- private List <String > properties ;
22+ private List <DirectionSort > sort ;
2323
2424 private Map <String , String []> filters ;
2525
2626 public FilteredPageRequest () {
27-
27+ sort = new ArrayList <DirectionSort >();
28+ filters = new HashMap <String , String []>();
2829 }
2930
3031 @ JsonIgnore
@@ -34,7 +35,14 @@ public NoteSpecification<Note> getSpecification() {
3435
3536 @ JsonIgnore
3637 public PageRequest getPageRequest () {
37- return new PageRequest (pageNumber > 0 ? pageNumber - 1 : 0 , pageSize > 0 ? pageSize : 10 , new Sort (Sort .Direction .fromString (direction ), properties ));
38+ List <Sort .Order > orders = new ArrayList <Sort .Order >();
39+ if (orders .isEmpty ()) {
40+ return new PageRequest (pageNumber > 0 ? pageNumber - 1 : 0 , pageSize > 0 ? pageSize : 10 );
41+ }
42+ sort .forEach (sort -> {
43+ orders .add (new Sort .Order (sort .getDirection (), sort .getProperty ()));
44+ });
45+ return new PageRequest (pageNumber > 0 ? pageNumber - 1 : 0 , pageSize > 0 ? pageSize : 10 , new Sort (orders ));
3846 }
3947
4048 public int getPageNumber () {
@@ -53,20 +61,12 @@ public void setPageSize(int pageSize) {
5361 this .pageSize = pageSize ;
5462 }
5563
56- public String getDirection () {
57- return direction ;
58- }
59-
60- public void setDirection (String direction ) {
61- this .direction = direction ;
62- }
63-
64- public List <String > getProperties () {
65- return properties ;
64+ public List <DirectionSort > getSort () {
65+ return sort ;
6666 }
6767
68- public void setProperties (List <String > properties ) {
69- this .properties = properties ;
68+ public void setSort (List <DirectionSort > sort ) {
69+ this .sort = sort ;
7070 }
7171
7272 public Map <String , String []> getFilters () {
0 commit comments