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