From 014766838f6f26d91ad9b70f246e043c05040aed Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Thu, 10 Jul 2025 12:23:48 -0700 Subject: [PATCH] Initialize url pattern matcher only when needed --- api/src/org/labkey/api/util/PageFlowUtil.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/src/org/labkey/api/util/PageFlowUtil.java b/api/src/org/labkey/api/util/PageFlowUtil.java index 70a7201594d..c22804630fb 100644 --- a/api/src/org/labkey/api/util/PageFlowUtil.java +++ b/api/src/org/labkey/api/util/PageFlowUtil.java @@ -221,7 +221,7 @@ static public String filter(CharSequence s, boolean encodeSpace, boolean encodeL StringBuilder sb = new StringBuilder(2 * len); boolean newline = false; - Matcher urlMatcher = urlPatternStart.matcher(s); + CachingSupplier urlMatcher = new CachingSupplier<>(() -> urlPatternStart.matcher(s)); for (int i = 0; i < len; ++i) { @@ -281,10 +281,10 @@ else if (newline) { if (StringUtilsLabKey.startsWithURL(s.subSequence(i, Math.min(s.length(),i+10)))) { - urlMatcher.region(i, s.length()); - if (urlMatcher.lookingAt()) + urlMatcher.get().region(i, s.length()); + if (urlMatcher.get().lookingAt()) { - String href = urlMatcher.group(1); + String href = urlMatcher.get().group(1); if (href.endsWith(".")) href = href.substring(0, href.length() - 1); // for html/xml careful of " and "> and "/>