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 2014/12/29 19:15:05 UTC
svn commit: r1648401 - in /openmeetings:
branches/3.0.x/src/main/java/org/apache/openmeetings/remote/
trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/
trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/...
Author: solomax
Date: Mon Dec 29 18:15:05 2014
New Revision: 1648401
URL: http://svn.apache.org/r1648401
Log:
[OPENMEETINGS-954] screen-sharing client filtered in mobile service
Modified:
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MobileService.java
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/session/SessionManager.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MobileService.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MobileService.java?rev=1648401&r1=1648400&r2=1648401&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MobileService.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MobileService.java Mon Dec 29 18:15:05 2014
@@ -123,7 +123,7 @@ public class MobileService {
for (IConnection conn : current.getScope().getClientConnections()) {
if (conn != null && conn instanceof IServiceCapableConnection) {
Client c = sessionManager.getClientByStreamId(conn.getClient().getId(), null);
- if (c.getIsAVClient() && !Strings.isEmpty(c.getAvsettings())) {
+ if (c.getIsAVClient() && !Strings.isEmpty(c.getAvsettings()) && !Boolean.TRUE.equals(c.getIsScreenClient())) {
Map<String, Object> map = new Hashtable<String, Object>();
add(map, "streamId", c.getStreamid());
add(map, "broadCastId", c.getBroadCastID());
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java?rev=1648401&r1=1648400&r2=1648401&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java Mon Dec 29 18:15:05 2014
@@ -216,9 +216,7 @@ public class ConferenceLibrary implement
Client rcl = this.sessionManager
.getClientByStreamId(conn.getClient()
.getId(), null);
- if ((rcl == null)
- || (rcl.getIsScreenClient() != null && rcl
- .getIsScreenClient())) {
+ if ((rcl == null) || rcl.isScreenClient()) {
continue;
} else {
((IServiceCapableConnection) conn).invoke(
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java?rev=1648401&r1=1648400&r2=1648401&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java Mon Dec 29 18:15:05 2014
@@ -146,12 +146,12 @@ public class FLVRecorderService implemen
Client rcl = sessionManager.getClientByStreamId(conn.getClient().getId(), null);
// Send every user a notification that the recording did start
- if (!rcl.getIsAVClient()) {
+ if (!rcl.isAvClient()) {
((IServiceCapableConnection) conn).invoke("startedRecording", new Object[] { currentClient }, this);
}
// If its the recording client we need another type of Meta Data
- if (rcl.getIsScreenClient()) {
+ if (rcl.isScreenClient()) {
if (rcl.getFlvRecordingId() != null && rcl.isScreenPublishStarted()) {
String streamName_Screen = generateFileName(flvRecordingId, rcl.getStreamPublishName().toString());
@@ -167,7 +167,7 @@ public class FLVRecorderService implemen
sessionManager.updateClientByStreamId(rcl.getStreamid(), rcl, false, null);
}
- } else if (rcl.getIsAVClient()
+ } else if (rcl.isAvClient()
&& (rcl.getAvsettings().equals("av") || rcl.getAvsettings().equals("a") || rcl.getAvsettings().equals("v"))) {
// if the user does publish av, a, v
// But we only record av or a, video only is not interesting
@@ -329,7 +329,7 @@ public class FLVRecorderService implemen
}
log.debug("is this users still alive? stop it :" + rcl);
- if (rcl.getIsScreenClient()) {
+ if (rcl.isScreenClient()) {
if (rcl.getFlvRecordingId() != null && rcl.isScreenPublishStarted()) {
// Stop FLV Recording
stopRecordingShow(conn, rcl.getStreamPublishName(), rcl.getFlvRecordingMetaDataId());
@@ -337,7 +337,7 @@ public class FLVRecorderService implemen
// Update Meta Data
metaDataDao.updateFlvRecordingMetaDataEndDate(rcl.getFlvRecordingMetaDataId(), new Date());
}
- } else if (rcl.getIsAVClient()
+ } else if (rcl.isAvClient()
&& (rcl.getAvsettings().equals("av") || rcl.getAvsettings().equals("a") || rcl.getAvsettings().equals("v"))) {
stopRecordingShow(conn, String.valueOf(rcl.getBroadCastID()).toString(), rcl.getFlvRecordingMetaDataId());
@@ -412,7 +412,7 @@ public class FLVRecorderService implemen
// rcl.getUserip(), false);
log.debug("### stopRecordingShowForClient: " + rcl);
- if (rcl.getIsScreenClient()) {
+ if (rcl.isScreenClient()) {
if (rcl.getFlvRecordingId() != null && rcl.isScreenPublishStarted()) {
@@ -426,7 +426,7 @@ public class FLVRecorderService implemen
metaDataDao.updateFlvRecordingMetaDataEndDate(rcl.getFlvRecordingMetaDataId(), new Date());
}
- } else if (rcl.getIsAVClient()
+ } else if (rcl.isAvClient()
&& (rcl.getAvsettings().equals("a") || rcl.getAvsettings().equals("v") || rcl.getAvsettings().equals("av"))) {
// FIXME: Is there really a need to stop it manually if the user
@@ -449,7 +449,7 @@ public class FLVRecorderService implemen
Date now = new Date();
// If its the recording client we need another type of Meta Data
- if (rcl.getIsScreenClient()) {
+ if (rcl.isScreenClient()) {
if (rcl.getFlvRecordingId() != null && rcl.isScreenPublishStarted()) {
String streamName_Screen = generateFileName(flvRecordingId, rcl.getStreamPublishName().toString());
@@ -467,7 +467,7 @@ public class FLVRecorderService implemen
sessionManager.updateClientByStreamId(rcl.getStreamid(), rcl, false, null);
}
- } else if (rcl.getIsAVClient()
+ } else if (rcl.isAvClient()
&& (rcl.getAvsettings().equals("av") || rcl.getAvsettings().equals("a") || rcl.getAvsettings().equals("v"))) {
// if the user does publish av, a, v
// But we only record av or a, video only is not interesting
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java?rev=1648401&r1=1648400&r2=1648401&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java Mon Dec 29 18:15:05 2014
@@ -122,7 +122,7 @@ public class MobileService {
for (IConnection conn : current.getScope().getClientConnections()) {
if (conn != null && conn instanceof IServiceCapableConnection) {
Client c = sessionManager.getClientByStreamId(conn.getClient().getId(), null);
- if (c.getIsAVClient() && !Strings.isEmpty(c.getAvsettings())) {
+ if (c.isAvClient() && !Strings.isEmpty(c.getAvsettings()) && !c.isScreenClient()) {
Map<String, Object> map = new Hashtable<String, Object>();
add(map, "streamId", c.getStreamid());
add(map, "broadCastId", c.getBroadCastID());
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1648401&r1=1648400&r2=1648401&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java Mon Dec 29 18:15:05 2014
@@ -285,7 +285,7 @@ public class ScopeApplicationAdapter ext
currentClient.setRoom_id(Long.parseLong(current.getScope().getName()));
// Set this connection to be a RTMP-Java Client
- currentClient.setIsScreenClient(true);
+ currentClient.setScreenClient(true);
SessionVariablesUtil.setIsScreenClient(current.getClient());
@@ -388,7 +388,7 @@ public class ScopeApplicationAdapter ext
Client rcl = sessionManager.getClientByStreamId(conn.getClient().getId(), null);
if (rcl == null) {
// continue;
- } else if (rcl.getIsScreenClient() != null && rcl.getIsScreenClient()) {
+ } else if (rcl.isScreenClient()) {
// continue;
} else {
if (!streamid.equals(rcl.getStreamid())) {
@@ -574,11 +574,11 @@ public class ScopeApplicationAdapter ext
}
//If the user was a avclient, we do not broadcast a message about that to everybody
- if (currentClient.getIsAVClient()) {
+ if (currentClient.isAvClient()) {
continue;
}
- boolean isScreen = rcl.getIsScreenClient() != null && rcl.getIsScreenClient();
+ boolean isScreen = rcl.isScreenClient();
if (isScreen && currentClient.getPublicSID().equals(rcl.getStreamPublishName())) {
//going to terminate screen sharing started by this client
((IServiceCapableConnection) cons).invoke("stopStream", new Object[] { },this);
@@ -586,7 +586,7 @@ public class ScopeApplicationAdapter ext
} else if (isScreen) {
// screen sharing clients do not receive events
continue;
- } else if (rcl.getIsAVClient()) {
+ } else if (rcl.isAvClient()) {
// AVClients or potential AVClients do not receive events
continue;
}
@@ -631,14 +631,14 @@ public class ScopeApplicationAdapter ext
log.debug("start streamPublishStart broadcast start: " + stream.getPublishedName() + " CONN " + current);
// In case its a screen sharing we start a new Video for that
- if (currentClient.getIsScreenClient()) {
+ if (currentClient.isScreenClient()) {
currentClient.setScreenPublishStarted(true);
sessionManager.updateClientByStreamId(streamid, currentClient, false, null);
}
//If its an audio/video client then send the session object with the full data to everybody
- else if (currentClient.getIsAVClient()) {
+ else if (currentClient.isAvClient()) {
clientObjectSendToSync = sessionManager.getClientByPublicSID(currentClient.getPublicSID(), false, null);
}
@@ -667,11 +667,11 @@ public class ScopeApplicationAdapter ext
log.debug("RCL getIsRecording newStream SEND");
flvRecorderService.addRecordingByStreamId(current, streamid, currentClient, rcl.getFlvRecordingId());
}
- if (rcl.getIsAVClient()) {
+ if (rcl.isAvClient()) {
log.debug("RCL getIsAVClient newStream SEND");
continue;
}
- if (rcl.getIsScreenClient() == null || rcl.getIsScreenClient()) {
+ if (rcl.isScreenClient()) {
log.debug("RCL getIsScreenClient newStream SEND");
continue;
}
@@ -775,7 +775,7 @@ public class ScopeApplicationAdapter ext
} else {
Client rcl = sessionManager.getClientByStreamId(conn.getClient().getId(), null);
if (rcl != null) {
- if (rcl.getIsScreenClient() != null && rcl.getIsScreenClient()) {
+ if (rcl.isScreenClient()) {
// continue;
} else {
log.debug("is this users still alive? :" + rcl);
@@ -977,7 +977,7 @@ public class ScopeApplicationAdapter ext
Client rcl = sessionManager.getClientByStreamId(conn.getClient().getId(), null);
if (rcl == null) {
// continue;
- } else if (rcl.getIsScreenClient() != null && rcl.getIsScreenClient()) {
+ } else if (rcl.isScreenClient()) {
// continue;
} else {
if (rcl != currentClient) {
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/session/SessionManager.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/session/SessionManager.java?rev=1648401&r1=1648400&r2=1648401&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/session/SessionManager.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/session/SessionManager.java Mon Dec 29 18:15:05 2014
@@ -94,7 +94,7 @@ public class SessionManager implements I
rcm.setSwfurl(swfUrl);
rcm.setIsMod(new Boolean(false));
rcm.setCanDraw(new Boolean(false));
- rcm.setIsAVClient(isAVClient);
+ rcm.setAvClient(isAVClient);
if (cache.containsKey(null, streamId)) {
log.error("Tried to add an existing Client " + streamId);
@@ -134,7 +134,7 @@ public class SessionManager implements I
public Client getClientByPublicSID(String publicSID, boolean isAVClient, Server server) {
try {
for (Client rcl : cache.getClientsByPublicSID(server, publicSID)) {
- if (rcl.getIsAVClient() != isAVClient) {
+ if (rcl.isAvClient() != isAVClient) {
continue;
}
return rcl;
@@ -149,7 +149,7 @@ public class SessionManager implements I
try {
for (Entry<Long,List<Client>> entry : cache.getClientsByPublicSID(publicSID).entrySet()) {
for (Client rcl : entry.getValue()) {
- if (rcl.getIsAVClient() != isAVClient) {
+ if (rcl.isAvClient() != isAVClient) {
continue;
}
return new ClientSessionInfo(rcl, entry.getKey());
@@ -165,11 +165,11 @@ public class SessionManager implements I
try {
for (Client rcl : cache.getClientsByUserId(null, userId)) {
- if (rcl.getIsScreenClient() != null && rcl.getIsScreenClient()) {
+ if (rcl.isScreenClient()) {
continue;
}
- if (rcl.getIsAVClient()) {
+ if (rcl.isAvClient()) {
continue;
}
@@ -247,10 +247,10 @@ public class SessionManager implements I
for (Client rcl : cache.getClientsByRoomId(roomId)) {
- if (rcl.getIsScreenClient() == null || rcl.getIsScreenClient()) {
+ if (rcl.isScreenClient()) {
continue;
}
- if (rcl.getIsAVClient()) {
+ if (rcl.isAvClient()) {
continue;
}
Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java?rev=1648401&r1=1648400&r2=1648401&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java Mon Dec 29 18:15:05 2014
@@ -180,13 +180,13 @@ public class Client implements IDataProv
* @see Client#getIsScreenClient()
*/
@Column(name = "is_screenclient")
- private Boolean isScreenClient = false;
+ private boolean screenClient = false;
/**
* @see Client#getIsAVClient()
*/
@Column(name = "is_avclient")
- private boolean isAVClient = false;
+ private boolean avClient = false;
/**
* @see Client#getUsercolor()
@@ -403,7 +403,7 @@ public class Client implements IDataProv
this.user_id = user_id;
this.firstname = firstname;
this.lastname = lastname;
- this.isAVClient = isAVClient;
+ this.avClient = isAVClient;
this.username = username;
this.connectedSince = CalendarPatterns.parseDateWithHour(connectedSince);
this.scope = scope;
@@ -702,12 +702,12 @@ public class Client implements IDataProv
this.isSuperModerator = isSuperModerator;
}
- public Boolean getIsScreenClient() {
- return isScreenClient;
+ public boolean isScreenClient() {
+ return screenClient;
}
- public void setIsScreenClient(Boolean isScreenClient) {
- this.isScreenClient = isScreenClient;
+ public void setScreenClient(boolean screenClient) {
+ this.screenClient = screenClient;
}
public int getVWidth() {
@@ -822,12 +822,12 @@ public class Client implements IDataProv
this.allowRecording = allowRecording;
}
- public boolean getIsAVClient() {
- return isAVClient;
+ public boolean isAvClient() {
+ return avClient;
}
- public void setIsAVClient(boolean isAVClient) {
- this.isAVClient = isAVClient;
+ public void setAvClient(boolean avClient) {
+ this.avClient = avClient;
}
public boolean isStreamPublishStarted() {
@@ -856,8 +856,8 @@ public class Client implements IDataProv
@Override
public String toString() {
- return "Client [streamid=" + streamid + ", publicSID=" + publicSID + ", isScreenClient=" + isScreenClient
- + ", isAVClient=" + isAVClient + ", room_id=" + room_id + ", broadCastID=" + broadCastID + ", user_id="
+ return "Client [streamid=" + streamid + ", publicSID=" + publicSID + ", isScreenClient=" + screenClient
+ + ", isAVClient=" + avClient + ", room_id=" + room_id + ", broadCastID=" + broadCastID + ", user_id="
+ user_id + ", avsettings=" + avsettings + ", isRecording=" + isRecording + ", flvRecordingId="
+ flvRecordingId + ", flvRecordingMetaDataId=" + flvRecordingMetaDataId + ", screenPublishStarted="
+ screenPublishStarted + ", interviewPodId=" + interviewPodId + ", server=" + server + "]";
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java?rev=1648401&r1=1648400&r2=1648401&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java Mon Dec 29 18:15:05 2014
@@ -90,7 +90,7 @@ public class ConnectionsPanel extends Ad
, c.getServer() == null ? 0 : c.getServer().getId());
target.add(container, details.setVisible(false));
}
- }.setEnabled(!TRUE.equals(c.getIsScreenClient()) && !TRUE.equals(c.getIsAVClient())));
+ }.setEnabled(!c.isScreenClient() && !c.isAvClient()));
item.add(new AjaxEventBehavior("onclick") {
private static final long serialVersionUID = 1L;
Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java?rev=1648401&r1=1648400&r2=1648401&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java Mon Dec 29 18:15:05 2014
@@ -68,7 +68,7 @@ public class TestHashMapSession extends
rcm.setSwfurl("swfUrl");
rcm.setIsMod(new Boolean(false));
rcm.setCanDraw(new Boolean(false));
- rcm.setIsAVClient(false);
+ rcm.setAvClient(false);
if (cache.containsKey(null, streamId)) {
log.error("Tried to add an existing Client " + streamId);