private void loadTable() { // Hardcoded same as VideoAdminSetController int[] resolution = {2160, 1080, 720, 480, 360, 240}; // FIXME:FK fetch using one single SQL query for (int i = 0; i < resolution.length; i++) { int sizeOfTranscodings = availableTranscodings.get(resolution[i]).size(); int counter = 0; for (OLATResource videoResource : olatresources) { VideoMetadata videoMetadata = videoManager.readVideoMetadataFile(videoResource); if (videoMetadata != null && videoMetadata.getHeight() >= resolution[i]) counter++; } resolutions.add( new TranscodingRow( resolution[i], sizeOfTranscodings, counter, mayTranscode(resolution[i]))); } if (resolutions != null) tableModel.setObjects(resolutions); transcodingTable.reset(true, true, true); }
@Override protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { if (source == transcodingTable) { if (event instanceof SelectionEvent) { SelectionEvent se = (SelectionEvent) event; TranscodingRow currentObject = (TranscodingRow) tableModel.getObject(se.getIndex()); if ("quality.delete".equals(se.getCommand())) { queueDeleteTranscoding(currentObject); showInfo("delete.transcodings"); } else if ("quality.transcode".equals(se.getCommand())) { queueCreateTranscoding(currentObject); showInfo("info.transcoding"); } } } // refresh checks setChecks(); }