From 6956ed693c734bc2359bd625e6d9bd76c0bffed5 Mon Sep 17 00:00:00 2001 From: Josh Cummings Date: Thu, 23 May 2024 12:20:14 -0600 Subject: [PATCH] Polish DefaultSecurityFilterChain Logs Reuse String manipulation logic in Spring Framework Compress whitespace Closes gh-15096 --- .../web/DefaultSecurityFilterChain.java | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/web/src/main/java/org/springframework/security/web/DefaultSecurityFilterChain.java b/web/src/main/java/org/springframework/security/web/DefaultSecurityFilterChain.java index f23cb0cc1c..b5908be016 100644 --- a/web/src/main/java/org/springframework/security/web/DefaultSecurityFilterChain.java +++ b/web/src/main/java/org/springframework/security/web/DefaultSecurityFilterChain.java @@ -27,6 +27,7 @@ import org.apache.commons.logging.LogFactory; import org.springframework.core.log.LogMessage; import org.springframework.security.web.util.matcher.RequestMatcher; +import org.springframework.util.StringUtils; /** * Standard implementation of {@code SecurityFilterChain}. @@ -52,18 +53,12 @@ public final class DefaultSecurityFilterChain implements SecurityFilterChain { logger.debug(LogMessage.format("Will not secure %s", requestMatcher)); } else { - StringBuilder filterClassNames = new StringBuilder(); - String separator = ", "; - - for (Filter f : filters) { - if (!filterClassNames.isEmpty()) { - filterClassNames.append(separator); - } - filterClassNames.append(f.getClass().getSimpleName()); + List filterNames = new ArrayList<>(); + for (Filter filter : filters) { + filterNames.add(filter.getClass().getSimpleName()); } - - logger.debug( - LogMessage.format("Will secure %s with filters: %s", requestMatcher, filterClassNames.toString())); + String names = StringUtils.collectionToDelimitedString(filterNames, ", "); + logger.debug(LogMessage.format("Will secure %s with filters: %s", requestMatcher, names)); } this.requestMatcher = requestMatcher; this.filters = new ArrayList<>(filters);