You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by se...@apache.org on 2012/04/19 21:04:27 UTC
svn commit: r1328079 - in
/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app:
data/user/Usermanagement.java remote/MainService.java
remote/UserService.java remote/red5/ScopeApplicationAdapter.java
Author: sebawagner
Date: Thu Apr 19 19:04:27 2012
New Revision: 1328079
URL: http://svn.apache.org/viewvc?rev=1328079&view=rev
Log:
OPENMEETINGS-179 User Not Removed from chat participants window after logout..
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/user/Usermanagement.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/MainService.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/UserService.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/user/Usermanagement.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/user/Usermanagement.java?rev=1328079&r1=1328078&r2=1328079&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/user/Usermanagement.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/user/Usermanagement.java Thu Apr 19 19:04:27 2012
@@ -1651,7 +1651,7 @@ public class Usermanagement {
}
IScope currentScope = scopeApplicationAdapter
.getRoomScope(scopeName);
- scopeApplicationAdapter.roomLeaveByScope(rcl, currentScope);
+ scopeApplicationAdapter.roomLeaveByScope(rcl, currentScope, true);
HashMap<Integer, String> messageObj = new HashMap<Integer, String>();
messageObj.put(0, "kick");
@@ -1696,7 +1696,7 @@ public class Usermanagement {
scopeApplicationAdapter.sendMessageById(messageObj,
rcl.getStreamid(), currentScope);
- scopeApplicationAdapter.roomLeaveByScope(rcl, currentScope);
+ scopeApplicationAdapter.roomLeaveByScope(rcl, currentScope, true);
return true;
}
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/MainService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/MainService.java?rev=1328079&r1=1328078&r2=1328079&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/MainService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/MainService.java Thu Apr 19 19:04:27 2012
@@ -689,12 +689,21 @@ public class MainService implements IPen
* @return string value if completed
*/
public Long logoutUser(String SID) {
- Long users_id = sessionManagement.checkSession(SID);
- IConnection current = Red5.getConnectionLocal();
- RoomClient currentClient = this.clientListManager
- .getClientByStreamId(current.getClient().getId());
- currentClient.setUserObject(null, null, null, null);
- return userManagement.logout(SID, users_id);
+ try {
+ Long users_id = sessionManagement.checkSession(SID);
+ IConnection current = Red5.getConnectionLocal();
+ RoomClient currentClient = this.clientListManager
+ .getClientByStreamId(current.getClient().getId());
+
+ scopeApplicationAdapter.roomLeaveByScope(currentClient,current.getScope(), false);
+
+ currentClient.setUserObject(null, null, null, null);
+
+ return userManagement.logout(SID, users_id);
+ } catch (Exception err) {
+ log.error("[logoutUser]",err);
+ }
+ return -1L;
}
/**
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/UserService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/UserService.java?rev=1328079&r1=1328078&r2=1328079&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/UserService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/UserService.java Thu Apr 19 19:04:27 2012
@@ -533,7 +533,7 @@ public class UserService {
streamid, currentScope);
this.scopeApplicationAdapter
- .roomLeaveByScope(rcl, currentScope);
+ .roomLeaveByScope(rcl, currentScope, true);
return true;
}
@@ -1614,7 +1614,7 @@ public class UserService {
rcl.getStreamid(), currentScope);
this.scopeApplicationAdapter
- .roomLeaveByScope(rcl, currentScope);
+ .roomLeaveByScope(rcl, currentScope, true);
return true;
}
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java?rev=1328079&r1=1328078&r2=1328079&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java Thu Apr 19 19:04:27 2012
@@ -530,7 +530,7 @@ public class ScopeApplicationAdapter ext
// logicalRoomLeave
if (currentClient != null) {
log.debug("currentClient IS NOT NULL");
- this.roomLeaveByScope(currentClient, room);
+ this.roomLeaveByScope(currentClient, room, true);
}
} catch (Exception err) {
@@ -558,7 +558,7 @@ public class ScopeApplicationAdapter ext
RoomClient currentClient = this.clientListManager
.getClientByStreamId(streamid);
- this.roomLeaveByScope(currentClient, current.getScope());
+ this.roomLeaveByScope(currentClient, current.getScope(), true);
} catch (Exception err) {
log.error("[logicalRoomLeave]", err);
@@ -569,11 +569,14 @@ public class ScopeApplicationAdapter ext
* Removes the Client from the List, stops recording, adds the Room-Leave
* event to running recordings, clear Polls and removes Client from any list
*
+ * This function is kind of private/protected as the client won't be able
+ * to call it with proper values.
+ *
* @param currentClient
* @param currentScope
*/
public synchronized void roomLeaveByScope(RoomClient currentClient,
- IScope currentScope) {
+ IScope currentScope, boolean removeUserFromSessionList) {
try {
log.debug("currentClient " + currentClient);
@@ -692,7 +695,9 @@ public class ScopeApplicationAdapter ext
}
}
- this.clientListManager.removeClient(currentClient.getStreamid());
+ if (removeUserFromSessionList) {
+ this.clientListManager.removeClient(currentClient.getStreamid());
+ }
} catch (Exception err) {
log.error("[roomLeaveByScope]", err);
}