Author: sebawagner
Date: Fri Nov 30 08:33:28 2012
New Revision: 1415539
URL: http://svn.apache.org/viewvc?rev=1415539&view=rev
Log:
OPENMEETINGS-460 Fixes lists to be updated only once, fixes lists to be cleaned
up correctly, extend JUnit Test case
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Sessionmanagement.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/cluster/TestHashMapStore.java
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java?rev=1415539&r1=1415538&r2=1415539&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java
Fri Nov 30 08:33:28 2012
@@ -501,7 +501,7 @@ public class RoomWebService {
rCountBean.setMaxUser(room.getNumberOfPartizipants()
.intValue());
rCountBean.setRoomCount(clientListManager
-
.getClientListByRoom(room.getRooms_id()).size());
+
.getClientListByRoom(room.getRooms_id(), null).size());
roomsArray[i] = rCountBean;
i++;
@@ -569,7 +569,7 @@ public class RoomWebService {
roomReturn.setRoom_id(room.getRooms_id());
List<RoomClient> map = clientListManager
-
.getClientListByRoom(room.getRooms_id());
+
.getClientListByRoom(room.getRooms_id(), null);
RoomUser[] roomUsers = new RoomUser[map.size()];
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Sessionmanagement.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Sessionmanagement.java?rev=1415539&r1=1415538&r2=1415539&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Sessionmanagement.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Sessionmanagement.java
Fri Nov 30 08:33:28 2012
@@ -484,7 +484,7 @@ public class Sessionmanagement {
*/
public void clearSessionByRoomId(Long room_id) {
try {
- for (RoomClient rcl :
clientListManager.getClientListByRoom(room_id)) {
+ for (RoomClient rcl :
clientListManager.getClientListByRoom(room_id, null)) {
String aux = rcl.getSwfurl();
int init_pos = aux.indexOf("sid=") + 4;
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java?rev=1415539&r1=1415538&r2=1415539&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java
Fri Nov 30 08:33:28 2012
@@ -173,7 +173,7 @@ public class Roommanagement {
Rooms room = roomDao.get(rooms_id);
if (room != null) {
-
room.setCurrentusers(clientListManager.getClientListByRoom(room.getRooms_id()));
+
room.setCurrentusers(clientListManager.getClientListByRoom(room.getRooms_id(),
null));
return room;
}
@@ -259,7 +259,7 @@ public class Roommanagement {
asc);
for (Rooms room : rooms) {
-
room.setCurrentusers(clientListManager.getClientListByRoom(room.getRooms_id()));
+
room.setCurrentusers(clientListManager.getClientListByRoom(room.getRooms_id(),
null));
}
sResult.setResult(rooms);
@@ -280,7 +280,7 @@ public class Roommanagement {
asc);
for (Rooms room : rooms) {
-
room.setCurrentusers(clientListManager.getClientListByRoom(room.getRooms_id()));
+
room.setCurrentusers(clientListManager.getClientListByRoom(room.getRooms_id(),
null));
}
return rooms;
@@ -302,7 +302,7 @@ public class Roommanagement {
orderby, asc, externalRoomType);
for (Rooms room : rooms) {
-
room.setCurrentusers(clientListManager.getClientListByRoom(room.getRooms_id()));
+
room.setCurrentusers(clientListManager.getClientListByRoom(room.getRooms_id(),
null));
}
return rooms;
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java?rev=1415539&r1=1415538&r2=1415539&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java
Fri Nov 30 08:33:28 2012
@@ -1636,7 +1636,7 @@ public class Usermanagement {
sessionManagement.clearSessionByRoomId(room_id);
- for (RoomClient rcl :
clientListManager.getClientListByRoom(room_id)) {
+ for (RoomClient rcl :
clientListManager.getClientListByRoom(room_id, null)) {
if (rcl == null) {
return true;
}
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/cluster/TestHashMapStore.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/cluster/TestHashMapStore.java?rev=1415539&r1=1415538&r2=1415539&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/cluster/TestHashMapStore.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/cluster/TestHashMapStore.java
Fri Nov 30 08:33:28 2012
@@ -6,6 +6,7 @@ import static org.junit.Assert.assertTru
import java.math.BigInteger;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Random;
@@ -44,6 +45,10 @@ public class TestHashMapStore extends Ab
for (int i = 0; i < localSessions; i++) {
this.sessionManager.addClientListItem("streamId" + i,
"hibernate",
123, "localhost", "", false);
+
+ RoomClient rcl =
this.sessionManager.getClientByStreamId("streamId" + i, null);
+ rcl.setUser_id(Long.parseLong(""+i));
+ this.sessionManager.updateClientByStreamId("streamId" +
i, rcl, false);
}
long roomId = 1L;
@@ -89,7 +94,7 @@ public class TestHashMapStore extends Ab
assertEquals(rcl.getStreamid(), compareRcl.getStreamid());
assertEquals(rcl.getPublicSID(), compareRcl.getPublicSID());
- List<RoomClient> clientsByRoom =
sessionManager.getClientListByRoom(1L);
+ List<RoomClient> clientsByRoom =
sessionManager.getClientListByRoom(1L, null);
log.debug("clientsByRoom SIZE " + clientsByRoom.size());
@@ -117,7 +122,7 @@ public class TestHashMapStore extends Ab
log.debug("rSession "+rSession);
}
- RoomClient rcl2 =
sessionManager.getClientByStreamId("streamId50", testServer);
+ RoomClient rcl2 =
sessionManager.getClientByStreamId("streamId1050", testServer);
log.debug("rcl2 " + rcl2);
RoomClient compareRcl2 = sessionManager.getClientByPublicSID(
rcl2.getPublicSID(), rcl2.getIsAVClient(),
testServer);
@@ -140,12 +145,46 @@ public class TestHashMapStore extends Ab
RoomClient deletedNullClient =
sessionManager.getClientByPublicSID(
rclRemove.getPublicSID(),
rclRemove.getIsAVClient(), null);
+ log.debug("rclRemove: "+ rclRemove);
+
if (deletedNullClient != null) {
log.debug("deletedNullClient "+deletedNullClient);
}
assertNull(deletedNullClient);
+ sessionManager.getCache().printDebugInformation(
+ Arrays.asList(HashMapStore.DEBUG_DETAILS.SIZE,
+
HashMapStore.DEBUG_DETAILS.CLIENT_BY_STREAMID,
+
HashMapStore.DEBUG_DETAILS.CLIENT_BY_PUBLICSID,
+
HashMapStore.DEBUG_DETAILS.CLIENT_BY_USERID,
+
HashMapStore.DEBUG_DETAILS.CLIENT_BY_ROOMID));
+
+ Server s1 = new Server();
+ s1.setId(1L);
+ Server s2 = new Server();
+ s2.setId(2L);
+ Server s3 = new Server();
+ s3.setId(3L);
+ Server s4 = new Server();
+ s4.setId(4L);
+
+ //Check if number of total sessions is same as sum of all
sessions across all rooms
+ int roomSession = sessionManager.getClientListByRoomAll(1L,
null).size()
+ + sessionManager.getClientListByRoomAll(2L,
null).size()
+ + sessionManager.getClientListByRoomAll(3L,
s1).size()
+ + sessionManager.getClientListByRoomAll(4L,
s2).size()
+ + sessionManager.getClientListByRoomAll(5L,
s3).size()
+ + sessionManager.getClientListByRoomAll(6L,
s4).size()
+ ;
+ log.debug("Room Id 2 Number of Sessions:
"+sessionManager.getClientListByRoomAll(2L, s1).size());
+ log.debug("Room Id 3 Number of Sessions:
"+sessionManager.getClientListByRoomAll(3L, s1).size());
+ log.debug("Room Id 4 Number of Sessions:
"+sessionManager.getClientListByRoomAll(4L, s1).size());
+ log.debug("Room Id 5 Number of Sessions:
"+sessionManager.getClientListByRoomAll(5L, s1).size());
+ log.debug("roomSession: "+roomSession);
+
+ assertEquals(roomSession,
sessionManager.getCache().getTotalNumberOfSessions());
+
}
private void addSyncClients(long serverId) {
@@ -160,9 +199,9 @@ public class TestHashMapStore extends Ab
Long userId = (1000 * serverId) + i + add;
SlaveClientDto slaveDto = new SlaveClientDto( //
- "streamId" + i, //
+ "streamId" + ((1000 * serverId) + i), //
"publicSID_" + serverId + "_" + i, //
- new Long(2), //
+ new Long(2+serverId), //
userId, //
"firstName" + i, //
"lastName" + i, //