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 2020/12/17 15:33:07 UTC
[openmeetings] branch master updated: [OPENMEETINGS-2239] sip room
count works better
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 5b9d87b [OPENMEETINGS-2239] sip room count works better
5b9d87b is described below
commit 5b9d87b2ddd38477478a55eff7d7c89e8c7d0693
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Thu Dec 17 22:32:53 2020 +0700
[OPENMEETINGS-2239] sip room count works better
---
.../main/java/org/apache/openmeetings/core/remote/KRoom.java | 6 +++---
.../java/org/apache/openmeetings/core/remote/KStream.java | 2 +-
.../org/apache/openmeetings/core/remote/KurentoHandler.java | 2 +-
.../java/org/apache/openmeetings/core/sip/SipManager.java | 12 ++++++++----
.../java/org/apache/openmeetings/web/app/TimerService.java | 2 +-
.../main/java/org/apache/openmeetings/web/room/raw-room.js | 2 +-
6 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
index 8caaaae..2062c5b 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
@@ -67,7 +67,7 @@ public class KRoom {
private final AtomicBoolean recordingStarted = new AtomicBoolean(false);
private final AtomicBoolean sharingStarted = new AtomicBoolean(false);
private Long recordingId = null;
- private int sipCount = 0;
+ private long sipCount = 0;
private JSONObject recordingUser = new JSONObject();
private JSONObject sharingUser = new JSONObject();
@@ -249,14 +249,14 @@ public class KRoom {
log.debug("Room {} closed", room.getId());
}
- public void updateSipCount(final int count) {
+ public void updateSipCount(final long count) {
if (count != sipCount) {
sipCount = count;
processor.getByRoom(room.getId()).forEach(stream -> stream.addSipProcessor(count));
}
}
- public int getSipCount() {
+ public long getSipCount() {
return sipCount;
}
}
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
index 20b2bb5..c7fb37a 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
@@ -488,7 +488,7 @@ public class KStream extends AbstractStream implements ISipCallbacks {
}
}
- void addSipProcessor(int count) {
+ void addSipProcessor(long count) {
if (count > 0) {
if (sipProcessor.isEmpty()) {
try {
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java
index 4dc8a07..1e8ebb4 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java
@@ -317,7 +317,7 @@ public class KurentoHandler {
return rooms.values();
}
- public void updateSipCount(Room r, int count) {
+ public void updateSipCount(Room r, long count) {
getRoom(r.getId()).updateSipCount(count);
}
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/sip/SipManager.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/sip/SipManager.java
index 391f551..ac8fc06 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/sip/SipManager.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/sip/SipManager.java
@@ -44,6 +44,7 @@ import org.asteriskjava.manager.action.DbPutAction;
import org.asteriskjava.manager.action.EventGeneratingAction;
import org.asteriskjava.manager.action.ManagerAction;
import org.asteriskjava.manager.action.OriginateAction;
+import org.asteriskjava.manager.event.ConfbridgeListEvent;
import org.asteriskjava.manager.response.ManagerError;
import org.asteriskjava.manager.response.ManagerResponse;
import org.slf4j.Logger;
@@ -194,14 +195,17 @@ public class SipManager implements ISipManager {
exec(da);
}
- public int countUsers(String confno) {
+ public long countUsers(String confno) {
if (confno != null) {
ConfbridgeListAction da = new ConfbridgeListAction(confno);
ResponseEvents r = execEvent(da);
if (r != null) {
- log.trace("SipManager::countUsers size == {}", r.getEvents().size());
- // "- 1" here means: ListComplete event
- return r.getEvents().size() - 1;
+ long count = r.getEvents().stream()
+ .filter(evt -> evt instanceof ConfbridgeListEvent)
+ .filter(evt -> !omSipUser.equals(evt.getCallerIdName()))
+ .count();
+ log.trace("SipManager::countUsers == {}", count);
+ return count;
}
}
return 0;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java
index bf9ca35..422755a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java
@@ -100,7 +100,7 @@ public class TimerService {
}
private void updateSipLastName(Optional<Client> sipClient, Room r) {
- int count = sipManager.countUsers(r.getConfno());
+ long count = sipManager.countUsers(r.getConfno());
final String newLastName = "(" + count + ")";
kHandler.updateSipCount(r, count);
sipClient.ifPresentOrElse(c -> {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-room.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-room.js
index a54e350..b54fbf6 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-room.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-room.js
@@ -121,7 +121,7 @@ var Room = (function() {
const sbW = _sbWidth()
, holder = $('.room-block');
($('.main.room')[0]).style.setProperty('--sidebar-width', sbW + 'px');
- if (sbW > 285) {
+ if (sbW > 236) {
holder.addClass('big').removeClass('narrow');
} else {
holder.removeClass('big').addClass('narrow');