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(