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();

Reply via email to