Working on Chat a bit more... allowing to retrieve list of players in the chat.
This commit is contained in:
@@ -1,9 +1,6 @@
|
||||
package com.gempukku.lotro.chat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
public class ChatRoom {
|
||||
private int _maxMessageCount = 10;
|
||||
@@ -33,6 +30,10 @@ public class ChatRoom {
|
||||
_chatRoomListeners.remove(playerId);
|
||||
}
|
||||
|
||||
public Set<String> getUsersInRoom() {
|
||||
return new HashSet<String>(_chatRoomListeners.keySet());
|
||||
}
|
||||
|
||||
private void shrinkLastMessages() {
|
||||
while (_lastMessages.size() > _maxMessageCount) {
|
||||
_lastMessages.removeFirst();
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.gempukku.lotro.GatheringChatRoomListener;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public class ChatRoomMediator {
|
||||
private ChatRoom _chatRoom = new ChatRoom();
|
||||
@@ -47,4 +48,8 @@ public class ChatRoomMediator {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized Set<String> getUsersInRoom() {
|
||||
return _chatRoom.getUsersInRoom();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -342,17 +342,7 @@ public class ServerResource {
|
||||
|
||||
Document doc = documentBuilder.newDocument();
|
||||
|
||||
Element chatElem = doc.createElement("chat");
|
||||
chatElem.setAttribute("roomName", room);
|
||||
doc.appendChild(chatElem);
|
||||
|
||||
for (ChatMessage chatMessage : chatMessages) {
|
||||
Element message = doc.createElement("message");
|
||||
message.setAttribute("from", chatMessage.getFrom());
|
||||
message.setAttribute("date", String.valueOf(chatMessage.getWhen().getTime()));
|
||||
message.appendChild(doc.createTextNode(chatMessage.getMessage()));
|
||||
chatElem.appendChild(message);
|
||||
}
|
||||
serializeChatRoomData(room, chatMessages, doc);
|
||||
|
||||
return doc;
|
||||
}
|
||||
@@ -381,19 +371,23 @@ public class ServerResource {
|
||||
|
||||
Document doc = documentBuilder.newDocument();
|
||||
|
||||
serializeChatRoomData(room, chatMessages, doc);
|
||||
|
||||
return doc;
|
||||
}
|
||||
|
||||
private void serializeChatRoomData(String room, List<ChatMessage> chatMessages, Document doc) {
|
||||
Element chatElem = doc.createElement("chat");
|
||||
chatElem.setAttribute("roomName", room);
|
||||
doc.appendChild(chatElem);
|
||||
|
||||
for (ChatMessage chatMessage : chatMessages) {
|
||||
Element messageElem = doc.createElement("message");
|
||||
messageElem.setAttribute("from", chatMessage.getFrom());
|
||||
messageElem.setAttribute("date", String.valueOf(chatMessage.getWhen().getTime()));
|
||||
messageElem.appendChild(doc.createTextNode(chatMessage.getMessage()));
|
||||
chatElem.appendChild(messageElem);
|
||||
Element message = doc.createElement("message");
|
||||
message.setAttribute("from", chatMessage.getFrom());
|
||||
message.setAttribute("date", String.valueOf(chatMessage.getWhen().getTime()));
|
||||
message.appendChild(doc.createTextNode(chatMessage.getMessage()));
|
||||
chatElem.appendChild(message);
|
||||
}
|
||||
|
||||
return doc;
|
||||
}
|
||||
|
||||
private class SerializationVisitor implements ParticipantCommunicationVisitor {
|
||||
|
||||
Reference in New Issue
Block a user