diff --git a/src/main/java/fr/univtln/bruno/samples/jaxrs/model/BiblioModel.java b/src/main/java/fr/univtln/bruno/samples/jaxrs/model/BiblioModel.java index 9876f7e40d1e79b282b54b14ae9df2c36dbfa192..84d030b49f97eeb4ccb3158a9daa15976fbb2f2b 100644 --- a/src/main/java/fr/univtln/bruno/samples/jaxrs/model/BiblioModel.java +++ b/src/main/java/fr/univtln/bruno/samples/jaxrs/model/BiblioModel.java @@ -64,7 +64,12 @@ public class BiblioModel { } public List<Auteur> getWithFilter(PaginationInfo paginationInfo) { - Stream<Auteur> auteurStream = auteurs.stream(); + Stream<Auteur> auteurStream = auteurs.stream() + .sorted(Comparator.comparing(auteur -> switch (valueOf(paginationInfo.getSortKey().toUpperCase())) { + case NOM -> auteur.getNom(); + case PRENOM -> auteur.getPrenom(); + default -> throw new InvalidParameterException(); + })); if (paginationInfo.getNom() != null) auteurStream = auteurStream.filter(auteur -> auteur.getNom().equalsIgnoreCase(paginationInfo.getNom())); if (paginationInfo.getPrenom() != null) @@ -77,11 +82,7 @@ public class BiblioModel { .limit(paginationInfo.getPageSize()); } - return auteurStream.sorted(Comparator.comparing(auteur -> switch (valueOf(paginationInfo.getSortKey().toUpperCase())) { - case NOM -> auteur.getNom(); - case PRENOM -> auteur.getPrenom(); - default -> throw new InvalidParameterException(); - })).collect(Collectors.toList()); + return auteurStream.collect(Collectors.toList()); } public void supprimerAuteurs() {