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/02 03:10:46 UTC
[1/2] openmeetings git commit: [OPENMEETINGS-1677] more work on ws
messages
Repository: openmeetings
Updated Branches:
refs/heads/master a26bd3277 -> 1e298f779
[OPENMEETINGS-1677] more work on ws messages
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/468ba673
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/468ba673
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/468ba673
Branch: refs/heads/master
Commit: 468ba673effa8e8889e439b20ee905bd6c748310
Parents: a26bd32
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Wed Aug 2 10:03:48 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Wed Aug 2 10:04:36 2017 +0700
----------------------------------------------------------------------
.../openmeetings/core/util/WebSocketHelper.java | 52 +++++++++++++++-----
.../openmeetings/web/app/Application.java | 10 ++--
2 files changed, 48 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/468ba673/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
index a3ecad3..ab5b3a7 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
@@ -120,41 +120,65 @@ public class WebSocketHelper {
public static void send(IClusterWsMessage _m) {
if (_m instanceof WsMessageRoomMsg) {
- sendRoom(((WsMessageRoomMsg)_m).getMsg());
+ sendRoom(((WsMessageRoomMsg)_m).getMsg(), false);
} else if (_m instanceof WsMessageRoom) {
WsMessageRoom m = (WsMessageRoom)_m;
- sendRoom(m.getRoomId(), m.getMsg());
+ sendRoom(m.getRoomId(), m.getMsg(), false);
} else if (_m instanceof WsMessageChat) {
WsMessageChat m = (WsMessageChat)_m;
- sendRoom(m.getChatMessage(), m.getMsg());
+ sendRoom(m.getChatMessage(), m.getMsg(), false);
} else if (_m instanceof WsMessageUser) {
WsMessageUser m = (WsMessageUser)_m;
- sendUser(m.getUserId(), m.getMsg());
+ sendUser(m.getUserId(), m.getMsg(), false);
} else if (_m instanceof WsMessageAll) {
- sendAll(((WsMessageAll)_m).getMsg());
+ sendAll(((WsMessageAll)_m).getMsg(), false);
}
}
public static void sendRoom(final RoomMessage m) {
- publish(new WsMessageRoomMsg(m));
+ sendRoom(m, true);
+ }
+
+ protected static void sendRoom(final RoomMessage m, boolean publish) {
+ if (publish) {
+ publish(new WsMessageRoomMsg(m));
+ }
log.debug("Sending WebSocket message: {} {}", m.getType(), m instanceof TextRoomMessage ? ((TextRoomMessage)m).getText() : "");
sendRoom(m.getRoomId(), (t, c) -> t.sendMessage(m), null);
}
public static void sendRoom(final Long roomId, final JSONObject m) {
- publish(new WsMessageRoom(roomId, m));
+ sendRoom(roomId, m, true);
+ }
+
+ protected static void sendRoom(final Long roomId, final JSONObject m, boolean publish) {
+ if (publish) {
+ publish(new WsMessageRoom(roomId, m));
+ }
sendRoom(roomId, m, null, null);
}
public static void sendRoom(ChatMessage m, JSONObject msg) {
- publish(new WsMessageChat(m, msg));
+ sendRoom(m, msg, true);
+ }
+
+ protected static void sendRoom(ChatMessage m, JSONObject msg, boolean publish) {
+ if (publish) {
+ publish(new WsMessageChat(m, msg));
+ }
sendRoom(m.getToRoom().getId(), msg
, c -> !m.isNeedModeration() || (m.isNeedModeration() && c.hasRight(Right.moderator))
, null);
}
public static void sendUser(final Long userId, final String m) {
- publish(new WsMessageUser(userId, m));
+ sendUser(userId, m, true);
+ }
+
+ protected static void sendUser(final Long userId, final String m, boolean publish) {
+ if (publish) {
+ publish(new WsMessageUser(userId, m));
+ }
send(a -> ((IApplication)a).getOmClients(userId), (t, c) -> {
try {
t.sendMessage(m);
@@ -164,9 +188,15 @@ public class WebSocketHelper {
}, null);
}
- //TODO should this be unified???
public static void sendAll(final String m) {
- publish(new WsMessageAll(m));
+ sendAll(m, true);
+ }
+
+ //TODO should this be unified???
+ protected static void sendAll(final String m, boolean publish) {
+ if (publish) {
+ publish(new WsMessageAll(m));
+ }
Application app = Application.get(OpenmeetingsVariables.wicketApplicationName);
WebSocketSettings settings = WebSocketSettings.Holder.get(app);
IWebSocketConnectionRegistry reg = settings.getConnectionRegistry();
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/468ba673/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 13febec..07b05c9 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
@@ -212,12 +212,16 @@ public class Application extends AuthenticatedWebApplication implements IApplica
//check for duplicate instance-names
Set<String> names = new HashSet<>();
for (Member m : evt.getMembers()) {
- String serverId = evt.getMember().getStringAttribute(NAME_ATTR_KEY);
- if (names.contains(serverId)) {
- log.warn("Duplicate cluster instance with name {} found {}", serverId, m);
+ if (evt.getMember().getUuid().equals(m.getUuid())) {
+ continue;
}
+ String serverId = m.getStringAttribute(NAME_ATTR_KEY);
names.add(serverId);
}
+ String serverId = evt.getMember().getStringAttribute(NAME_ATTR_KEY);
+ if (names.contains(serverId)) {
+ log.warn("Duplicate cluster instance with name {} found {}", serverId, evt.getMember());
+ }
}
});
setPageManagerProvider(new DefaultPageManagerProvider(this) {
[2/2] openmeetings git commit: [OPENMEETINGS-1677] more work on ws
messages
Posted by so...@apache.org.
[OPENMEETINGS-1677] more work on ws messages
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/1e298f77
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/1e298f77
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/1e298f77
Branch: refs/heads/master
Commit: 1e298f7790a81a1ee4f2e3a721755ffc4327fec5
Parents: 468ba67
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Wed Aug 2 10:10:38 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Wed Aug 2 10:10:38 2017 +0700
----------------------------------------------------------------------
.../openmeetings/core/util/WebSocketHelper.java | 10 +++----
.../web/room/wb/WbWebSocketHelper.java | 30 ++++++++++++++++----
2 files changed, 29 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1e298f77/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
index ab5b3a7..0cff626 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/util/WebSocketHelper.java
@@ -139,7 +139,7 @@ public class WebSocketHelper {
sendRoom(m, true);
}
- protected static void sendRoom(final RoomMessage m, boolean publish) {
+ private static void sendRoom(final RoomMessage m, boolean publish) {
if (publish) {
publish(new WsMessageRoomMsg(m));
}
@@ -151,7 +151,7 @@ public class WebSocketHelper {
sendRoom(roomId, m, true);
}
- protected static void sendRoom(final Long roomId, final JSONObject m, boolean publish) {
+ private static void sendRoom(final Long roomId, final JSONObject m, boolean publish) {
if (publish) {
publish(new WsMessageRoom(roomId, m));
}
@@ -162,7 +162,7 @@ public class WebSocketHelper {
sendRoom(m, msg, true);
}
- protected static void sendRoom(ChatMessage m, JSONObject msg, boolean publish) {
+ private static void sendRoom(ChatMessage m, JSONObject msg, boolean publish) {
if (publish) {
publish(new WsMessageChat(m, msg));
}
@@ -175,7 +175,7 @@ public class WebSocketHelper {
sendUser(userId, m, true);
}
- protected static void sendUser(final Long userId, final String m, boolean publish) {
+ private static void sendUser(final Long userId, final String m, boolean publish) {
if (publish) {
publish(new WsMessageUser(userId, m));
}
@@ -193,7 +193,7 @@ public class WebSocketHelper {
}
//TODO should this be unified???
- protected static void sendAll(final String m, boolean publish) {
+ private static void sendAll(final String m, boolean publish) {
if (publish) {
publish(new WsMessageAll(m));
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1e298f77/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbWebSocketHelper.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbWebSocketHelper.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbWebSocketHelper.java
index 13e3ae3..a96081f 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbWebSocketHelper.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbWebSocketHelper.java
@@ -42,25 +42,37 @@ public class WbWebSocketHelper extends WebSocketHelper {
if (_m instanceof WsMessageWb) {
WsMessageWb m = (WsMessageWb)_m;
if (m.getUid() == null) {
- sendWbAll(m.getRoomId(), m.getMeth(), m.getObj());
+ sendWbAll(m.getRoomId(), m.getMeth(), m.getObj(), false);
} else {
- sendWbOthers(m.getRoomId(), m.getMeth(), m.getObj(), m.getUid());
+ sendWbOthers(m.getRoomId(), m.getMeth(), m.getObj(), m.getUid(), false);
}
} else if (_m instanceof WsMessageWbFile) {
WsMessageWbFile m = (WsMessageWbFile)_m;
- sendWbFile(m.getRoomId(), m.getWbId(), m.getRoomUid(), m.getFile(), m.getFileItem());
+ sendWbFile(m.getRoomId(), m.getWbId(), m.getRoomUid(), m.getFile(), m.getFileItem(), false);
} else {
WebSocketHelper.send(_m);
}
}
public static void sendWbAll(Long roomId, WbAction meth, JSONObject obj) {
- publish(new WsMessageWb(roomId, meth, obj, null));
+ sendWbAll(roomId, meth, obj, true);
+ }
+
+ private static void sendWbAll(Long roomId, WbAction meth, JSONObject obj, boolean publish) {
+ if (publish) {
+ publish(new WsMessageWb(roomId, meth, obj, null));
+ }
sendWb(roomId, meth, obj, null);
}
public static void sendWbOthers(Long roomId, WbAction meth, JSONObject obj, final String uid) {
- publish(new WsMessageWb(roomId, meth, obj, uid));
+ sendWbOthers(roomId, meth, obj, uid, true);
+ }
+
+ private static void sendWbOthers(Long roomId, WbAction meth, JSONObject obj, final String uid, boolean publish) {
+ if (publish) {
+ publish(new WsMessageWb(roomId, meth, obj, uid));
+ }
sendWb(roomId, meth, obj, c -> !uid.equals(c.getUid()));
}
@@ -103,7 +115,13 @@ public class WbWebSocketHelper extends WebSocketHelper {
}
public static void sendWbFile(Long roomId, long wbId, String ruid, JSONObject file, FileItem fi) {
- publish(new WsMessageWbFile(roomId, wbId, ruid, file, fi));
+ sendWbFile(roomId, wbId, ruid, file, fi, true);
+ }
+
+ private static void sendWbFile(Long roomId, long wbId, String ruid, JSONObject file, FileItem fi, boolean publish) {
+ if (publish) {
+ publish(new WsMessageWbFile(roomId, wbId, ruid, file, fi));
+ }
WebSocketHelper.sendRoom(
roomId
, new JSONObject().put("type", "wb")