From d8f9c7907a6b421c483a596d47dc5b30c65395f6 Mon Sep 17 00:00:00 2001 From: marcins78 Date: Fri, 22 Nov 2013 11:42:53 +0000 Subject: [PATCH] Fixing sorting of users in chat room (case-insesitive). --- .../lotro/async/handler/ChatRequestHandler.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/ChatRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/ChatRequestHandler.java index 0f3f63993..bd19a3163 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/ChatRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/ChatRequestHandler.java @@ -146,7 +146,6 @@ public class ChatRequestHandler extends LotroServerRequestHandler implements Uri } } - private void serializeChatRoomData(String room, List chatMessages, Collection usersInRoom, Document doc) { Element chatElem = doc.createElement("chat"); chatElem.setAttribute("roomName", room); @@ -160,7 +159,7 @@ public class ChatRequestHandler extends LotroServerRequestHandler implements Uri chatElem.appendChild(message); } - Set users = new TreeSet(); + Set users = new TreeSet(new CaseInsensitiveStringComparator()); for (String userInRoom : usersInRoom) users.add(formatPlayerNameForChatList(userInRoom)); @@ -171,6 +170,13 @@ public class ChatRequestHandler extends LotroServerRequestHandler implements Uri } } + private class CaseInsensitiveStringComparator implements Comparator { + @Override + public int compare(String o1, String o2) { + return o1.toLowerCase().compareTo(o2.toLowerCase()); + } + } + private String formatPlayerNameForChatList(String userInRoom) { final Player player = _playerDao.getPlayer(userInRoom); if (player != null) {