[openmeetings] branch master updated: [OPENMEETINGS-1836] more work on performance: micActivity
This is an automated email from the ASF dual-hosted git repository. solomax pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/openmeetings.git The following commit(s) were added to refs/heads/master by this push: new 09340dc [OPENMEETINGS-1836] more work on performance: micActivity 09340dc is described below commit 09340dc0bffd6be2b10261d25aeb2c68164b0e3c Author: Maxim Solodovnik AuthorDate: Fri Mar 30 00:28:55 2018 +0700 [OPENMEETINGS-1836] more work on performance: micActivity --- .../core/remote/ScopeApplicationAdapter.java | 7 +-- .../apache/openmeetings/db/manager/IClientManager.java | 1 + .../org/apache/openmeetings/db/util/ws/RoomMessage.java | 1 - .../org/apache/openmeetings/web/app/ClientManager.java | 8 .../java/org/apache/openmeetings/web/room/RoomPanel.java | 13 - .../java/org/apache/openmeetings/web/room/room-base.js | 3 +++ .../org/apache/openmeetings/web/room/video-manager.js| 16 +--- 7 files changed, 30 insertions(+), 19 deletions(-) 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 9a9c0ac..36985fe 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 @@ -938,8 +938,11 @@ public class ScopeApplicationAdapter /*extends MultiThreadedApplicationAdapter i public void micActivity(boolean active) { IConnection current = Red5.getConnectionLocal(); StreamClient client = streamClientManager.get(IClientUtil.getId(current.getClient())); - WebSocketHelper.sendRoom(new TextRoomMessage(client.getRoomId(), client, RoomMessage.Type.audioActivity - , new JSONObject().put("sid", client.getSid()).put("active", active).toString())); + WebSocketHelper.sendRoom(client.getRoomId(), new JSONObject() + .put("type", "mic") + .put("id", "activity") + .put("uid", clientManager.uidBySid(client.getSid())) + .put("active", active)); } /* diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/manager/IClientManager.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/manager/IClientManager.java index 037e4e6..5535ecc 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/manager/IClientManager.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/manager/IClientManager.java @@ -28,6 +28,7 @@ import org.apache.openmeetings.db.entity.basic.IClient; public interface IClientManager { Client get(String uid); Client getBySid(String sid); + String uidBySid(String sid); List listByRoom(Long roomId); Collection listByUser(Long userId); Client update(Client c); diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ws/RoomMessage.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ws/RoomMessage.java index 3c57781..5bd5b79 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ws/RoomMessage.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ws/RoomMessage.java @@ -55,7 +55,6 @@ public class RoomMessage implements IWebSocketPushMessage { , kick , newStream , closeStream - , audioActivity //user speaks , mute , exclusive , quickPollUpdated diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java index a81591d..45e9ad7 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java @@ -115,6 +115,14 @@ public class ClientManager implements IClientManager { return uid == null ? null : get(uid); } + @Override + public String uidBySid(String sid) { + if (sid == null) { + return null; + } + return mapBySid().get(sid); + } + public void exitRoom(IClient c) { Long roomId = c.getRoomId(); removeFromRoom(c); 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 8bb95a0..a0464ad 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room
[openmeetings] branch master updated: [OPENMEETINGS-1836] more work on performance
This is an automated email from the ASF dual-hosted git repository. solomax pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/openmeetings.git The following commit(s) were added to refs/heads/master by this push: new 1ca1bc5 [OPENMEETINGS-1836] more work on performance 1ca1bc5 is described below commit 1ca1bc545634bc755c48c29556a4d8ea78940d8c Author: Maxim Solodovnik AuthorDate: Wed Mar 7 14:06:54 2018 +0700 [OPENMEETINGS-1836] more work on performance --- .../apache/openmeetings/web/app/ClientManager.java | 11 +- .../apache/openmeetings/web/room/RoomPanel.html| 3 - .../apache/openmeetings/web/room/RoomPanel.java| 136 +++-- .../openmeetings/web/room/sidebar/RoomSidebar.java | 5 +- .../web/room/sidebar/icon/ClientIcon.java | 10 +- .../web/room/sidebar/icon/KickIcon.java| 2 +- .../room/sidebar/icon/right/AudioRightIcon.java| 2 +- .../sidebar/icon/right/ModeratorRightIcon.java | 4 +- .../sidebar/icon/right/PresenterRightIcon.java | 4 +- .../sidebar/icon/right/RemoteControlRightIcon.java | 2 +- .../web/room/sidebar/icon/right/RoomRightIcon.java | 6 +- .../sidebar/icon/right/ScreenShareRightIcon.java | 2 +- .../room/sidebar/icon/right/VideoRightIcon.java| 2 +- .../sidebar/icon/right/WhiteboardRightIcon.java| 4 +- 14 files changed, 106 insertions(+), 87 deletions(-) diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java index c1ca3d0..df177c8 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java @@ -134,7 +134,13 @@ public class ClientManager implements IClientManager { return getRooms().keySet(); } - public Client addToRoom(Client c) { + /** +* This method will return count of users in room _after_ adding +* +* @param c - client to be added to the room +* @return count of users in room _after_ adding +*/ + public int addToRoom(Client c) { Long roomId = c.getRoom().getId(); log.debug("Adding online room client: {}, room: {}", c.getUid(), roomId); IMap> rooms = getRooms(); @@ -142,10 +148,11 @@ public class ClientManager implements IClientManager { rooms.putIfAbsent(roomId, new ConcurrentHashSet()); Set set = rooms.get(roomId); set.add(c.getUid()); + final int count = set.size(); rooms.put(roomId, set); rooms.unlock(roomId); update(c); - return c; + return count; } public IClient removeFromRoom(IClient _c) { diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html index 5b66475..d6c38c8 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html @@ -85,8 +85,5 @@ - - OmUtil.sendMessage({area: 'room', type: 'room', action: 'roomEnter'}); - 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 f6942a3..1ce716a 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 @@ -72,6 +72,7 @@ import org.apache.openmeetings.web.room.wb.WbPanel; import org.apache.openmeetings.web.util.ExtendedClientProperties; import org.apache.wicket.AttributeModifier; import org.apache.wicket.Component; +import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation; import org.apache.wicket.core.request.handler.IPartialPageRequestHandler; @@ -79,6 +80,7 @@ import org.apache.wicket.event.IEvent; import org.apache.wicket.extensions.ajax.AjaxDownloadBehavior; import org.apache.wicket.markup.head.IHeaderResponse; import org.apache.wicket.markup.head.JavaScriptHeaderItem; +import org.apache.wicket.markup.head.OnDomReadyHeaderItem; import org.apache.wicket.markup.head.PriorityHeaderItem; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.protocol.ws.api.event.WebSocketPushPayload; @@ -114,6 +116,69 @@ public class RoomPanel extends BasePanel { private final Room r; private final boolean intervi