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 2018/03/07 07:07:04 UTC
[openmeetings] branch 4.0.x 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 4.0.x
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
The following commit(s) were added to refs/heads/4.0.x by this push:
new a644aaa [OPENMEETINGS-1836] more work on performance
a644aaa is described below
commit a644aaaf9e03272192eadb499c495b4435afcf2d
Author: Maxim Solodovnik <so...@gmail.com>
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<Long, Set<String>> rooms = getRooms();
@@ -142,10 +148,11 @@ public class ClientManager implements IClientManager {
rooms.putIfAbsent(roomId, new ConcurrentHashSet<String>());
Set<String> 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 @@
</div>
</div>
</div>
- <script type="text/javascript">
- OmUtil.sendMessage({area: 'room', type: 'room', action: 'roomEnter'});
- </script>
</wicket:panel>
</html>
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 interview;
private final WebMarkupContainer room = new WebMarkupContainer("roomContainer");
+ private final AbstractDefaultAjaxBehavior roomEnter = new AbstractDefaultAjaxBehavior() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void respond(AjaxRequestTarget target) {
+ WebSession ws = WebSession.get();
+ ExtendedClientProperties cp = ws.getExtendedProperties();
+ getBean(ConferenceLogDao.class).add(
+ ConferenceLog.Type.roomEnter
+ , getUserId(), "0", r.getId()
+ , cp.getRemoteAddress()
+ , "" + r.getId());
+ Client _c = getClient();
+ JSONObject options = VideoSettings.getInitJson(cp, r.getId(), _c.getSid())
+ .put("uid", _c.getUid())
+ .put("rights", _c.toJson(true).getJSONArray("rights"))
+ .put("interview", interview)
+ .put("showMicStatus", !r.getHiddenElements().contains(RoomElement.MicrophoneStatus))
+ .put("exclusiveTitle", getString("1386"));
+ if (!Strings.isEmpty(r.getRedirectURL()) && (ws.getSoapLogin() != null || ws.getInvitation() != null)) {
+ options.put("reloadUrl", r.getRedirectURL());
+ }
+ StringBuilder sb = new StringBuilder("Room.init(").append(options.toString(new NullStringer())).append(");")
+ .append(wb.getInitScript())
+ .append("Room.setSize();")
+ .append(getQuickPollJs());
+ target.appendJavaScript(sb);
+ WebSocketHelper.sendRoom(new RoomMessage(r.getId(), _c, RoomMessage.Type.roomEnter));
+ // play video from other participants
+ initVideos(target);
+ getMainPanel().getChat().roomEnter(r, target);
+ if (r.isFilesOpened()) {
+ sidebar.setFilesActive(target);
+ }
+ if (Room.Type.presentation != r.getType()) {
+ List<Client> mods = getBean(ClientManager.class).listByRoom(r.getId(), c -> c.hasRight(Room.Right.moderator));
+ if (mods.isEmpty()) {
+ waitApplyModeration.open(target);
+ }
+ }
+ wb.update(target);
+ }
+
+ private void initVideos(AjaxRequestTarget target) {
+ StringBuilder sb = new StringBuilder();
+ boolean hasStreams = false;
+ Client _c = getClient();
+ for (Client c: getBean(ClientManager.class).listByRoom(getRoom().getId())) {
+ boolean self = _c.getUid().equals(c.getUid());
+ for (String uid : c.getStreams()) {
+ JSONObject jo = videoJson(c, self, c.getSid(), getBean(StreamClientManager.class), uid);
+ sb.append(String.format("VideoManager.play(%s);", jo));
+ hasStreams = true;
+ }
+ }
+ if (interview && recordingUser == null && hasStreams && _c.hasRight(Right.moderator)) {
+ sb.append("WbArea.setRecStartEnabled(true);");
+ }
+ if (!Strings.isEmpty(sb)) {
+ target.appendJavaScript(sb);
+ }
+ }
+ };
private RedirectMessageDialog roomClosed;
private MessageDialog clientKicked, waitForModerator, waitApplyModeration;
@@ -211,6 +276,7 @@ public class RoomPanel extends BasePanel {
};
room.add(wbArea.add(wb));
}
+ room.add(roomEnter);
room.add(sidebar = new RoomSidebar("sidebar", this));
add(roomClosed = new RedirectMessageDialog("room-closed", "1098", r.isClosed(), r.getRedirectURL()));
if (r.isClosed()) {
@@ -595,13 +661,13 @@ public class RoomPanel extends BasePanel {
//We are setting initial rights here
Client c = getClient();
ClientManager cm = getBean(ClientManager.class);
- cm.addToRoom(c.setRoom(getRoom()));
+ final int count = cm.addToRoom(c.setRoom(getRoom()));
SOAPLogin soap = WebSession.get().getSoapLogin();
if (soap != null && soap.isModerator()) {
c.allow(Right.superModerator);
cm.update(c);
} else {
- Set<Right> rr = AuthLevelUtil.getRoomRight(c.getUser(), r, r.isAppointment() ? getBean(AppointmentDao.class).getByRoom(r.getId()) : null, cm.listByRoom(r.getId()).size());
+ Set<Right> rr = AuthLevelUtil.getRoomRight(c.getUser(), r, r.isAppointment() ? getBean(AppointmentDao.class).getByRoom(r.getId()) : null, count);
if (!rr.isEmpty()) {
c.allow(rr);
cm.update(c);
@@ -667,6 +733,9 @@ public class RoomPanel extends BasePanel {
super.renderHead(response);
response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forReference(interview ? INTERVIEWWB_JS_REFERENCE : WB_JS_REFERENCE)));
response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forReference(new JavaScriptResourceReference(RoomPanel.class, "room.js"))));
+ if (room.isVisible()) {
+ response.render(OnDomReadyHeaderItem.forScript(roomEnter.getCallbackScript()));
+ }
}
public void requestRight(Right right, IPartialPageRequestHandler handler) {
@@ -750,70 +819,9 @@ public class RoomPanel extends BasePanel {
if (room.isVisible() && "room".equals(o.optString("area"))) {
final String type = o.optString("type");
if ("room".equals(type)) {
- if ("roomEnter".equals(o.optString("action"))) {
- onRoomEnter(handler);
- }
- }
- }
- }
-
- private void onRoomEnter(IPartialPageRequestHandler handler) {
- WebSession ws = WebSession.get();
- ExtendedClientProperties cp = ws.getExtendedProperties();
- getBean(ConferenceLogDao.class).add(
- ConferenceLog.Type.roomEnter
- , getUserId(), "0", r.getId()
- , cp.getRemoteAddress()
- , "" + r.getId());
- Client _c = getClient();
- JSONObject options = VideoSettings.getInitJson(cp, r.getId(), _c.getSid())
- .put("uid", _c.getUid())
- .put("rights", _c.toJson(true).getJSONArray("rights"))
- .put("interview", interview)
- .put("showMicStatus", !r.getHiddenElements().contains(RoomElement.MicrophoneStatus))
- .put("exclusiveTitle", getString("1386"));
- if (!Strings.isEmpty(r.getRedirectURL()) && (ws.getSoapLogin() != null || ws.getInvitation() != null)) {
- options.put("reloadUrl", r.getRedirectURL());
- }
- StringBuilder sb = new StringBuilder("Room.init(").append(options.toString(new NullStringer())).append(");")
- .append(wb.getInitScript())
- .append("Room.setSize();")
- .append(getQuickPollJs());
- handler.appendJavaScript(sb);
- WebSocketHelper.sendRoom(new RoomMessage(r.getId(), _c, RoomMessage.Type.roomEnter));
- // play video from other participants
- initVideos(handler);
- getMainPanel().getChat().roomEnter(r, handler);
- if (r.isFilesOpened()) {
- sidebar.setFilesActive(handler);
- }
- if (Room.Type.presentation != r.getType()) {
- List<Client> mods = getBean(ClientManager.class).listByRoom(r.getId(), c -> c.hasRight(Room.Right.moderator));
- if (mods.isEmpty()) {
- waitApplyModeration.open(handler);
- }
- }
- wb.update(handler);
- }
-
- private void initVideos(IPartialPageRequestHandler handler) {
- StringBuilder sb = new StringBuilder();
- boolean hasStreams = false;
- Client _c = getClient();
- for (Client c: getBean(ClientManager.class).listByRoom(getRoom().getId())) {
- boolean self = _c.getUid().equals(c.getUid());
- for (String uid : c.getStreams()) {
- JSONObject jo = videoJson(c, self, c.getSid(), getBean(StreamClientManager.class), uid);
- sb.append(String.format("VideoManager.play(%s);", jo));
- hasStreams = true;
+ //TODO actions
}
}
- if (interview && recordingUser == null && hasStreams && _c.hasRight(Right.moderator)) {
- sb.append("WbArea.setRecStartEnabled(true);");
- }
- if (!Strings.isEmpty(sb)) {
- handler.appendJavaScript(sb);
- }
}
public Room getRoom() {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
index f38bc57..5ef1033 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
@@ -286,7 +286,7 @@ public class RoomSidebar extends Panel {
}
private void updateShowFiles(IPartialPageRequestHandler handler) {
- if (room.isInterview() || room.getRoom() == null) {
+ if (room.isInterview()) {
return;
}
showFiles = !room.getRoom().isHidden(RoomElement.Files) && room.getClient().hasRight(Right.presenter);
@@ -294,6 +294,9 @@ public class RoomSidebar extends Panel {
}
public void update(IPartialPageRequestHandler handler) {
+ if (room.getRoom() == null) {
+ return;
+ }
updateShowFiles(handler);
updateUsers();
userCount.setDefaultModelObject(users.getList().size());
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java
index 5d7637f..45afb44 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java
@@ -39,7 +39,7 @@ public abstract class ClientIcon extends WebMarkupContainer {
private static final long serialVersionUID = 1L;
protected static final String ICON_CLASS = "ui-icon ";
protected static final String CLS_CLICKABLE = "clickable ";
- protected final boolean self;
+ private boolean self;
protected final String uid;
protected String mainCssClass;
protected final StringBuilder cssClass = new StringBuilder(ICON_CLASS);
@@ -47,8 +47,6 @@ public abstract class ClientIcon extends WebMarkupContainer {
public ClientIcon(String id, String uid) {
super(id);
this.uid = uid;
- Client rc = getRoomClient();
- self = rc == null ? false : rc.getUid().equals(uid);
setOutputMarkupId(true);
setOutputMarkupPlaceholderTag(true);
}
@@ -56,6 +54,8 @@ public abstract class ClientIcon extends WebMarkupContainer {
@Override
protected void onInitialize() {
super.onInitialize();
+ Client rc = getRoomClient();
+ self = rc == null ? false : rc.getUid().equals(uid);
update(null);
}
@@ -118,4 +118,8 @@ public abstract class ClientIcon extends WebMarkupContainer {
RoomPanel rp = getRoomPanel();
return rp == null ? null : rp.getRoom();
}
+
+ public boolean isSelf() {
+ return self;
+ }
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java
index 94a5b44..7e4069d 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/KickIcon.java
@@ -38,7 +38,7 @@ public class KickIcon extends ClientIcon {
@Override
protected boolean isClickable() {
- return !self && roomHasRight(Right.moderator) && !hasRight(Right.superModerator);
+ return !isSelf() && roomHasRight(Right.moderator) && !hasRight(Right.superModerator);
}
@Override
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java
index 9af1cad..4e50a7e 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/AudioRightIcon.java
@@ -30,6 +30,6 @@ public class AudioRightIcon extends RoomRightIcon {
@Override
protected String getTitle() {
- return getString(self ? (hasRight() ? "1607" : "1606") : (hasRight() ? "1605" : "1604"));
+ return getString(isSelf() ? (hasRight() ? "1607" : "1606") : (hasRight() ? "1605" : "1604"));
}
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java
index a3b4956..11b76d9 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ModeratorRightIcon.java
@@ -32,9 +32,9 @@ public class ModeratorRightIcon extends RoomRightIcon {
protected String getTitle() {
String title;
if (getClient().hasRight(right)) {
- title = self ? "688" : "675";
+ title = isSelf() ? "688" : "675";
} else {
- title = self ? "81" : "676";
+ title = isSelf() ? "81" : "676";
}
return getString(title);
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/PresenterRightIcon.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/PresenterRightIcon.java
index 811a305..93cd307 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/PresenterRightIcon.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/PresenterRightIcon.java
@@ -34,9 +34,9 @@ public class PresenterRightIcon extends RoomRightIcon {
protected String getTitle() {
String title;
if (hasRight(right)) {
- title = self ? "right.presenter.allowed.self" : "right.presenter.remove";
+ title = isSelf() ? "right.presenter.allowed.self" : "right.presenter.remove";
} else {
- title = self ? "right.presenter.request.self" : "right.presenter.request";
+ title = isSelf() ? "right.presenter.request.self" : "right.presenter.request";
}
return getString(title);
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java
index 44c21fa..6f97df0 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RemoteControlRightIcon.java
@@ -30,7 +30,7 @@ public class RemoteControlRightIcon extends RoomRightIcon {
@Override
protected String getTitle() {
- return getString(self ? (hasRight() ? "1081" : "1080") : (hasRight() ? "1079" : "1078"));
+ return getString(isSelf() ? (hasRight() ? "1081" : "1080") : (hasRight() ? "1079" : "1078"));
}
@Override
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java
index 473fd2d..878ef85 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/RoomRightIcon.java
@@ -35,7 +35,7 @@ public abstract class RoomRightIcon extends ClientIcon {
@Override
protected boolean isClickable() {
- return (self && !hasRight()) || !self && hasRight(Right.moderator);
+ return (isSelf() && !hasRight()) || !isSelf() && hasRight(Right.moderator);
}
protected boolean hasRight() {
@@ -49,8 +49,8 @@ public abstract class RoomRightIcon extends ClientIcon {
protected boolean visible() {
return !hasRight(Right.superModerator) && (
- (self && !hasRight() && getRoom().isAllowUserQuestions())
- || (!self && hasRight(Right.moderator))
+ (isSelf() && !hasRight() && getRoom().isAllowUserQuestions())
+ || (!isSelf() && hasRight(Right.moderator))
);
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java
index 7cdf982..6179e2a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/ScreenShareRightIcon.java
@@ -30,7 +30,7 @@ public class ScreenShareRightIcon extends RoomRightIcon {
@Override
protected String getTitle() {
- return getString(self ?(hasRight() ? "1071" : "1070") : (hasRight() ? "1068" : "1067"));
+ return getString(isSelf() ?(hasRight() ? "1071" : "1070") : (hasRight() ? "1068" : "1067"));
}
@Override
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java
index c63c687..0d331a8 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/VideoRightIcon.java
@@ -30,7 +30,7 @@ public class VideoRightIcon extends RoomRightIcon {
@Override
protected String getTitle() {
- return getString(self ? (hasRight() ? "690" : "687"): (hasRight() ? "684": "683"));
+ return getString(isSelf() ? (hasRight() ? "690" : "687"): (hasRight() ? "684": "683"));
}
@Override
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java
index a8e946b..4049c47 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/right/WhiteboardRightIcon.java
@@ -35,9 +35,9 @@ public class WhiteboardRightIcon extends RoomRightIcon {
protected String getTitle() {
String title;
if (getClient().hasRight(right)) {
- title = self ? "689" : "612";
+ title = isSelf() ? "689" : "612";
} else {
- title = self ? "686" : "694";
+ title = isSelf() ? "686" : "694";
}
return getString(title);
}
--
To stop receiving notification emails like this one, please contact
solomax@apache.org.