Author: sebawagner
Date: Mon Nov 26 03:51:10 2012
New Revision: 1413475

URL: http://svn.apache.org/viewvc?rev=1413475&view=rev
Log:
OPENMEETINGS-460 fix remove method for session clients, if the server changes

Modified:
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/ClientListHashMapStore.java

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/ClientListHashMapStore.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/ClientListHashMapStore.java?rev=1413475&r1=1413474&r2=1413475&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/ClientListHashMapStore.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/conference/room/ClientListHashMapStore.java
 Mon Nov 26 03:51:10 2012
@@ -22,8 +22,10 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map.Entry;
 
 import org.apache.openmeetings.OpenmeetingsVariables;
 import org.apache.openmeetings.data.beans.basic.SearchResult;
@@ -485,34 +487,23 @@ public class ClientListHashMapStore impl
        public void syncSlaveClientSession(Server server,
                        List<SlaveClientDto> clients) {
                
-               log.debug("Session 1 Length: " + clientList.size());
-               for (ClientSession cSession : clientList.values()) {
-                       log.debug("cSession: " + cSession.getServer()
-                                       + " cSession RCL " + 
cSession.getRoomClient());
-               }
-
-               // delete all existing client sessions by that slave, updating 
existing
-               // ones
+               // delete all existing client sessions by that slave, updating 
existing ones
                // makes no sense, we don't know anything about the start or 
end date
                // so at this point we can just remove them all and add them new
-
-//             for (Iterator<Entry<String, ClientSession>> iter = clientList
-//                             .entrySet().iterator(); iter.hasNext();) {
-//                     Entry<String, ClientSession> entry = iter.next();
-//                     if (entry.getValue().getServer() != null
-//                                     && 
entry.getValue().getServer().equals(server)) {
-//                             iter.remove();
-//                     }
-//             }
-
-               log.debug("Session 2 Length: " + clientList.size());
+               for (Iterator<Entry<String, ClientSession>> iter = clientList
+                               .entrySet().iterator(); iter.hasNext();) {
+                       Entry<String, ClientSession> entry = iter.next();
+                       
+                       if (entry.getValue().getServer() != null
+                                       && 
entry.getValue().getServer().getId().equals(server.getId())) {
+                               iter.remove();
+                       }
+               }
 
                for (SlaveClientDto slaveClientDto : clients) {
                        String uniqueKey = 
ClientSessionUtil.getClientSessionKey(server,
                                        slaveClientDto.getStreamid());
                        
-                       log.debug("Session 2 uniqueKey: " + uniqueKey);
-                       
                        clientList.put(
                                        uniqueKey,
                                        new ClientSession(server, new 
RoomClient(


Reply via email to