This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository wao. See http://git.codelutin.com/wao.git commit 5d7bcdc5d940f325c330a05a1a2a6bb9ccdb3502 Author: Brendan Le Ny <bleny@codelutin.com> Date: Fri Feb 13 14:54:09 2015 +0100 Correction du tri des utilisateurs dans l'administration, on perdait les homonymes (termine #6666) --- .../main/java/fr/ifremer/wao/entity/WaoUsers.java | 24 ++++++++++++++++++++++ .../service/administration/WaoUsersList.java | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUsers.java b/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUsers.java index 8d00fc7..4a5c814 100644 --- a/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUsers.java +++ b/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUsers.java @@ -22,6 +22,7 @@ package fr.ifremer.wao.entity; */ import com.google.common.base.Function; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.Ordering; import java.util.Comparator; @@ -32,6 +33,13 @@ public class WaoUsers { return new GetLogin(); } + /** + * Tri selon le nom puis le prénom (casse ignorée). + */ + public static Comparator<WaoUser> lastFirstNameComparator() { + return Ordering.compound(ImmutableSet.of(lastNameComparator(), firstNameComparator())); + } + public static Comparator<WaoUser> fullNameComparator() { return Ordering.natural().onResultOf(getFullName()); } @@ -56,6 +64,14 @@ public class WaoUsers { return new GetLastName(); } + public static Comparator<WaoUser> firstNameComparator() { + return Ordering.from(String.CASE_INSENSITIVE_ORDER).onResultOf(getFirstName()); + } + + public static Function<WaoUser, String> getFirstName() { + return new GetFirstName(); + } + protected static class GetLogin implements Function<WaoUser, String> { @Override @@ -87,4 +103,12 @@ public class WaoUsers { return input.getLastName(); } } + + protected static class GetFirstName implements Function<WaoUser, String> { + + @Override + public String apply(WaoUser input) { + return input.getFirstName(); + } + } } diff --git a/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersList.java b/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersList.java index 83e90a0..0047ea1 100644 --- a/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersList.java +++ b/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersList.java @@ -44,7 +44,7 @@ public class WaoUsersList { public WaoUsersList(Organisation organisation, Collection<WaoUser> waoUsers) { this.organisation = organisation; - this.waoUsers = ImmutableSortedSet.orderedBy(WaoUsers.lastNameComparator()).addAll(waoUsers).build(); + this.waoUsers = ImmutableSortedSet.orderedBy(WaoUsers.lastFirstNameComparator()).addAll(waoUsers).build(); } public Organisation getOrganisation() { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.