Repository: openmeetings Updated Branches: refs/heads/master 3ebbb1129 -> ad0a8251b
[OPENMEETINGS-1715] room exit is fixed once again Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/18b239bc Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/18b239bc Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/18b239bc Branch: refs/heads/master Commit: 18b239bc2238aa88187b8f34a63a735ecc19ffaf Parents: 3ebbb11 Author: Maxim Solodovnik <[email protected]> Authored: Wed Oct 4 15:57:15 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Wed Oct 4 15:57:15 2017 +0700 ---------------------------------------------------------------------- .../core/remote/ScopeApplicationAdapter.java | 17 +++++++++++------ .../apache/openmeetings/web/app/Application.java | 1 + 2 files changed, 12 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/18b239bc/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java ---------------------------------------------------------------------- diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java index 14075ee..f53d1af 100644 --- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java +++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java @@ -390,13 +390,8 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp } } - public void roomLeaveByScope(org.apache.openmeetings.db.entity.basic.IClient c, Long roomId) { - StreamClient rcl = sessionManager.get(c.getUid()); + public void dropSharing(org.apache.openmeetings.db.entity.basic.IClient c, Long roomId) { IScope scope = getChildScope(String.valueOf(roomId)); - _log.debug("[roomLeaveByScope] {} {} {} {}", c.getUid(), roomId, rcl, scope); - if (rcl != null && scope != null) { - roomLeaveByScope(rcl, scope); - } //Elvis has left the building new MessageSender(scope, "stopStream", new Object(), this) { @Override @@ -409,6 +404,16 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp }.start(); } + public void roomLeaveByScope(org.apache.openmeetings.db.entity.basic.IClient c, Long roomId) { + StreamClient rcl = sessionManager.get(c.getUid()); + IScope scope = getChildScope(String.valueOf(roomId)); + _log.debug("[roomLeaveByScope] {} {} {} {}", c.getUid(), roomId, rcl, scope); + if (rcl != null && scope != null) { + roomLeaveByScope(rcl, scope); + } + dropSharing(c, roomId); + } + /** * Removes the Client from the List, stops recording, adds the Room-Leave * event to running recordings, clear Polls and removes Client from any list http://git-wip-us.apache.org/repos/asf/openmeetings/blob/18b239bc/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java index 7205139..dd9f997 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java @@ -629,6 +629,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica } } if (_c instanceof Client) { + getBean(ScopeApplicationAdapter.class).dropSharing(_c, roomId); Client c = (Client)_c; c.setRoom(null); c.clear();
