Author: sebawagner
Date: Wed Dec 12 22:41:57 2012
New Revision: 1421033
URL: http://svn.apache.org/viewvc?rev=1421033&view=rev
Log:
OPENMEETINGS-460 Fixes user list in rooms list displays correctly also users
logged'in into slave
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/IClientList.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/cache/HashMapStore.java
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/IClientList.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/IClientList.java?rev=1421033&r1=1421032&r2=1421033&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/IClientList.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/IClientList.java
Wed Dec 12 22:41:57 2012
@@ -118,7 +118,7 @@ public interface IClientList {
* needed cause it is invoked internally AFTER the current user has been
* already removed from the ClientList to see if the Room is empty
again and
* the PollList can be removed
- * @param server TODO
+ * @param room_id
* @return
*/
public abstract List<RoomClient> getClientListByRoom(Long room_id,
Server server);
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/cache/HashMapStore.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/cache/HashMapStore.java?rev=1421033&r1=1421032&r2=1421033&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/cache/HashMapStore.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/cache/HashMapStore.java
Wed Dec 12 22:41:57 2012
@@ -275,19 +275,24 @@ public class HashMapStore {
/**
*
+ * We ignore the server here, cause ONE room can only be on ONE server
and often we don't know where.
+ * However at a later stage clients might be on different servers and
still in the save room
+ * so we keep that parameter for now
+ *
+ * @param server
* @param roomId
* @return will return an empty map if nothing available
*/
public LinkedHashMap<String, RoomClient> getClientsByRoomId(Server
server, Long roomId) {
- LinkedHashMap<Long, LinkedHashMap<String, RoomClient>>
clientsByRoomId = clientsByServerAndRoomId.get(getIdByServer(server));
- if (clientsByRoomId == null) {
- return EMPTY_MAP;
- }
- LinkedHashMap<String, RoomClient> clients =
clientsByRoomId.get(roomId);
- if (clients == null) {
- return EMPTY_MAP;
+
+ for (Entry<Long, LinkedHashMap<Long, LinkedHashMap<String,
RoomClient>>> entry : clientsByServerAndRoomId.entrySet()) {
+ LinkedHashMap<String, RoomClient> roomClients =
entry.getValue().get(roomId);
+ if (roomClients != null) {
+ return roomClients;
+ }
}
- return clients;
+
+ return EMPTY_MAP;
}
public void remove(Server server, String streamId) {