Repository: openmeetings
Updated Branches:
  refs/heads/3.3.x d5e17a279 -> 64e4e621e


[OPENMEETINGS-1677] screen-sharing is fixed


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/64e4e621
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/64e4e621
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/64e4e621

Branch: refs/heads/3.3.x
Commit: 64e4e621e63d5280fd57b47904dc39aefb6d07a4
Parents: d5e17a2
Author: Maxim Solodovnik <[email protected]>
Authored: Tue Aug 8 13:00:29 2017 +0700
Committer: Maxim Solodovnik <[email protected]>
Committed: Tue Aug 8 13:03:10 2017 +0700

----------------------------------------------------------------------
 .../openmeetings/core/session/SessionManager.java       | 12 ++++++++++++
 .../openmeetings/web/room/menu/RoomMenuPanel.java       |  2 +-
 .../openmeetings/web/room/menu/StartSharingButton.java  | 10 ++++++----
 3 files changed, 19 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/64e4e621/openmeetings-core/src/main/java/org/apache/openmeetings/core/session/SessionManager.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/session/SessionManager.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/session/SessionManager.java
index 990b73e..1223d46 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/session/SessionManager.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/session/SessionManager.java
@@ -77,6 +77,9 @@ public class SessionManager implements ISessionManager {
 
        @Override
        public StreamClient get(String uid) {
+               if (uid == null) {
+                       return null;
+               }
                return getClients().get(uid);
        }
 
@@ -88,6 +91,9 @@ public class SessionManager implements ISessionManager {
 
        @Override
        public boolean remove(String uid) {
+               if (uid == null) {
+                       return false;
+               }
                StreamClient c = getClients().remove(uid);
                return c != null;
        }
@@ -115,6 +121,9 @@ public class SessionManager implements ISessionManager {
 
        @Override
        public long getRecordingCount(Long roomId) {
+               if (roomId == null) {
+                       return 0;
+               }
                return list().stream()
                                .filter(c -> roomId.equals(c.getRoomId()) && 
c.isStartRecording())
                                .collect(Collectors.toList()).size();
@@ -122,6 +131,9 @@ public class SessionManager implements ISessionManager {
 
        @Override
        public long getPublishingCount(Long roomId) {
+               if (roomId == null) {
+                       return 0;
+               }
                return list().stream()
                                .filter(c -> roomId.equals(c.getRoomId()) && 
c.isStreamPublishStarted())
                                .collect(Collectors.toList()).size();

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/64e4e621/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
index 111aa50..e10854e 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
@@ -206,7 +206,7 @@ public class RoomMenuPanel extends Panel {
                add((roomName = new Label("roomName", 
r.getName())).setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true));
                String tag = getGroup().getTag();
                add(logo, new Label("tag", 
tag).setVisible(!Strings.isEmpty(tag)));
-               add((shareBtn = new StartSharingButton("share", 
room.getClient()))
+               add((shareBtn = new StartSharingButton("share", room.getUid()))
                                
.setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true));
                RoomInvitationForm rif = new RoomInvitationForm("form", 
room.getRoom().getId());
                add(invite = new InvitationDialog("invite", rif));

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/64e4e621/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/StartSharingButton.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/StartSharingButton.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/StartSharingButton.java
index d26bc32..3867f66 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/StartSharingButton.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/StartSharingButton.java
@@ -25,6 +25,7 @@ import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SCREENSH
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SCREENSHARING_QUALITY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.Application.getOnlineClient;
 import static org.apache.openmeetings.web.app.WebSession.getLanguage;
 import static org.apache.openmeetings.web.room.RoomBroadcaster.getClient;
 import static org.apache.wicket.util.time.Duration.NONE;
@@ -64,7 +65,7 @@ public class StartSharingButton extends OmButton {
        private static final String CDATA_BEGIN = "<![CDATA[";
        private static final String CDATA_END = "]]>";
        private final AjaxDownload download;
-       private final Client c;
+       private final String uid;
        private String app = "";
        private enum Protocol {
                rtmp
@@ -73,9 +74,9 @@ public class StartSharingButton extends OmButton {
                , rtmpt
        }
 
-       public StartSharingButton(String id, Client c) {
+       public StartSharingButton(String id, String uid) {
                super(id);
-               this.c = c;
+               this.uid = uid;
                setOutputMarkupPlaceholderTag(true);
                setVisible(false);
                add(new AttributeAppender("title", 
Application.getString(1480)));
@@ -88,7 +89,7 @@ public class StartSharingButton extends OmButton {
 
                        @Override
                        protected IResourceStream getResourceStream(Attributes 
attributes) {
-                               setFileName(String.format("public_%s.jnlp", 
StartSharingButton.this.c.getRoomId()));
+                               setFileName(String.format("public_%s.jnlp", 
getOnlineClient(uid).getRoomId()));
                                StringResourceStream srs = new 
StringResourceStream(app, "application/x-java-jnlp-file");
                                srs.setCharset(UTF_8);
                                return srs;
@@ -109,6 +110,7 @@ public class StartSharingButton extends OmButton {
                        }
                        String _url = rc.getTcUrl();
                        URI url = new URI(_url);
+                       Client c = getOnlineClient(uid);
                        long roomId = c.getRoomId();
                        Room room = getBean(RoomDao.class).get(roomId);
                        ISessionManager sessionManager = 
getBean(ISessionManager.class);

Reply via email to