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


Reply via email to