r2042 - in trunk: wao-persistence/src/main/java/fr/ifremer/wao/entity wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer
Author: bleny Date: 2014-06-17 12:40:03 +0200 (Tue, 17 Jun 2014) New Revision: 2042 Url: http://forge.codelutin.com/projects/wao/repository/revisions/2042 Log: fixes #5216 sort observer names in select Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUsers.java trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditContactAction.java Modified: trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUsers.java =================================================================== --- trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUsers.java 2014-06-17 10:29:55 UTC (rev 2041) +++ trunk/wao-persistence/src/main/java/fr/ifremer/wao/entity/WaoUsers.java 2014-06-17 10:40:03 UTC (rev 2042) @@ -22,13 +22,24 @@ */ import com.google.common.base.Function; +import com.google.common.collect.Ordering; +import java.util.Comparator; + public class WaoUsers { public static Function<WaoUser, String> getLogin() { return new GetLogin(); } + public static Comparator<WaoUser> fullNameComparator() { + return Ordering.natural().onResultOf(getFullName()); + } + + public static Function<WaoUser, String> getFullName() { + return new GetFullName(); + } + protected static class GetLogin implements Function<WaoUser, String> { @Override @@ -36,4 +47,12 @@ return input.getLogin(); } } + + protected static class GetFullName implements Function<WaoUser, String> { + + @Override + public String apply(WaoUser input) { + return input.getFullName(); + } + } } Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditContactAction.java =================================================================== --- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditContactAction.java 2014-06-17 10:29:55 UTC (rev 2041) +++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/EditContactAction.java 2014-06-17 10:40:03 UTC (rev 2042) @@ -23,6 +23,7 @@ import com.google.common.base.Optional; import com.google.common.base.Strings; +import com.google.common.collect.Sets; import com.opensymphony.xwork2.Preparable; import fr.ifremer.wao.WaoUtils; import fr.ifremer.wao.entity.ContactState; @@ -30,6 +31,7 @@ import fr.ifremer.wao.entity.DataReliability; import fr.ifremer.wao.entity.ObservedDataControl; import fr.ifremer.wao.entity.WaoUser; +import fr.ifremer.wao.entity.WaoUsers; import fr.ifremer.wao.services.AuthenticatedWaoUser; import fr.ifremer.wao.services.service.ContactDataInputDateAfterTodayException; import fr.ifremer.wao.services.service.ContactDataInputDateBeforeObservationEndDateException; @@ -64,8 +66,10 @@ import java.util.Date; import java.util.EnumMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.TreeMap; /** @@ -177,9 +181,11 @@ updateContactCommand = service.newUpdateContactCommand(getAuthenticatedWaoUser(), optionalContactId); - observers = new TreeMap<>(); List<WaoUser> waoUsers = waoUsersService.getActiveWaoUsers(Optional.of(updateContactCommand.getContact().getSampleRow().getCompany().getTopiaId())); - for (WaoUser waoUser : waoUsers) { + Set<WaoUser> sortedWaoUsers = Sets.newTreeSet(WaoUsers.fullNameComparator()); + sortedWaoUsers.addAll(waoUsers); + observers = new LinkedHashMap<>(); + for (WaoUser waoUser : sortedWaoUsers) { observers.put(waoUser.getTopiaId(), waoUser.getFullName()); } contactStates = new EnumMap<>(ContactState.class);
participants (1)
-
bleny@users.forge.codelutin.com