diff --git a/src/main/java/org/olat/course/nodes/video/VideoEditController.java b/src/main/java/org/olat/course/nodes/video/VideoEditController.java index feffe2b50d13b9e4c753c045ff7fa3c8b4f43841..cbde9381656185529c6b046e0a28440d6f8c5d24 100644 --- a/src/main/java/org/olat/course/nodes/video/VideoEditController.java +++ b/src/main/java/org/olat/course/nodes/video/VideoEditController.java @@ -37,7 +37,7 @@ import org.olat.course.nodes.VideoCourseNode; import org.olat.course.run.userview.UserCourseEnvironment; import org.olat.fileresource.types.VideoFileResource; import org.olat.modules.ModuleConfiguration; -import org.olat.modules.video.managers.VideoManager; +import org.olat.modules.video.manager.VideoManager; import org.olat.modules.video.ui.VideoDisplayController; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryManager; @@ -171,13 +171,13 @@ public class VideoEditController extends ActivateableTabbableDefaultController switch(config.getStringValue(VideoEditController.CONFIG_KEY_DESCRIPTION_SELECT)){ case "resourceDescription": - previewController = new VideoDisplayController(ureq, getWindowControl(), re, config.getBooleanSafe(VideoEditController.CONFIG_KEY_AUTOPLAY), config.getBooleanSafe(VideoEditController.CONFIG_KEY_COMMENTS), config.getBooleanSafe(VideoEditController.CONFIG_KEY_RATING), "", false, ""); + previewController = new VideoDisplayController(ureq, getWindowControl(), re, config.getBooleanSafe(VideoEditController.CONFIG_KEY_AUTOPLAY), config.getBooleanSafe(VideoEditController.CONFIG_KEY_COMMENTS), config.getBooleanSafe(VideoEditController.CONFIG_KEY_RATING), "", false,false, ""); break; case "customDescription": - previewController = new VideoDisplayController(ureq, getWindowControl(), re, config.getBooleanSafe(VideoEditController.CONFIG_KEY_AUTOPLAY), config.getBooleanSafe(VideoEditController.CONFIG_KEY_COMMENTS), config.getBooleanSafe(VideoEditController.CONFIG_KEY_RATING), "", true, config.getStringValue(VideoEditController.CONFIG_KEY_DESCRIPTION_CUSTOMTEXT)); + previewController = new VideoDisplayController(ureq, getWindowControl(), re, config.getBooleanSafe(VideoEditController.CONFIG_KEY_AUTOPLAY), config.getBooleanSafe(VideoEditController.CONFIG_KEY_COMMENTS), config.getBooleanSafe(VideoEditController.CONFIG_KEY_RATING), "", true,false, config.getStringValue(VideoEditController.CONFIG_KEY_DESCRIPTION_CUSTOMTEXT)); break; case "none": - previewController = new VideoDisplayController(ureq, getWindowControl(), re, config.getBooleanSafe(VideoEditController.CONFIG_KEY_AUTOPLAY), config.getBooleanSafe(VideoEditController.CONFIG_KEY_COMMENTS), config.getBooleanSafe(VideoEditController.CONFIG_KEY_RATING), "", true, ""); + previewController = new VideoDisplayController(ureq, getWindowControl(), re, config.getBooleanSafe(VideoEditController.CONFIG_KEY_AUTOPLAY), config.getBooleanSafe(VideoEditController.CONFIG_KEY_COMMENTS), config.getBooleanSafe(VideoEditController.CONFIG_KEY_RATING), "", true,false, ""); break; } cmc = new CloseableModalController( diff --git a/src/main/java/org/olat/course/nodes/video/VideoPeekviewController.java b/src/main/java/org/olat/course/nodes/video/VideoPeekviewController.java index baacc298b7b00e4743a05df4710baf564533dade..e8e00a8ea538170c1b4068bc491961a096e0471a 100644 --- a/src/main/java/org/olat/course/nodes/video/VideoPeekviewController.java +++ b/src/main/java/org/olat/course/nodes/video/VideoPeekviewController.java @@ -8,7 +8,7 @@ import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; import org.olat.core.util.vfs.VFSContainer; -import org.olat.modules.video.managers.MediaMapper; +import org.olat.modules.video.manager.MediaMapper; public class VideoPeekviewController extends BasicController implements Controller{ diff --git a/src/main/java/org/olat/course/nodes/video/VideoRunController.java b/src/main/java/org/olat/course/nodes/video/VideoRunController.java index cc65bb9d790b50f63bbd769b9a549f7244336067..2ad8eda1b72f4600980e6b8c7d0fe39d81356ddd 100644 --- a/src/main/java/org/olat/course/nodes/video/VideoRunController.java +++ b/src/main/java/org/olat/course/nodes/video/VideoRunController.java @@ -121,13 +121,13 @@ public class VideoRunController extends BasicController { } switch(config.getStringValue(VideoEditController.CONFIG_KEY_DESCRIPTION_SELECT,"none")){ case "resourceDescription": - videoDispCtr = new VideoDisplayController(ureq, getWindowControl(), videoNode.getReferencedRepositoryEntry(), config.getBooleanSafe(VideoEditController.CONFIG_KEY_AUTOPLAY), config.getBooleanSafe(VideoEditController.CONFIG_KEY_COMMENTS), config.getBooleanSafe(VideoEditController.CONFIG_KEY_RATING), videoNode.getIdent(), false, ""); + videoDispCtr = new VideoDisplayController(ureq, getWindowControl(), videoNode.getReferencedRepositoryEntry(), config.getBooleanSafe(VideoEditController.CONFIG_KEY_AUTOPLAY), config.getBooleanSafe(VideoEditController.CONFIG_KEY_COMMENTS), config.getBooleanSafe(VideoEditController.CONFIG_KEY_RATING), videoNode.getIdent(), false, false, ""); break; case "customDescription": - videoDispCtr = new VideoDisplayController(ureq, getWindowControl(), videoNode.getReferencedRepositoryEntry(), config.getBooleanSafe(VideoEditController.CONFIG_KEY_AUTOPLAY), config.getBooleanSafe(VideoEditController.CONFIG_KEY_COMMENTS), config.getBooleanSafe(VideoEditController.CONFIG_KEY_RATING), videoNode.getIdent(), true, config.getStringValue(VideoEditController.CONFIG_KEY_DESCRIPTION_CUSTOMTEXT)); + videoDispCtr = new VideoDisplayController(ureq, getWindowControl(), videoNode.getReferencedRepositoryEntry(), config.getBooleanSafe(VideoEditController.CONFIG_KEY_AUTOPLAY), config.getBooleanSafe(VideoEditController.CONFIG_KEY_COMMENTS), config.getBooleanSafe(VideoEditController.CONFIG_KEY_RATING), videoNode.getIdent(), true, false, config.getStringValue(VideoEditController.CONFIG_KEY_DESCRIPTION_CUSTOMTEXT)); break; case "none": - videoDispCtr = new VideoDisplayController(ureq, getWindowControl(), videoNode.getReferencedRepositoryEntry(), config.getBooleanSafe(VideoEditController.CONFIG_KEY_AUTOPLAY), config.getBooleanSafe(VideoEditController.CONFIG_KEY_COMMENTS), config.getBooleanSafe(VideoEditController.CONFIG_KEY_RATING), videoNode.getIdent(), true, ""); + videoDispCtr = new VideoDisplayController(ureq, getWindowControl(), videoNode.getReferencedRepositoryEntry(), config.getBooleanSafe(VideoEditController.CONFIG_KEY_AUTOPLAY), config.getBooleanSafe(VideoEditController.CONFIG_KEY_COMMENTS), config.getBooleanSafe(VideoEditController.CONFIG_KEY_RATING), videoNode.getIdent(), true, false, ""); break; } diff --git a/src/main/java/org/olat/modules/video/VideoModule.java b/src/main/java/org/olat/modules/video/VideoModule.java index 15095212ae984d9fa49bbdd9db7edb9d7a8211ed..ffba77cee21656e4b77eeb3eecd29e5f47f0c2be 100644 --- a/src/main/java/org/olat/modules/video/VideoModule.java +++ b/src/main/java/org/olat/modules/video/VideoModule.java @@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; /** + * * Initial date: 23.2.2016<br> * @author dfakae, dirk.furrer@frentix.com, http://www.frentix.com * diff --git a/src/main/java/org/olat/modules/video/_spring/videoContext.xml b/src/main/java/org/olat/modules/video/_spring/videoContext.xml index ea8badeec0336981595ec61c1320c7f4e7c6f7bd..0e8381d63c066e274395fd39ccbedae1d0e2301d 100644 --- a/src/main/java/org/olat/modules/video/_spring/videoContext.xml +++ b/src/main/java/org/olat/modules/video/_spring/videoContext.xml @@ -5,7 +5,7 @@ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> -<bean id="videoManager" class="org.olat.modules.video.managers.VideoManagerImpl"> +<bean id="videoManager" class="org.olat.modules.video.manager.VideoManagerImpl"> </bean> <bean id="transcodingService" class="org.olat.modules.video.service.TranscoderService"> diff --git a/src/main/java/org/olat/modules/video/managers/MediaMapper.java b/src/main/java/org/olat/modules/video/manager/MediaMapper.java similarity index 95% rename from src/main/java/org/olat/modules/video/managers/MediaMapper.java rename to src/main/java/org/olat/modules/video/manager/MediaMapper.java index aeb285412fd86b57c4728e518251018573f28f15..a5ff92226354ab223d6e3e9fce458f3069fae9f6 100644 --- a/src/main/java/org/olat/modules/video/managers/MediaMapper.java +++ b/src/main/java/org/olat/modules/video/manager/MediaMapper.java @@ -1,4 +1,4 @@ -package org.olat.modules.video.managers; +package org.olat.modules.video.manager; import javax.servlet.http.HttpServletRequest; diff --git a/src/main/java/org/olat/modules/video/managers/VideoManager.java b/src/main/java/org/olat/modules/video/manager/VideoManager.java similarity index 98% rename from src/main/java/org/olat/modules/video/managers/VideoManager.java rename to src/main/java/org/olat/modules/video/manager/VideoManager.java index 918b0d94fd1a519e2a24ec3ace2dd01971fab86d..bc2575fcefbfcbe0529292daceb3b8cc7d5b5ebe 100644 --- a/src/main/java/org/olat/modules/video/managers/VideoManager.java +++ b/src/main/java/org/olat/modules/video/manager/VideoManager.java @@ -17,7 +17,7 @@ * frentix GmbH, http://www.frentix.com * <p> */ -package org.olat.modules.video.managers; +package org.olat.modules.video.manager; import java.io.File; import java.io.IOException; diff --git a/src/main/java/org/olat/modules/video/managers/VideoManagerImpl.java b/src/main/java/org/olat/modules/video/manager/VideoManagerImpl.java similarity index 99% rename from src/main/java/org/olat/modules/video/managers/VideoManagerImpl.java rename to src/main/java/org/olat/modules/video/manager/VideoManagerImpl.java index 8d51498daa862d9f6b118312f6777ea398f7190c..ce64b5fed63ca4514fc5fdb2c9340f971f32cab5 100644 --- a/src/main/java/org/olat/modules/video/managers/VideoManagerImpl.java +++ b/src/main/java/org/olat/modules/video/manager/VideoManagerImpl.java @@ -1,4 +1,4 @@ -package org.olat.modules.video.managers; +package org.olat.modules.video.manager; import java.awt.image.BufferedImage; import java.io.File; diff --git a/src/main/java/org/olat/modules/video/models/VideoQualityVersion.java b/src/main/java/org/olat/modules/video/models/VideoQualityVersion.java index 15740f4b6dc7e6d6afdbe8c4c6dea8f3084d6740..af619fe8c9db7937a3a3a9e51a1297c8fd897993 100644 --- a/src/main/java/org/olat/modules/video/models/VideoQualityVersion.java +++ b/src/main/java/org/olat/modules/video/models/VideoQualityVersion.java @@ -1,9 +1,12 @@ package org.olat.modules.video.models; +import java.io.File; + import org.olat.core.commons.services.image.Size; public class VideoQualityVersion{ // Properties + File file; String type; String fileSize; Size dimension; @@ -56,4 +59,12 @@ public class VideoQualityVersion{ public void setIsTransforming(boolean isTranscoding) { this.isTransforming = isTranscoding; } + + public File getFile(){ + return file; + } + + public void setFile(File file){ + this.file = file; + } } \ No newline at end of file diff --git a/src/main/java/org/olat/modules/video/service/HandbrakeTranscoder.java b/src/main/java/org/olat/modules/video/service/HandbrakeTranscoder.java index b6a3d94692be7cca88bde17e0353adcf78b3faca..f61c7e54f8bb5cff00323ba399c7405fbc438361 100644 --- a/src/main/java/org/olat/modules/video/service/HandbrakeTranscoder.java +++ b/src/main/java/org/olat/modules/video/service/HandbrakeTranscoder.java @@ -8,7 +8,7 @@ import org.olat.core.CoreSpringFactory; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; import org.olat.fileresource.FileResourceManager; -import org.olat.modules.video.managers.VideoManager; +import org.olat.modules.video.manager.VideoManager; import org.olat.resource.OLATResource; public class HandbrakeTranscoder implements Transcoder { @@ -37,7 +37,6 @@ public class HandbrakeTranscoder implements Transcoder { pb.redirectErrorStream(true); pb.inheritIO(); - try { logger.info("+--------------------------HANDBRAKE STARTS TRANSCODING------------------------------------+"); Runtime.getRuntime().exec("HandBrakeCLI "+" -i "+file.getAbsolutePath()+" -o "+optimizedFolder.getAbsolutePath()+"/optimized_"+file.getName()+" --optimize"+" --preset Normal"); @@ -49,7 +48,6 @@ public class HandbrakeTranscoder implements Transcoder { } } - private boolean transcodeVideoRessourceLow(OLATResource video) { // TODO Auto-generated method stub return false; diff --git a/src/main/java/org/olat/modules/video/service/TranscoderService.java b/src/main/java/org/olat/modules/video/service/TranscoderService.java index fcefed9019b4c39f6e8511af5b343be5c2228301..ecc58ea10a8940aba37427b87fe67d2a6989cd93 100644 --- a/src/main/java/org/olat/modules/video/service/TranscoderService.java +++ b/src/main/java/org/olat/modules/video/service/TranscoderService.java @@ -1,7 +1,6 @@ package org.olat.modules.video.service; -import java.util.ServiceLoader; - +import org.olat.core.CoreSpringFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -12,24 +11,16 @@ public class TranscoderService{ private static String transcodingProvider; private static TranscoderService service; - private static ServiceLoader<Transcoder> loader; private TranscoderService() { - loader = ServiceLoader.load(Transcoder.class); } public static synchronized TranscoderService getInstance() { if (service == null) { - service = new TranscoderService(); + service = CoreSpringFactory.getImpl(TranscoderService.class); } return service; } -// public static Transcoder getTrascoder(){ -// -// for (Transcoder transcoder : loader) { -// return transcoder; -// } -// -// } + } diff --git a/src/main/java/org/olat/modules/video/ui/VideoDisplayController.java b/src/main/java/org/olat/modules/video/ui/VideoDisplayController.java index b58135da6f7537e27fe4e3d691ca6a1a4cbad176..0bde5202259cf2faade8f15aea6920ea2910a5cc 100644 --- a/src/main/java/org/olat/modules/video/ui/VideoDisplayController.java +++ b/src/main/java/org/olat/modules/video/ui/VideoDisplayController.java @@ -43,8 +43,8 @@ import org.olat.core.util.vfs.VFSContainer; import org.olat.core.util.vfs.VFSItem; import org.olat.core.util.vfs.VFSLeaf; import org.olat.fileresource.FileResourceManager; -import org.olat.modules.video.managers.MediaMapper; -import org.olat.modules.video.managers.VideoManager; +import org.olat.modules.video.manager.MediaMapper; +import org.olat.modules.video.manager.VideoManager; import org.olat.repository.RepositoryEntry; import org.olat.resource.OLATResource; import org.springframework.beans.factory.annotation.Autowired; @@ -65,11 +65,15 @@ public class VideoDisplayController extends BasicController { public static final Event ENDED_EVENT = new Event("videoEnded"); + public VideoDisplayController(UserRequest ureq, WindowControl wControl, RepositoryEntry entry, boolean autoWidth) { + this(ureq, wControl, entry, false, false, false, null, false, autoWidth, null); + } + public VideoDisplayController(UserRequest ureq, WindowControl wControl, RepositoryEntry entry) { - this(ureq, wControl, entry, false, false, false, null, false, null); + this(ureq, wControl, entry, false, false, false, null, false, false, null); } - public VideoDisplayController(UserRequest ureq, WindowControl wControl, RepositoryEntry entry, Boolean autoplay, Boolean showComments, Boolean showRating, String OresSubPath, boolean customDescription, String descriptionText) { + public VideoDisplayController(UserRequest ureq, WindowControl wControl, RepositoryEntry entry, Boolean autoplay, Boolean showComments, Boolean showRating, String OresSubPath, boolean customDescription, boolean autoWidth, String descriptionText) { super(ureq, wControl); mainVC = createVelocityContainer("video_run"); @@ -96,7 +100,10 @@ public class VideoDisplayController extends BasicController { mainVC.contextPut("movie", filename); mainVC.contextPut("mediaUrl", mediaUrl); Size realSize = movieService.getSize(video, extension); - if(realSize != null) { + if(autoWidth){ + mainVC.contextPut("height", 480); + mainVC.contextPut("width", "100%"); + } else if(realSize != null) { mainVC.contextPut("height", realSize.getHeight()); mainVC.contextPut("width", realSize.getWidth()); } else { diff --git a/src/main/java/org/olat/modules/video/ui/VideoMetaDataEditFormController.java b/src/main/java/org/olat/modules/video/ui/VideoMetaDataEditFormController.java index ec0a40d5cd799fc4a48b67088a1cb7966782e289..0141476929f1f7d4c0b0142a8e14611ef55083ed 100644 --- a/src/main/java/org/olat/modules/video/ui/VideoMetaDataEditFormController.java +++ b/src/main/java/org/olat/modules/video/ui/VideoMetaDataEditFormController.java @@ -12,7 +12,7 @@ import org.olat.core.gui.components.form.flexible.elements.StaticTextElement; import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.WindowControl; -import org.olat.modules.video.managers.VideoManager; +import org.olat.modules.video.manager.VideoManager; import org.olat.resource.OLATResource; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/org/olat/modules/video/ui/VideoPosterEditController.java b/src/main/java/org/olat/modules/video/ui/VideoPosterEditController.java index fb32293e5b08c94fc873268e1a8f066d98606758..248fe5b132cd02269668733db9028b5bdc5151ce 100644 --- a/src/main/java/org/olat/modules/video/ui/VideoPosterEditController.java +++ b/src/main/java/org/olat/modules/video/ui/VideoPosterEditController.java @@ -17,8 +17,8 @@ import org.olat.core.helpers.Settings; import org.olat.core.util.vfs.VFSContainer; import org.olat.core.util.vfs.VFSLeaf; import org.olat.fileresource.FileResourceManager; -import org.olat.modules.video.managers.MediaMapper; -import org.olat.modules.video.managers.VideoManager; +import org.olat.modules.video.manager.MediaMapper; +import org.olat.modules.video.manager.VideoManager; import org.olat.resource.OLATResource; import org.springframework.beans.factory.annotation.Autowired; diff --git a/src/main/java/org/olat/modules/video/ui/VideoPosterSelectionForm.java b/src/main/java/org/olat/modules/video/ui/VideoPosterSelectionForm.java index 167d3135cf13288a250f5fa13d573cc46b0a9980..d53c92ed8ef5d34481c3b0ab0eb01217350d7197 100644 --- a/src/main/java/org/olat/modules/video/ui/VideoPosterSelectionForm.java +++ b/src/main/java/org/olat/modules/video/ui/VideoPosterSelectionForm.java @@ -27,8 +27,8 @@ import org.olat.core.util.vfs.VFSContainer; import org.olat.core.util.vfs.VFSLeaf; import org.olat.core.util.vfs.VFSManager; import org.olat.fileresource.FileResourceManager; -import org.olat.modules.video.managers.MediaMapper; -import org.olat.modules.video.managers.VideoManager; +import org.olat.modules.video.manager.MediaMapper; +import org.olat.modules.video.manager.VideoManager; import org.olat.resource.OLATResource; public class VideoPosterSelectionForm extends BasicController { diff --git a/src/main/java/org/olat/modules/video/ui/VideoPosterUploadForm.java b/src/main/java/org/olat/modules/video/ui/VideoPosterUploadForm.java index e6452a2dd7713d1e2c1053785e1038ae6f0474cb..2c9ede1dd6375215e565ad370a0ab883e7338ae1 100644 --- a/src/main/java/org/olat/modules/video/ui/VideoPosterUploadForm.java +++ b/src/main/java/org/olat/modules/video/ui/VideoPosterUploadForm.java @@ -18,6 +18,11 @@ import org.olat.core.util.vfs.VFSContainer; import org.olat.core.util.vfs.VFSManager; import org.olat.fileresource.FileResourceManager; import org.olat.resource.OLATResource; +/** + * Videoposter upload form for create a + * @author dfakae + * + */ public class VideoPosterUploadForm extends FormBasicController { private OLATResource videoResource; diff --git a/src/main/java/org/olat/modules/video/ui/VideoQualityTableFormController.java b/src/main/java/org/olat/modules/video/ui/VideoQualityTableFormController.java index 16bfed07885b4fbe33606488e9efb700a8deecfa..c9e1b4d21593cec5b8df031974ca34a520ff73a4 100644 --- a/src/main/java/org/olat/modules/video/ui/VideoQualityTableFormController.java +++ b/src/main/java/org/olat/modules/video/ui/VideoQualityTableFormController.java @@ -6,10 +6,12 @@ import java.util.List; import org.apache.commons.io.FileUtils; import org.olat.core.commons.services.image.Size; import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; import org.olat.core.gui.components.form.flexible.elements.FormLink; import org.olat.core.gui.components.form.flexible.impl.FormBasicController; +import org.olat.core.gui.components.form.flexible.impl.FormEvent; import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer; import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel; @@ -17,27 +19,37 @@ import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTable import org.olat.core.gui.components.link.Link; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.WindowControl; -import org.olat.modules.video.managers.VideoManager; +import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; +import org.olat.modules.video.manager.VideoManager; import org.olat.modules.video.models.VideoQualityTableModel; -import org.olat.modules.video.models.VideoQualityVersion; import org.olat.modules.video.models.VideoQualityTableModel.QualityTableCols; +import org.olat.modules.video.models.VideoQualityVersion; +import org.olat.repository.RepositoryEntry; import org.olat.resource.OLATResource; import org.springframework.beans.factory.annotation.Autowired; - +/** + * table to show the different available qualityversions of a video ressource + * @author Dirk Furrer + * + */ public class VideoQualityTableFormController extends FormBasicController { private FlexiTableElement tableEl; private VideoQualityTableModel tableModel; + private FormLink viewButton; + private CloseableModalController cmc; @Autowired private VideoManager videoManager; private OLATResource videoResource; + private RepositoryEntry videoEntry; - public VideoQualityTableFormController(UserRequest ureq, WindowControl wControl, OLATResource videoResource) { + public VideoQualityTableFormController(UserRequest ureq, WindowControl wControl, RepositoryEntry videoEntry) { super(ureq, wControl, LAYOUT_VERTICAL); - this.videoResource = videoResource; + this.videoResource = videoEntry.getOlatResource(); + this.videoEntry = videoEntry; initForm(ureq); } @@ -58,15 +70,14 @@ public class VideoQualityTableFormController extends FormBasicController { tableModel = new VideoQualityTableModel(columnsModel, getTranslator()); List<QualityTableRow> rows = new ArrayList<QualityTableRow>(); - Size origSize = videoManager.getVideoSize(videoResource); - - FormLink viewButton = uifactory.addFormLink("view", "viewQuality", "quality.view", "qulaity.view", null, Link.LINK); + viewButton = uifactory.addFormLink("view", "viewQuality", "quality.view", "qulaity.view", null, Link.LINK); rows.add(new QualityTableRow("original", origSize.getWidth() +"x"+ origSize.getHeight(), FileUtils.byteCountToDisplaySize(videoManager.getVideoFile(videoResource).length()), "mp4",viewButton)); List<VideoQualityVersion> versions = videoManager.getQualityVersions(videoResource); for(VideoQualityVersion version:versions){ + viewButton = uifactory.addFormLink(version.getType(), "viewQuality", "quality.view", "qulaity.view", null, Link.LINK); rows.add(new QualityTableRow(version.getType(), version.getDimension().getWidth() +"x"+ version.getDimension().getHeight(), version.getFileSize(), version.getFormat(),viewButton)); } @@ -74,6 +85,16 @@ public class VideoQualityTableFormController extends FormBasicController { tableEl = uifactory.addTableElement(getWindowControl(), "qualities", tableModel, getTranslator(), generalCont); tableEl.setCustomizeColumns(false); } + + @Override + protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { + if(source == viewButton){ + + VideoDisplayController videoDispController = new VideoDisplayController(ureq, getWindowControl(), videoEntry, true); + cmc = new CloseableModalController(getWindowControl(), "close", videoDispController.getInitialComponent()); + cmc.activate(); + } + } @Override protected void formOK(UserRequest ureq) { diff --git a/src/main/java/org/olat/modules/video/ui/VideoRuntimeController.java b/src/main/java/org/olat/modules/video/ui/VideoRuntimeController.java index b3f6ff5bef069697ab9e45f8eb72fdeb37d22c66..2452b229e64bf6fd0e093caf909b5bab6f1ac1c1 100644 --- a/src/main/java/org/olat/modules/video/ui/VideoRuntimeController.java +++ b/src/main/java/org/olat/modules/video/ui/VideoRuntimeController.java @@ -28,11 +28,9 @@ import org.olat.core.gui.components.link.LinkFactory; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; -import org.olat.modules.video.managers.VideoManager; import org.olat.repository.RepositoryEntry; import org.olat.repository.model.RepositoryEntrySecurity; import org.olat.repository.ui.RepositoryEntryRuntimeController; -import org.springframework.beans.factory.annotation.Autowired; /** * @@ -46,9 +44,6 @@ public class VideoRuntimeController extends RepositoryEntryRuntimeController { private Link settingsLink; - @Autowired - private VideoManager videoManager; - public VideoRuntimeController(UserRequest ureq, WindowControl wControl, RepositoryEntry re, RepositoryEntrySecurity reSecurity, RuntimeControllerCreator runtimeControllerCreator) { super(ureq, wControl, re, reSecurity, runtimeControllerCreator); diff --git a/src/main/java/org/olat/modules/video/ui/VideoSettingsController.java b/src/main/java/org/olat/modules/video/ui/VideoSettingsController.java index 9a90b3ec685e53119c714f21ce6fd848647975e0..249d69a40374fab0df5d959285d644f1deeccec9 100644 --- a/src/main/java/org/olat/modules/video/ui/VideoSettingsController.java +++ b/src/main/java/org/olat/modules/video/ui/VideoSettingsController.java @@ -101,7 +101,7 @@ public class VideoSettingsController extends BasicController { private void doOpenQualityConfig(UserRequest ureq) { if(qualityEditController == null) { - qualityEditController = new VideoQualityTableFormController(ureq, getWindowControl(), entry.getOlatResource()); + qualityEditController = new VideoQualityTableFormController(ureq, getWindowControl(), entry); } mainVC.put("segmentCmp", qualityEditController.getInitialComponent()); } diff --git a/src/main/java/org/olat/modules/video/ui/VideoTrackEditController.java b/src/main/java/org/olat/modules/video/ui/VideoTrackEditController.java index 01b309d883d65781d725795be33b577eb6833b0e..0cf711f67d05e8067d186647ade26997d52aa482 100644 --- a/src/main/java/org/olat/modules/video/ui/VideoTrackEditController.java +++ b/src/main/java/org/olat/modules/video/ui/VideoTrackEditController.java @@ -23,7 +23,7 @@ import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; import org.olat.core.util.vfs.VFSLeaf; -import org.olat.modules.video.managers.VideoManager; +import org.olat.modules.video.manager.VideoManager; import org.olat.modules.video.models.VideoTracksTableModel; import org.olat.modules.video.models.VideoTracksTableModel.TrackTableCols; import org.olat.resource.OLATResource; diff --git a/src/main/java/org/olat/repository/handlers/VideoHandler.java b/src/main/java/org/olat/repository/handlers/VideoHandler.java index e887c2275a0f2f1deaf7d38f4ef12bbe4c536564..d210de184b81e4d185deff814e2c2a538a0e83a0 100644 --- a/src/main/java/org/olat/repository/handlers/VideoHandler.java +++ b/src/main/java/org/olat/repository/handlers/VideoHandler.java @@ -60,7 +60,7 @@ import org.olat.fileresource.types.FileResource; import org.olat.fileresource.types.ResourceEvaluation; import org.olat.fileresource.types.VideoFileResource; import org.olat.modules.video.VideoModule; -import org.olat.modules.video.managers.VideoManager; +import org.olat.modules.video.manager.VideoManager; import org.olat.modules.video.models.VideoMetadata; import org.olat.modules.video.ui.VideoDisplayController; import org.olat.modules.video.ui.VideoRuntimeController; @@ -74,7 +74,7 @@ import org.olat.resource.OLATResourceManager; import org.springframework.beans.factory.annotation.Autowired; -/** +/** * Initial Date: Mar 27, 2015 * * @author Dirk Furrer