From 6899b26a98a5e83e51efad8f178fcea807a90b66 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Thu, 13 Dec 2012 08:53:22 +0100 Subject: [PATCH] OO-454: add more patches, more choice for the room sizes --- .../manager/OpenMeetingsManagerImpl.java | 2 +- .../ui/OpenMeetingsRecordingsController.java | 10 ++++- .../ui/OpenMeetingsRoomEditController.java | 42 +++++++++++++++++-- 3 files changed, 48 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/olat/modules/openmeetings/manager/OpenMeetingsManagerImpl.java b/src/main/java/org/olat/modules/openmeetings/manager/OpenMeetingsManagerImpl.java index 1872fffce46..7841fbd07db 100644 --- a/src/main/java/org/olat/modules/openmeetings/manager/OpenMeetingsManagerImpl.java +++ b/src/main/java/org/olat/modules/openmeetings/manager/OpenMeetingsManagerImpl.java @@ -554,7 +554,7 @@ public class OpenMeetingsManagerImpl implements OpenMeetingsManager, UserDataDel omRoom.setNumberOfPartizipants(room.getSize()); omRoom.setRoomtypes_id(room.getType()); omRoom.setSID(sessionId); - omRoom.setWaitForRecording(true); + omRoom.setWaitForRecording(false); AddRoomWithModerationAndRecordingFlagsResponse addRoomResponse = roomWs.addRoomWithModerationAndRecordingFlags(omRoom); long returned = addRoomResponse.get_return(); diff --git a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRecordingsController.java b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRecordingsController.java index a037e8607b3..5f4563ca7a0 100644 --- a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRecordingsController.java +++ b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRecordingsController.java @@ -19,6 +19,7 @@ */ package org.olat.modules.openmeetings.ui; +import java.util.ArrayList; import java.util.List; import org.olat.core.CoreSpringFactory; @@ -37,6 +38,7 @@ import org.olat.core.gui.control.generic.closablewrapper.CloseableModalControlle import org.olat.core.gui.control.generic.modal.DialogBoxController; import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory; import org.olat.core.gui.translator.Translator; +import org.olat.core.util.StringHelper; import org.olat.modules.openmeetings.manager.OpenMeetingsException; import org.olat.modules.openmeetings.manager.OpenMeetingsManager; import org.olat.modules.openmeetings.model.OpenMeetingsRecording; @@ -92,7 +94,13 @@ public class OpenMeetingsRecordingsController extends BasicController { private void loadModel() { try { List<OpenMeetingsRecording> recordings = openMeetingsManager.getRecordings(roomId); - ((OpenMeetingsRecordingsDataModel)tableCtr.getTableDataModel()).setObjects(recordings); + List<OpenMeetingsRecording> readyRecordings = new ArrayList<OpenMeetingsRecording>(recordings.size()); + for (OpenMeetingsRecording recording : recordings) { + if (StringHelper.containsNonWhitespace(recording.getDownloadName())) { + readyRecordings.add(recording); + } + } + ((OpenMeetingsRecordingsDataModel)tableCtr.getTableDataModel()).setObjects(readyRecordings); tableCtr.modelChanged(); } catch (OpenMeetingsException e) { showError(e.i18nKey()); diff --git a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRoomEditController.java b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRoomEditController.java index 215fd6bb0ae..ba22b465936 100644 --- a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRoomEditController.java +++ b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRoomEditController.java @@ -19,6 +19,9 @@ */ package org.olat.modules.openmeetings.ui; +import java.util.ArrayList; +import java.util.List; + import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItemContainer; @@ -38,6 +41,8 @@ import org.olat.modules.openmeetings.manager.OpenMeetingsManager; import org.olat.modules.openmeetings.model.OpenMeetingsRoom; import org.olat.modules.openmeetings.model.RoomType; +import edu.emory.mathcs.backport.java.util.Collections; + /** * * Initial date: 06.11.2012<br> @@ -58,7 +63,6 @@ public class OpenMeetingsRoomEditController extends FormBasicController { private final String[] moderationModeKeys; private final String[] recordingKeys = {"xx"}; - private final BusinessGroup group; private final OLATResourceable ores; private final String subIdentifier; @@ -66,6 +70,8 @@ public class OpenMeetingsRoomEditController extends FormBasicController { private OpenMeetingsRoom room; private OpenMeetingsRoom defaultSettings; private final OpenMeetingsManager openMeetingsManager; + + private long[] sizes = {2, 4, 6, 8, 10, 12, 14, 16, 25, 50, 100, 150, 200, 1000}; public OpenMeetingsRoomEditController(UserRequest ureq, WindowControl wControl, BusinessGroup group, OLATResourceable ores, String subIdentifier, String resourceName, OpenMeetingsRoom defaultSettings, boolean admin) { @@ -88,14 +94,42 @@ public class OpenMeetingsRoomEditController extends FormBasicController { showError(e.i18nKey()); } - if(room != null && room.getSize() != 16 && room.getSize() != 100) { - roomSizes = new String[]{"16", Long.toString(room.getSize()), "100"}; + if(room != null && !isLegalSize(room.getSize())) { + roomSizes = toStringSizes(room.getSize()); } else { - roomSizes = new String[]{"16", "100"}; + roomSizes = toStringSizes(); } initForm(ureq); } + private String[] toStringSizes(long... addSizes) { + List<Long> endSizes = new ArrayList<Long>(sizes.length + 2); + for(long size:sizes) { + endSizes.add(new Long(size)); + } + if(addSizes != null && addSizes.length > 0) { + for(long size:addSizes) { + endSizes.add(new Long(size)); + } + } + Collections.sort(endSizes); + String[] stringuifiedSizes = new String[endSizes.size()]; + int count = 0; + for(Long endSize:endSizes) { + stringuifiedSizes[count++] = endSize.toString(); + } + return stringuifiedSizes; + } + + private boolean isLegalSize(long roomSize) { + for(long size:sizes) { + if(size == roomSize) { + return true; + } + } + return false; + } + public OpenMeetingsRoom getRoom() { return room; } -- GitLab