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