From d9abc68789593048f3abcebfd87ba0aff2a43c32 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Wed, 17 Jan 2024 18:09:12 -0500 Subject: [PATCH] Might as well handle `containsSymLink` the same way. Will never matter for artifact display with either the built-in or pluggable managers, but could improve performance of workspace listing with slow agent connections. --- .../main/java/hudson/model/DirectoryBrowserSupport.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/hudson/model/DirectoryBrowserSupport.java b/core/src/main/java/hudson/model/DirectoryBrowserSupport.java index 53ff8c49fc89..adf5b3479358 100644 --- a/core/src/main/java/hudson/model/DirectoryBrowserSupport.java +++ b/core/src/main/java/hudson/model/DirectoryBrowserSupport.java @@ -327,7 +327,7 @@ private void serveFile(StaplerRequest req, StaplerResponse rsp, VirtualFile root // serve directory index var result = baseFile.run(new BuildChildPaths(baseFile, req.getLocale(), getOpenOptions())); glob = result.glob; - containsSymlink = baseFile.containsSymLinkChild(getOpenOptions()); + containsSymlink = result.containsSymLink; containsTmpDir = result.containsTmpDir; } @@ -751,9 +751,11 @@ private int dirRank(VirtualFile f) { private static final class BuildChildPathsResult implements Serializable { // TODO Java 21+ record private static final long serialVersionUID = 1; private final List> glob; + private final boolean containsSymLink; private final boolean containsTmpDir; - BuildChildPathsResult(List> glob, boolean containsTmpDir) { + BuildChildPathsResult(List> glob, boolean containsSymLink, boolean containsTmpDir) { this.glob = glob; + this.containsSymLink = containsSymLink; this.containsTmpDir = containsTmpDir; } } @@ -769,7 +771,7 @@ private static final class BuildChildPaths extends MasterToSlaveCallable