From 6ccc793908a5b82998dbf3a28d1042f1d4b3999d Mon Sep 17 00:00:00 2001 From: aboeckle <alexander.boeckle@frentix.com> Date: Mon, 23 Dec 2019 14:02:50 +0100 Subject: [PATCH] OO-4375 Added configuration for file size indicator --- .../olat/admin/sysinfo/LargeFilesController.java | 5 ++++- .../sysinfo/gui/LargeFilesSizeCellRenderer.java | 11 +++++++++-- .../commons/services/vfs/VFSRepositoryModule.java | 14 ++++++++++++++ src/main/resources/serviceconfig/olat.properties | 6 ++++++ 4 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/olat/admin/sysinfo/LargeFilesController.java b/src/main/java/org/olat/admin/sysinfo/LargeFilesController.java index d75edd12b6f..124150d74dd 100644 --- a/src/main/java/org/olat/admin/sysinfo/LargeFilesController.java +++ b/src/main/java/org/olat/admin/sysinfo/LargeFilesController.java @@ -38,6 +38,7 @@ import org.olat.admin.sysinfo.model.LargeFilesTableModel.LargeFilesTableColumns; import org.olat.core.commons.persistence.SortKey; import org.olat.core.commons.services.vfs.VFSFilterKeys; import org.olat.core.commons.services.vfs.VFSMetadata; +import org.olat.core.commons.services.vfs.VFSRepositoryModule; import org.olat.core.commons.services.vfs.VFSRepositoryService; import org.olat.core.commons.services.vfs.VFSRevision; import org.olat.core.gui.UserRequest; @@ -112,6 +113,8 @@ public class LargeFilesController extends FormBasicController implements Extende @Autowired private VFSRepositoryService vfsRepositoryService; + @Autowired + private VFSRepositoryModule vfsRepositoryModule; public LargeFilesController(UserRequest ureq, WindowControl wControl) { @@ -297,7 +300,7 @@ public class LargeFilesController extends FormBasicController implements Extende columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, LargeFilesTableColumns.key)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, LargeFilesTableColumns.uuid)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, LargeFilesTableColumns.name, new LargeFilesNameCellRenderer())); - columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, LargeFilesTableColumns.size, new LargeFilesSizeCellRenderer())); + columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, LargeFilesTableColumns.size, new LargeFilesSizeCellRenderer(vfsRepositoryModule))); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(true, LargeFilesTableColumns.path)); columnsModel.addFlexiColumnModel(new DefaultFlexiColumnModel(false, LargeFilesTableColumns.age, new LargeFilesAgeCellRenderer())); diff --git a/src/main/java/org/olat/admin/sysinfo/gui/LargeFilesSizeCellRenderer.java b/src/main/java/org/olat/admin/sysinfo/gui/LargeFilesSizeCellRenderer.java index 998efaa3501..d41af00575b 100644 --- a/src/main/java/org/olat/admin/sysinfo/gui/LargeFilesSizeCellRenderer.java +++ b/src/main/java/org/olat/admin/sysinfo/gui/LargeFilesSizeCellRenderer.java @@ -19,6 +19,7 @@ */ package org.olat.admin.sysinfo.gui; +import org.olat.core.commons.services.vfs.VFSRepositoryModule; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiCellRenderer; import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableComponent; import org.olat.core.gui.render.Renderer; @@ -36,6 +37,12 @@ import org.olat.core.util.StringHelper; * */ public class LargeFilesSizeCellRenderer implements FlexiCellRenderer{ + VFSRepositoryModule vfsRepositoryModule; + + public LargeFilesSizeCellRenderer(VFSRepositoryModule vfsRepositoryModule) { + this.vfsRepositoryModule = vfsRepositoryModule; + } + @Override public void render(Renderer renderer, StringOutput target, Object cellValue, int row, FlexiTableComponent source, URLBuilder ubu, Translator translator) { @@ -44,9 +51,9 @@ public class LargeFilesSizeCellRenderer implements FlexiCellRenderer{ String color; Long size = ((Number)cellValue).longValue(); - if(size < 5000) { + if(size < vfsRepositoryModule.getLowerBorder()) { color = "okay"; - } else if(size < 10000) { + } else if(size < vfsRepositoryModule.getUpperBorder()) { color = "warning"; } else { color = "large"; diff --git a/src/main/java/org/olat/core/commons/services/vfs/VFSRepositoryModule.java b/src/main/java/org/olat/core/commons/services/vfs/VFSRepositoryModule.java index eb76ad56dd0..8b7fba2030c 100644 --- a/src/main/java/org/olat/core/commons/services/vfs/VFSRepositoryModule.java +++ b/src/main/java/org/olat/core/commons/services/vfs/VFSRepositoryModule.java @@ -29,6 +29,7 @@ import org.olat.core.util.coordinate.CoordinatorManager; import org.olat.core.util.vfs.VFSConstants; import org.olat.core.util.vfs.VFSStatus; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; /** @@ -44,6 +45,11 @@ public class VFSRepositoryModule extends AbstractSpringModule { private boolean migrated; + @Value("${vfs.largefiles.upperborder}") + private long upperBorder; + @Value("${vfs.largefiles.lowerborder}") + private long lowerBorder; + @Autowired public VFSRepositoryModule(CoordinatorManager coordinatorManager) { super(coordinatorManager); @@ -109,5 +115,13 @@ public class VFSRepositoryModule extends AbstractSpringModule { && !filename.equals("__MACOSX") ? VFSConstants.YES : VFSConstants.NO; } + + public long getUpperBorder() { + return upperBorder; + } + + public long getLowerBorder() { + return lowerBorder; + } } diff --git a/src/main/resources/serviceconfig/olat.properties b/src/main/resources/serviceconfig/olat.properties index 08db266263f..661ae44894f 100644 --- a/src/main/resources/serviceconfig/olat.properties +++ b/src/main/resources/serviceconfig/olat.properties @@ -1672,3 +1672,9 @@ live.stream.edit.coach=false # Profile to control witch stream is visible for the watchers. live.stream.player.profile=both live.stream.player.profile.values=both,stream1,stream2 + +############################################################################### +# Options for the VFS large files admin GUI +############################################################################### +vfs.largefiles.upperborder=157286400 +vfs.largefiles.lowerborder=26214400 -- GitLab