You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/08/08 06:00:37 UTC

openmeetings git commit: [OPENMEETINGS-1677] screen-sharing is fixed

Repository: openmeetings
Updated Branches:
  refs/heads/master 3f0e571ba -> 176f3492b


[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/176f3492
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/176f3492
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/176f3492

Branch: refs/heads/master
Commit: 176f3492b9486ed71d6570a9a918ebe75c37dc4e
Parents: 3f0e571
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Tue Aug 8 13:00:29 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Tue Aug 8 13:00:29 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/176f3492/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 528bc71..869075a 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
@@ -73,6 +73,9 @@ public class SessionManager implements ISessionManager {
 
 	@Override
 	public StreamClient get(String uid) {
+		if (uid == null) {
+			return null;
+		}
 		return getClients().get(uid);
 	}
 
@@ -84,6 +87,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;
 	}
@@ -111,6 +117,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.isRecordingStarted())
 				.collect(Collectors.toList()).size();
@@ -118,6 +127,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.isPublishStarted())
 				.collect(Collectors.toList()).size();

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/176f3492/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 d003fff..71581c5 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/176f3492/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 0f05691..d5fd371 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
@@ -26,6 +26,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.wicket.util.time.Duration.NONE;
 
@@ -59,12 +60,12 @@ 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 = "";
 
-	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)));
@@ -77,7 +78,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;
@@ -91,6 +92,7 @@ public class StartSharingButton extends OmButton {
 		try (InputStream jnlp = getClass().getClassLoader().getResourceAsStream("APPLICATION.jnlp")) {
 			ConfigurationDao cfgDao = getBean(ConfigurationDao.class);
 			app = IOUtils.toString(jnlp, UTF_8);
+			Client c = getOnlineClient(uid);
 			String sid = c.getSid();
 			JSONObject s = VideoSettings.getInitJson(WebSession.get().getExtendedProperties(), "" + c.getRoomId(), sid);
 			String _url = s.getString(VideoSettings.URL);