diff --git a/src/main/java/org/olat/core/commons/modules/bc/components/FolderComponent.java b/src/main/java/org/olat/core/commons/modules/bc/components/FolderComponent.java index a8525046984244c248a7281cecd9226a83d71323..9f6f47d25bc01aaa77b8b84eedc5dff278b4598d 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/components/FolderComponent.java +++ b/src/main/java/org/olat/core/commons/modules/bc/components/FolderComponent.java @@ -45,6 +45,8 @@ import org.olat.core.gui.components.ComponentRenderer; import org.olat.core.gui.control.Event; import org.olat.core.gui.translator.Translator; import org.olat.core.id.IdentityEnvironment; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; import org.olat.core.logging.activity.CoreLoggingResourceable; import org.olat.core.logging.activity.ThreadLocalUserActivityLogger; import org.olat.core.util.Util; @@ -60,6 +62,7 @@ import org.olat.core.util.vfs.version.Versionable; * @author Mike Stock */ public class FolderComponent extends AbstractComponent { + private static final OLog log = Tracing.createLoggerFor(FolderComponent.class); private static final ComponentRenderer RENDERER = new FolderComponentRenderer(); public static final String SORT_NAME = "name"; @@ -350,19 +353,25 @@ public class FolderComponent extends AbstractComponent { } // get the children and sort them alphabetically + List<VFSItem> children; if (filter != null) { - currentContainerChildren = currentContainer.getItems(filter); + children = currentContainer.getItems(filter); } else { - currentContainerChildren = currentContainer.getItems(); + children = currentContainer.getItems(); } // OLAT-5256: filter .nfs files - Iterator<VFSItem> it = currentContainerChildren.iterator(); - while(it.hasNext()) { + for(Iterator<VFSItem> it = children.iterator(); it.hasNext(); ) { if (!exclFilter.accept(it.next())) { it.remove(); } } - Collections.sort(currentContainerChildren, comparator); + try { + Collections.sort(children, comparator); + } catch (Exception e) { + log.error("", e); + } + + currentContainerChildren = children; } /** diff --git a/src/main/java/org/olat/core/dispatcher/mapper/MapperDispatcher.java b/src/main/java/org/olat/core/dispatcher/mapper/MapperDispatcher.java index 697795bf5ff84547b05ebf1e7fab19abe9ca38fd..ea66c08e10bc9eb74190bc3deaf17d25aea7de9f 100644 --- a/src/main/java/org/olat/core/dispatcher/mapper/MapperDispatcher.java +++ b/src/main/java/org/olat/core/dispatcher/mapper/MapperDispatcher.java @@ -68,16 +68,13 @@ public class MapperDispatcher extends LogDelegator implements Dispatcher { */ @Override public void execute(HttpServletRequest hreq, HttpServletResponse hres) throws IOException { + if(!hreq.isRequestedSessionIdValid()) { + String pathInfo = hreq.getRequestURI(); + DispatcherModule.sendForbidden(pathInfo, hres); + return; + } String pathInfo = DispatcherModule.subtractContextPath(hreq); - final boolean isDebugLog = isLogDebugEnabled(); - StringBuilder debugMsg = null; - long debug_start = 0; - if (isDebugLog) { - debug_start = System.currentTimeMillis(); - debugMsg = new StringBuilder("::mprex:"); - } - // e.g. non-cacheable: 23423/bla/blu.html // e.g. cacheable: my.mapper.path/bla/blu.html String subInfo = pathInfo.substring(DispatcherModule.PATH_MAPPED.length()); @@ -90,6 +87,7 @@ public class MapperDispatcher extends LogDelegator implements Dispatcher { smappath = subInfo.substring(0, slashPos); } + //legacy??? DBFactory.getInstance().commitAndCloseSession(); @@ -115,12 +113,5 @@ public class MapperDispatcher extends LogDelegator implements Dispatcher { // /bla/blu.html MediaResource mr = m.handle(mod, hreq); ServletUtil.serveResource(hreq, hres, mr); - - if (isDebugLog) { - long afterserved = System.currentTimeMillis(); - long syncIntroDiff = afterserved - debug_start; - debugMsg.append("nanoseconds:").append(syncIntroDiff); - logDebug(debugMsg.toString()); - } } } \ No newline at end of file