This is an automated email from the ASF dual-hosted git repository. jamesfredley pushed a commit to branch refactor/legacy-jdk-types in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 0a726c6500964b5b351f90f007d5fd436aff5b74 Author: James Fredley <[email protected]> AuthorDate: Fri Jul 17 04:46:08 2026 -0400 Replace local StringBuffer usage with StringBuilder Assisted-by: opencode:gpt-5.6-sol --- .../org/grails/datastore/gorm/jdbc/RelaxedNames.java | 4 ++-- .../main/groovy/org/grails/io/support/SpringIOUtils.java | 2 +- .../org/grails/gsp/compiler/GrailsLayoutPreprocessor.java | 14 +++++++------- .../src/main/groovy/org/grails/web/json/JSONTokener.java | 2 +- .../groovy/org/grails/web/mapping/RegexUrlMapping.java | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/jdbc/RelaxedNames.java b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/jdbc/RelaxedNames.java index 87fe47cc50..0cab941153 100644 --- a/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/jdbc/RelaxedNames.java +++ b/grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/jdbc/RelaxedNames.java @@ -142,7 +142,7 @@ final class RelaxedNames implements Iterable<String> { @Override public String apply(String value) { Matcher matcher = CAMEL_CASE_PATTERN.matcher(value); - StringBuffer result = new StringBuffer(); + StringBuilder result = new StringBuilder(); while (matcher.find()) { matcher.appendReplacement(result, matcher.group(1) + '_' + StringUtils.uncapitalize(matcher.group(2))); @@ -156,7 +156,7 @@ final class RelaxedNames implements Iterable<String> { @Override public String apply(String value) { Matcher matcher = CAMEL_CASE_PATTERN.matcher(value); - StringBuffer result = new StringBuffer(); + StringBuilder result = new StringBuilder(); while (matcher.find()) { matcher.appendReplacement(result, matcher.group(1) + '-' + StringUtils.uncapitalize(matcher.group(2))); diff --git a/grails-gradle/model/src/main/groovy/org/grails/io/support/SpringIOUtils.java b/grails-gradle/model/src/main/groovy/org/grails/io/support/SpringIOUtils.java index 31eee26c26..027cce4e3e 100644 --- a/grails-gradle/model/src/main/groovy/org/grails/io/support/SpringIOUtils.java +++ b/grails-gradle/model/src/main/groovy/org/grails/io/support/SpringIOUtils.java @@ -92,7 +92,7 @@ public class SpringIOUtils { return null; } - StringBuffer out = new StringBuffer(in.length * 2); + StringBuilder out = new StringBuilder(in.length * 2); //CheckStyle:MagicNumber OFF for (int i = 0; i < in.length; i++) { diff --git a/grails-gsp/core/src/main/groovy/org/grails/gsp/compiler/GrailsLayoutPreprocessor.java b/grails-gsp/core/src/main/groovy/org/grails/gsp/compiler/GrailsLayoutPreprocessor.java index 0592aa1ec4..8171511ece 100644 --- a/grails-gsp/core/src/main/groovy/org/grails/gsp/compiler/GrailsLayoutPreprocessor.java +++ b/grails-gsp/core/src/main/groovy/org/grails/gsp/compiler/GrailsLayoutPreprocessor.java @@ -41,14 +41,14 @@ public class GrailsLayoutPreprocessor { public static final String XML_CLOSING_FOR_EMPTY_TAG_ATTRIBUTE_NAME = "gsp_sm_xmlClosingForEmptyTag"; public String addGspGrailsLayoutCapturing(String gspSource) { - StringBuffer sb = addHeadCapturing(gspSource); + StringBuilder sb = addHeadCapturing(gspSource); sb = addBodyCapturing(sb); sb = addContentCapturing(sb); return sb.toString(); } - StringBuffer addHeadCapturing(String gspSource) { - StringBuffer sb = new StringBuffer((int) (gspSource.length() * 1.2)); + StringBuilder addHeadCapturing(String gspSource) { + StringBuilder sb = new StringBuilder((int) (gspSource.length() * 1.2)); Matcher m = headPattern.matcher(gspSource); if (m.find()) { m.appendReplacement(sb, ""); @@ -83,13 +83,13 @@ public class GrailsLayoutPreprocessor { return m.replaceAll("<grailsLayout:wrapTitleTag><grailsLayout:captureTitle$1>$2</grailsLayout:captureTitle></grailsLayout:wrapTitleTag>"); } - StringBuffer addBodyCapturing(StringBuffer sb) { + StringBuilder addBodyCapturing(StringBuilder sb) { Matcher m = bodyPattern.matcher(sb); - return new StringBuffer(m.replaceAll("<grailsLayout:captureBody$1>$2</grailsLayout:captureBody>")); + return new StringBuilder(m.replaceAll("<grailsLayout:captureBody$1>$2</grailsLayout:captureBody>")); } - StringBuffer addContentCapturing(StringBuffer sb) { + StringBuilder addContentCapturing(StringBuilder sb) { Matcher m = contentPattern.matcher(sb); - return new StringBuffer(m.replaceAll("<grailsLayout:captureContent$1>$2</grailsLayout:captureContent>")); + return new StringBuilder(m.replaceAll("<grailsLayout:captureContent$1>$2</grailsLayout:captureContent>")); } } diff --git a/grails-web-common/src/main/groovy/org/grails/web/json/JSONTokener.java b/grails-web-common/src/main/groovy/org/grails/web/json/JSONTokener.java index 2b0018e8b9..9fb222e970 100644 --- a/grails-web-common/src/main/groovy/org/grails/web/json/JSONTokener.java +++ b/grails-web-common/src/main/groovy/org/grails/web/json/JSONTokener.java @@ -470,7 +470,7 @@ public class JSONTokener { endIndex = 19; appendDots = true; } - StringBuffer output = new StringBuffer(" at character " + this.myIndex + " of " + this.mySource.substring(0, endIndex)); + StringBuilder output = new StringBuilder(" at character " + this.myIndex + " of " + this.mySource.substring(0, endIndex)); if (appendDots) { output.append("..."); } diff --git a/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/RegexUrlMapping.java b/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/RegexUrlMapping.java index 8aa4143d78..d2283f2204 100644 --- a/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/RegexUrlMapping.java +++ b/grails-web-url-mappings/src/main/groovy/org/grails/web/mapping/RegexUrlMapping.java @@ -391,7 +391,7 @@ public class RegexUrlMapping extends AbstractUrlMapping { } m = DOUBLE_WILDCARD_PATTERN.matcher(token); if (m.find()) { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); do { ConstrainedProperty prop = constraints[paramIndex++]; String propName = prop.getPropertyName();
