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.