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 6c10aaf [OPENMEETINGS-2202] NPE should be fixed
6c10aaf is described below
commit 6c10aaf6fee0b751427c25e4dfb73547d0257afc
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Mon Mar 30 22:38:54 2020 +0700
[OPENMEETINGS-2202] NPE should be fixed
---
.../main/java/org/apache/openmeetings/db/entity/basic/Client.java | 8 ++++++--
.../main/java/org/apache/openmeetings/web/app/ClientManager.java | 8 ++++----
.../src/main/java/org/apache/openmeetings/web/room/RoomPanel.java | 2 +-
3 files changed, 11 insertions(+), 7 deletions(-)
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 bf28cf1..bd52e33 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
@@ -109,7 +109,11 @@ public class Client implements IDataProviderEntity,
IWsClient {
}
public Long getUserId() {
- return user.getId();
+ return user == null ? null : user.getId();
+ }
+
+ public boolean sameUserId(Long userId) {
+ return getUserId() == null ? false : getUserId().equals(userId);
}
public String getPictureUri() {
@@ -437,7 +441,7 @@ public class Client implements IDataProviderEntity,
IWsClient {
@Override
public String toString() {
- return "Client [uid=" + uid + ", sessionId=" + sessionId + ",
pageId=" + pageId + ", userId=" + user.getId() + ", room=" + (room == null ?
null : room.getId())
+ return "Client [uid=" + uid + ", sessionId=" + sessionId + ",
pageId=" + pageId + ", userId=" + getUserId() + ", room=" + getRoomId()
+ ", rights=" + rights + ", sactivities=" +
activities + ", connectedSince=" + connectedSince + "]";
}
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 598ead2..6a5239e 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
@@ -279,7 +279,7 @@ public class ClientManager implements IClientManager {
public boolean isOnline(Long userId) {
boolean isUserOnline = false;
for (Map.Entry<String, Client> e : map().entrySet()) {
- if (e.getValue().getUserId().equals(userId)) {
+ if (e.getValue().sameUserId(userId)) {
isUserOnline = true;
break;
}
@@ -323,7 +323,7 @@ public class ClientManager implements IClientManager {
for (Entry<Long, Set<String>> me : onlineRooms.entrySet()) {
for (String uid : me.getValue()) {
Client c = get(uid);
- if (c != null && c.getUserId().equals(userId)) {
+ if (c != null && c.sameUserId(userId)) {
result.add(me.getKey());
}
}
@@ -336,7 +336,7 @@ public class ClientManager implements IClientManager {
if (clients != null) {
for (String uid : clients) {
Client c = get(uid);
- if (c != null && c.getUserId().equals(userId)) {
+ if (c != null && c.sameUserId(userId)) {
return true;
}
}
@@ -346,7 +346,7 @@ public class ClientManager implements IClientManager {
private List<Client> getByKeys(Long userId, String sessionId) {
return map().values().stream()
- .filter(c -> c.getUserId().equals(userId) &&
c.getSessionId().equals(sessionId))
+ .filter(c -> c.sameUserId(userId) &&
c.getSessionId().equals(sessionId))
.collect(Collectors.toList());
}
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 cf167ca..a8477a4 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
@@ -649,7 +649,7 @@ public class RoomPanel extends BasePanel {
public static boolean hasRight(ClientManager cm, long userId, long
roomId, Right r) {
for (Client c : cm.listByRoom(roomId)) {
- if (c.getUserId().equals(userId) && c.hasRight(r)) {
+ if (c.sameUserId(userId) && c.hasRight(r)) {
return true;
}
}