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/28 17:45:02 UTC
openmeetings git commit: [OPENMEETINGS-1644] check is added to client
AV create/update
Repository: openmeetings
Updated Branches:
refs/heads/master 86b3ccca8 -> b62b8abca
[OPENMEETINGS-1644] check is added to client AV create/update
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/b62b8abc
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/b62b8abc
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/b62b8abc
Branch: refs/heads/master
Commit: b62b8abcab5f6d5bf2b1327ffb80478a021b5ad0
Parents: 86b3ccc
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Tue Aug 29 00:44:51 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Tue Aug 29 00:44:51 2017 +0700
----------------------------------------------------------------------
.../core/remote/ScopeApplicationAdapter.java | 13 +++-
.../openmeetings/db/dto/room/CheckDto.java | 74 ++++++++++++++++++++
.../openmeetings/db/entity/basic/Client.java | 14 ++--
openmeetings-flash/src/main/flex/main.mxml | 49 ++++++++-----
.../flex/org/apache/openmeetings/OmVideo.as | 2 +-
.../installation/ImportInitvalues.java | 2 +-
.../web/admin/connection/ConnectionsPanel.java | 2 +-
.../openmeetings/web/app/Application.java | 43 ++++++------
.../openmeetings/web/room/RoomBroadcaster.java | 2 +-
.../apache/openmeetings/web/room/RoomPanel.java | 4 +-
.../web/room/RoomResourceReference.java | 14 ++--
.../web/room/activities/ActivitiesPanel.java | 2 +-
.../web/room/menu/RoomMenuPanel.java | 2 +-
.../web/room/menu/StartSharingButton.java | 6 +-
.../org/apache/openmeetings/web/room/room.js | 2 +-
.../user/record/RecordingResourceReference.java | 4 +-
16 files changed, 168 insertions(+), 67 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
index 2e81761..5804cf9 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
@@ -57,6 +57,7 @@ import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.room.SipDao;
import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.dto.room.CheckDto;
import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.log.ConferenceLog;
import org.apache.openmeetings.db.entity.room.Room;
@@ -500,7 +501,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
}
if (Client.Type.sip == c.getType()) {
IApplication iapp = (IApplication)Application.get(wicketApplicationName);
- org.apache.openmeetings.db.entity.basic.Client cl = iapp.getOmOnlineClient(c.getUid());
+ Client cl = iapp.getOmClientBySid(c.getOwnerSid());
String newNumber = getSipTransportLastname(c.getRoomId());
cl.getUser().setLastname(newNumber);
c.setLastname(newNumber);
@@ -1149,7 +1150,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
_log.debug("getSipConferenceMembersNumber: " + newNumber);
if (!newNumber.equals(client.getLastname())) {
IApplication iapp = (IApplication)Application.get(wicketApplicationName);
- Client cl = iapp.getOmOnlineClient(client.getUid());
+ Client cl = iapp.getOmClientBySid(client.getOwnerSid());
cl.getUser().setLastname(newNumber);
client.setLastname(newNumber);
sessionManager.update(client);
@@ -1164,4 +1165,12 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
public JSONObject getFlashSettings() {
return flashSettings;
}
+
+ public CheckDto check() {
+ IConnection current = Red5.getConnectionLocal();
+ StreamClient c = sessionManager.get(IClientUtil.getId(current.getClient()));
+ IApplication iapp = (IApplication)Application.get(wicketApplicationName);
+ Client cl = iapp.getOmClientBySid(c.getOwnerSid());
+ return new CheckDto(cl);
+ }
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/CheckDto.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/CheckDto.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/CheckDto.java
new file mode 100644
index 0000000..1ef1d2b
--- /dev/null
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/CheckDto.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.db.dto.room;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.openmeetings.db.entity.basic.Client;
+import org.apache.openmeetings.db.entity.basic.Client.Activity;
+import org.apache.openmeetings.db.entity.basic.Client.Pod;
+import org.apache.openmeetings.db.entity.room.Room;
+
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class CheckDto {
+ private final long roomId;
+ private final Room.Type roomType;
+ private final boolean audioOnly;
+ private final Set<Activity> activities = new HashSet<>();
+ private final Pod pod;
+
+ public CheckDto(Client c) {
+ roomId = c.getRoom().getId();
+ roomType = c.getRoom().getType();
+ audioOnly = c.getRoom().isAudioOnly();
+ if (c.hasActivity(Activity.broadcastA)) {
+ activities.add(Activity.broadcastA);
+ }
+ if (c.hasActivity(Activity.broadcastV)) {
+ activities.add(Activity.broadcastV);
+ }
+ pod = c.getPod();
+ }
+
+ public long getRoomId() {
+ return roomId;
+ }
+
+ public Room.Type getRoomType() {
+ return roomType;
+ }
+
+ public boolean isAudioOnly() {
+ return audioOnly;
+ }
+
+ public Set<Activity> getActivities() {
+ return activities;
+ }
+
+ public Pod getPod() {
+ return pod;
+ }
+}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
index 1be2209..b8856dc 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
@@ -29,6 +29,7 @@ import java.util.UUID;
import java.util.stream.Collectors;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.room.Room.Right;
import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.db.entity.user.User;
@@ -122,7 +123,7 @@ public class Client implements IClient {
private final String sessionId;
private int pageId;
private User user;
- private Long roomId;
+ private Room room;
private final String uid;
private final String sid;
private String remoteAddress;
@@ -153,7 +154,6 @@ public class Client implements IClient {
this.connectedSince = new Date();
uid = rcl.getUid();
sid = rcl.getOwnerSid();
- this.roomId = rcl.getRoomId();
this.remoteAddress = rcl.getUserip();
}
@@ -327,12 +327,12 @@ public class Client implements IClient {
public void setId(Long id) {
}
- public Long getRoomId() {
- return roomId;
+ public Room getRoom() {
+ return room;
}
- public Client setRoomId(Long roomId) {
- this.roomId = roomId;
+ public Client setRoom(Room room) {
+ this.room = room;
return this;
}
@@ -480,7 +480,7 @@ public class Client implements IClient {
@Override
public String toString() {
- return "Client [uid=" + uid + ", sessionId=" + sessionId + ", pageId=" + pageId + ", userId=" + user.getId() + ", roomId=" + roomId
+ return "Client [uid=" + uid + ", sessionId=" + sessionId + ", pageId=" + pageId + ", userId=" + user.getId() + ", room=" + (room == null ? null : room.getId())
+ ", rights=" + rights + ", activities=" + activities + ", connectedSince=" + connectedSince + ", pod = " + pod + "]";
}
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-flash/src/main/flex/main.mxml
----------------------------------------------------------------------
diff --git a/openmeetings-flash/src/main/flex/main.mxml b/openmeetings-flash/src/main/flex/main.mxml
index c12080e..4cb13ea 100644
--- a/openmeetings-flash/src/main/flex/main.mxml
+++ b/openmeetings-flash/src/main/flex/main.mxml
@@ -139,30 +139,43 @@
selectedCam = params.cam;
selectedMic = params.mic;
video.resize(Math.max(300, params.width), Math.max(200, params.height));
- ExternalInterface.addCallback("update", function (c:Object):void {
- if (_hasVideo(c.activities) && hasVideo()) {
- _hasAudio(c.activities) ? video.unmute() : video.mute();
- }
- if (mic != null) {
- activityTimer.start();
- } else {
- activityTimer.stop();
- }
- activities = c.activities;
- //debug("Client updated: ", c);
+ ExternalInterface.addCallback("update", function ():void {
+ video.getNc().call("check", new Responder(function (check:Object):void {
+ debug("check", check);
+ if (_hasVideo(check.activities) && hasVideo()) {
+ _hasAudio(check.activities) ? video.unmute() : video.mute();
+ }
+ if (mic != null) {
+ activityTimer.start();
+ } else {
+ activityTimer.stop();
+ }
+ activities = check.activities;
+ //debug("Client updated: ", c);
+ }));
});
ExternalInterface.addCallback("setVolume", function (vol:int):void {
if (hasAudio()) {
video.setVolume(vol);
}
});
- attachCamera(function ():void {
- addImage(params.width, params.height);
- video.resize(params.width, params.height);
- activityTimer.addEventListener(TimerEvent.TIMER, broadcastTimerListener);
- refreshBroadcast();
- ExternalInterface.call("VideoManager.securityMode", params.uid, false);
- ExternalInterface.addCallback("refresh", refreshBroadcast);
+ video.connect(function ():void {
+ debug("Going to call :: check", video.getNc());
+ // trust no-one
+ video.getNc().call("check", new Responder(function (check:Object):void {
+ debug("check", check);
+ audioOnly = check.audioOnly;
+ activities = check.activities;
+ interview = 'interview' == check.roomType;
+ attachCamera(function ():void {
+ addImage(params.width, params.height);
+ video.resize(params.width, params.height);
+ activityTimer.addEventListener(TimerEvent.TIMER, broadcastTimerListener);
+ refreshBroadcast();
+ ExternalInterface.call("VideoManager.securityMode", params.uid, false);
+ ExternalInterface.addCallback("refresh", refreshBroadcast);
+ });
+ }))
});
}
break;
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-flash/src/main/flex/org/apache/openmeetings/OmVideo.as
----------------------------------------------------------------------
diff --git a/openmeetings-flash/src/main/flex/org/apache/openmeetings/OmVideo.as b/openmeetings-flash/src/main/flex/org/apache/openmeetings/OmVideo.as
index 659c7dc..fc85c58 100644
--- a/openmeetings-flash/src/main/flex/org/apache/openmeetings/OmVideo.as
+++ b/openmeetings-flash/src/main/flex/org/apache/openmeetings/OmVideo.as
@@ -225,7 +225,7 @@ public class OmVideo {
});
}
- private function connect(callback:Function):void {
+ public function connect(callback:Function):void {
if (nc == null || !nc.connected) {
url = params.url;
debug("NetConnection is not connected", url);
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
----------------------------------------------------------------------
diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
index 92b5859..2257df8 100644
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
@@ -477,7 +477,7 @@ public class ImportInitvalues {
// ------------------------------------------------------------------------------
- public void loadSystem(InstallationConfig cfg, boolean force) throws Exception {
+ public void loadSystem(InstallationConfig cfg, boolean force) {
// FIXME dummy check if installation was performed before
if (!force && userDao.count() > 0) {
log.debug("System contains users, no need to install data one more time.");
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
index 52213b3..5bbf401 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
@@ -113,7 +113,7 @@ public class ConnectionsPanel extends AdminPanel {
item.add(new Label("type", "html5"));
item.add(new Label("login", c.getUser().getLogin()));
item.add(new Label("since", c.getConnectedSince()));
- item.add(new Label("scope", c.getRoomId() == null ? "html5" : "" + c.getRoomId()));
+ item.add(new Label("scope", c.getRoom() == null ? "html5" : "" + c.getRoom().getId()));
}
item.add(new Label("server", _c.getServerId()));
item.add(confirm);
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index 9641bdc..445932a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -53,6 +53,7 @@ import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.label.LabelDao;
import org.apache.openmeetings.db.dao.log.ConferenceLogDao;
+import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.dto.room.Whiteboards;
@@ -372,22 +373,22 @@ public class Application extends AuthenticatedWebApplication implements IApplica
}
public static void addOnlineUser(Client c) {
- log.debug("Adding online client: {}, room: {}", c.getUid(), c.getRoomId());
+ log.debug("Adding online client: {}, room: {}", c.getUid(), c.getRoom());
c.setServerId(get().getServerId());
get().getOnlineUsers().put(c.getUid(), c);
get().getUidBySid().put(c.getSid(), c.getUid());
}
public static void exitRoom(Client c) {
- Long roomId = c.getRoomId();
+ Room room = c.getRoom();
removeUserFromRoom(c);
- if (roomId != null) {
- sendRoom(new RoomMessage(roomId, c.getUserId(), RoomMessage.Type.roomExit));
+ if (room != null) {
+ sendRoom(new RoomMessage(room.getId(), c.getUserId(), RoomMessage.Type.roomExit));
getBean(ConferenceLogDao.class).add(
ConferenceLog.Type.roomLeave
- , c.getUserId(), "0", roomId
+ , c.getUserId(), "0", room.getId()
, c.getRemoteAddress()
- , "" + roomId);
+ , "" + room);
}
}
@@ -400,10 +401,10 @@ public class Application extends AuthenticatedWebApplication implements IApplica
private static void exit(Client c) {
if (c != null) {
- if (c.getRoomId() != null) {
+ if (c.getRoom() != null) {
exitRoom(c);
}
- log.debug("Removing online client: {}, room: {}", c.getUid(), c.getRoomId());
+ log.debug("Removing online client: {}, room: {}", c.getUid(), c.getRoom());
get().getOnlineUsers().remove(c.getUid());
get().getUidBySid().remove(c.getSid());
}
@@ -435,9 +436,10 @@ public class Application extends AuthenticatedWebApplication implements IApplica
if (rcl.getRoomId() != null) {
client.setCam(0);
client.setMic(0);
+ client.setRoom(getBean(RoomDao.class).get(rcl.getRoomId()));
addUserToRoom(client);
//FIXME TODO unify this
- WebSocketHelper.sendRoom(new RoomMessage(client.getRoomId(), client.getUserId(), RoomMessage.Type.roomEnter));
+ WebSocketHelper.sendRoom(new RoomMessage(client.getRoom().getId(), client.getUserId(), RoomMessage.Type.roomEnter));
}
//FIXME TODO rights
} else if (client == null && Client.Type.sip == rcl.getType()) {
@@ -456,12 +458,12 @@ public class Application extends AuthenticatedWebApplication implements IApplica
client.set(Activity.broadcastA);
addUserToRoom(client);
//FIXME TODO unify this
- WebSocketHelper.sendRoom(new RoomMessage(client.getRoomId(), client.getUserId(), RoomMessage.Type.roomEnter));
+ WebSocketHelper.sendRoom(new RoomMessage(client.getRoom().getId(), client.getUserId(), RoomMessage.Type.roomEnter));
} else {
return null;
}
}
- if (rcl.getRoomId() == null || !rcl.getRoomId().equals(client.getRoomId())) {
+ if (rcl.getRoomId() == null || !rcl.getRoomId().equals(client.getRoom().getId())) {
//TODO mobile
return null;
}
@@ -594,25 +596,26 @@ public class Application extends AuthenticatedWebApplication implements IApplica
}
public static Client addUserToRoom(Client c) {
- log.debug("Adding online room client: {}, room: {}", c.getUid(), c.getRoomId());
+ Long roomId = c.getRoom().getId();
+ log.debug("Adding online room client: {}, room: {}", c.getUid(), roomId);
Map<Long, Set<String>> rooms = get().getRooms();
- rooms.putIfAbsent(c.getRoomId(), new ConcurrentHashSet<String>());
- Set<String> set = rooms.get(c.getRoomId());
+ rooms.putIfAbsent(roomId, new ConcurrentHashSet<String>());
+ Set<String> set = rooms.get(roomId);
set.add(c.getUid());
- rooms.put(c.getRoomId(), set);
+ rooms.put(roomId, set);
update(c);
return c;
}
public static Client removeUserFromRoom(Client c) {
- Long roomId = c.getRoomId();
- log.debug("Removing online room client: {}, room: {}", c.getUid(), roomId);
- if (roomId != null) {
- Set<String> clients = get().getRooms().get(roomId);
+ Room room = c.getRoom();
+ log.debug("Removing online room client: {}, room: {}", c.getUid(), room);
+ if (room != null) {
+ Set<String> clients = get().getRooms().get(room.getId());
if (clients != null) {
clients.remove(c.getUid());
}
- getBean(ScopeApplicationAdapter.class).roomLeaveByScope(c.getUid(), roomId);
+ getBean(ScopeApplicationAdapter.class).roomLeaveByScope(c.getUid(), room.getId());
c.clear();
update(c);
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java
index e24f26c..ad70601 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomBroadcaster.java
@@ -56,7 +56,7 @@ public class RoomBroadcaster {
log.debug("----------- sendUpdatedClient ");
// Notify all clients of the same scope (room)
update(client);
- broadcast(client.getRoomId(), "clientUpdated", rcl);
+ broadcast(client.getRoom().getId(), "clientUpdated", rcl);
if (rcl == null) {
return;
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index ed6f9bc..6c5b450 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -591,7 +591,7 @@ public class RoomPanel extends BasePanel {
if (room.isVisible()) {
//We are setting initial rights here
Client c = getClient();
- addUserToRoom(c.setRoomId(getRoom().getId()));
+ addUserToRoom(c.setRoom(getRoom()));
SOAPLogin soap = WebSession.get().getSoapLogin();
if (soap != null && soap.isModerator()) {
c.allow(Right.superModerator);
@@ -747,7 +747,7 @@ public class RoomPanel extends BasePanel {
}
public void kickUser(Client client) {
- WebSocketHelper.sendRoom(new TextRoomMessage(client.getRoomId(), client.getUserId(), Type.kick, client.getUid()));
+ WebSocketHelper.sendRoom(new TextRoomMessage(client.getRoom().getId(), client.getUserId(), Type.kick, client.getUid()));
}
public void broadcast(Client client) {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
index aaf2acb..b549580 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
@@ -102,12 +102,14 @@ public class RoomResourceReference extends FileItemResourceReference<FileExplore
FileExplorerItem f = getBean(FileExplorerItemDao.class).get(id);
String ruid = params.get("ruid").toString();
String wuid = params.get("wuid").toString();
- Whiteboards wbs = WhiteboardCache.get(c.getRoomId());
- if (!Strings.isEmpty(wuid) && !Strings.isEmpty(ruid) && ruid.equals(wbs.getUid())) {
- for (Entry<Long, Whiteboard> e : wbs.getWhiteboards().entrySet()) {
- JSONObject file = e.getValue().get(wuid);
- if (file != null && f.getId().equals(file.optLong("fileId"))) {
- return f; // item IS on WB
+ if (c.getRoom() != null) {
+ Whiteboards wbs = WhiteboardCache.get(c.getRoom().getId());
+ if (!Strings.isEmpty(wuid) && !Strings.isEmpty(ruid) && ruid.equals(wbs.getUid())) {
+ for (Entry<Long, Whiteboard> e : wbs.getWhiteboards().entrySet()) {
+ JSONObject file = e.getValue().get(wuid);
+ if (file != null && f.getId().equals(file.optLong("fileId"))) {
+ return f; // item IS on WB
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
index 5389047..ceff299 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
@@ -95,7 +95,7 @@ public class ActivitiesPanel extends BasePanel {
break;
case accept:
Client client = getOnlineClient(a.getUid());
- if (room.getClient().hasRight(Right.moderator) && client != null && roomId == client.getRoomId()) {
+ if (room.getClient().hasRight(Right.moderator) && client != null && client.getRoom() != null && roomId == client.getRoom().getId()) {
switch (a.getType()) {
case reqRightModerator:
sendRoom(new TextRoomMessage(room.getRoom().getId(), getUserId(), RoomMessage.Type.activityRemove, id));
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/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 0b440c9..b0bf3b2 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
@@ -89,7 +89,7 @@ public class RoomMenuPanel extends Panel {
@Override
public void onClick(AjaxRequestTarget target) {
Client c = room.getClient();
- WebSocketHelper.sendRoom(new TextRoomMessage(c.getRoomId(), c.getUserId(), Type.haveQuestion, c.getUid()));
+ WebSocketHelper.sendRoom(new TextRoomMessage(c.getRoom().getId(), c.getUserId(), Type.haveQuestion, c.getUid()));
}
};
private final RoomPanel room;
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/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 2a2a15e..3efae15 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
@@ -78,7 +78,7 @@ public class StartSharingButton extends OmButton {
@Override
protected IResourceStream getResourceStream(Attributes attributes) {
- setFileName(String.format("public_%s.jnlp", getOnlineClient(uid).getRoomId()));
+ setFileName(String.format("public_%s.jnlp", getOnlineClient(uid).getRoom().getId()));
StringResourceStream srs = new StringResourceStream(app, "application/x-java-jnlp-file");
srs.setCharset(UTF_8);
return srs;
@@ -94,9 +94,9 @@ public class StartSharingButton extends OmButton {
app = IOUtils.toString(jnlp, UTF_8);
Client c = getOnlineClient(uid);
String sid = c.getSid();
- JSONObject s = VideoSettings.getInitJson(WebSession.get().getExtendedProperties(), "" + c.getRoomId(), sid);
+ long roomId = c.getRoom().getId();
+ JSONObject s = VideoSettings.getInitJson(WebSession.get().getExtendedProperties(), "" + roomId, sid);
String _url = s.getString(VideoSettings.URL);
- long roomId = c.getRoomId();
Room room = getBean(RoomDao.class).get(roomId);
ISessionManager sessionManager = getBean(ISessionManager.class);
app = app.replace("$native", "" + s.getBoolean(FLASH_NATIVE_SSL))
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
index 280d817..37bfe91 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
@@ -311,7 +311,7 @@ var Video = (function() {
v.parent().find('.dropdown-menu.video.volume').hide();
}
if (c.self && swf[0].update !== undefined) {
- swf[0].update(c);
+ swf[0].update();
}
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b62b8abc/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
index 8a0e9a0..c68ee6d 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
@@ -93,8 +93,8 @@ public abstract class RecordingResourceReference extends FileItemResourceReferen
return r;
}
Client c = getOnlineClient(uid);
- if (c != null) {
- Whiteboards wbs = WhiteboardCache.get(c.getRoomId());
+ if (c != null && c.getRoom() != null) {
+ Whiteboards wbs = WhiteboardCache.get(c.getRoom().getId());
if (wbs != null && !Strings.isEmpty(ruid) && ruid.equals(wbs.getUid())) {
for (Entry<Long, Whiteboard> e : wbs.getWhiteboards().entrySet()) {
if (e.getValue().contains(r.getHash())) {