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 2019/03/22 09:32:32 UTC
[openmeetings] branch master updated: [OPENMEETINGS-1867] Room
clients are held in LoadableDetachableModel
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 6d54639 [OPENMEETINGS-1867] Room clients are held in LoadableDetachableModel
6d54639 is described below
commit 6d54639e4087329fee2560af15113bdb26d226ed
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Fri Mar 22 16:32:21 2019 +0700
[OPENMEETINGS-1867] Room clients are held in LoadableDetachableModel
---
.../openmeetings/web/room/sidebar/RoomSidebar.java | 23 ++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
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 0de1c58..99ac56f 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
@@ -22,7 +22,7 @@ import static org.apache.openmeetings.web.app.Application.kickUser;
import static org.apache.openmeetings.web.util.CallbackFunctionHelper.getNamedFunction;
import static org.apache.wicket.ajax.attributes.CallbackParameter.explicit;
-import java.util.ArrayList;
+import java.util.List;
import org.apache.openmeetings.core.remote.StreamProcessor;
import org.apache.openmeetings.core.util.WebSocketHelper;
@@ -54,6 +54,7 @@ import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.apache.wicket.util.string.StringValue;
@@ -88,7 +89,16 @@ public class RoomSidebar extends Panel {
private Client kickedClient;
private VideoSettings settings = new VideoSettings("settings");
private ActivitiesPanel activities;
- private final ListView<Client> users = new ListView<Client>("user", new ArrayList<Client>()) {
+ private final ListView<Client> users = new ListView<Client>("user", new LoadableDetachableModel<List<Client>>() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected List<Client> load() {
+ List<Client> list = cm.listByRoom(room.getRoom().getId());
+ userCount.setDefaultModelObject(list.size());
+ return list;
+ }
+ }) {
private static final long serialVersionUID = 1L;
@Override
@@ -228,7 +238,7 @@ public class RoomSidebar extends Panel {
final Form<?> form = new Form<>("form");
ConfirmableBorderDialog confirmTrash = new ConfirmableBorderDialog("confirm-trash", getString("80"), getString("713"), form);
roomFiles = new RoomFilePanel("tree", room, addFolder, confirmTrash);
- add(selfRights, userList.add(updateUsers()).setOutputMarkupId(true)
+ add(selfRights, userList.add(users).setOutputMarkupId(true)
, fileTab.setVisible(!room.isInterview()), roomFiles.setVisible(!room.isInterview()));
add(addFolder, settings, userCount.setOutputMarkupId(true));
@@ -255,11 +265,6 @@ public class RoomSidebar extends Panel {
response.render(new PriorityHeaderItem(getNamedFunction(FUNC_SETTINGS, avSettings, explicit(PARAM_SETTINGS))));
}
- private ListView<Client> updateUsers() {
- users.setList(cm.listByRoom(room.getRoom().getId()));
- return users;
- }
-
private void updateShowFiles(IPartialPageRequestHandler handler) {
if (room.isInterview()) {
return;
@@ -273,8 +278,6 @@ public class RoomSidebar extends Panel {
return;
}
updateShowFiles(handler);
- updateUsers();
- userCount.setDefaultModelObject(users.getList().size());
handler.add(selfRights.update(handler), userList, userCount);
}