diff --git a/src/main/java/org/olat/admin/sysinfo/LargeFilesController.java b/src/main/java/org/olat/admin/sysinfo/LargeFilesController.java index d75edd12b6f3697a7a1f8d0b01ca05bcfbd9f92a..124150d74dd54bf87768bfe1ed36b43c85ad960d 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 998efaa3501ebcc60557bafb41a7e275905e81ef..d41af00575b922b8886bfe4576aa59fca3dbbd74 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 eb76ad56dd0f708feb49c34de9fa9bca2cb9b91a..8b7fba2030c418db7f065c32f63586e5b1ba94b5 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 08db266263f543684c3e32f7439fd218c4ca28d3..661ae44894faf9c02ddd84436f4b6b8d8cfc3b91 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