Working on Chat a bit more... allowing to retrieve list of players in the chat.

This commit is contained in:
marcins78@gmail.com
2011-09-14 22:29:22 +00:00
parent 311ba79f82
commit ff311cfc70
3 changed files with 22 additions and 22 deletions

View File

@@ -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();

View File

@@ -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();
}
}

View File

@@ -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 {