From d597e50117d24f1118cf545a542a2a20a4b9bc5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Cea=20Fontenla?= Date: Mon, 2 Jun 2025 13:29:22 +0200 Subject: [PATCH] Use StringBuilder instead of StringBuffer (#128665) --- .../java/org/elasticsearch/painless/api/Augmentation.java | 6 +++--- .../src/main/java/org/elasticsearch/test/rest/Stash.java | 4 ++-- .../xpack/core/security/authc/support/BCrypt.java | 8 ++++---- .../elasticsearch/xpack/esql/action/RequestXContent.java | 2 +- .../xpack/esql/formatter/TextFormatTests.java | 2 +- .../xpack/security/authc/ldap/ActiveDirectorySIDUtil.java | 4 ++-- .../org/elasticsearch/xpack/sql/client/StringUtils.java | 2 +- .../org/elasticsearch/xpack/sql/client/VersionTests.java | 2 +- .../elasticsearch/xpack/sql/plugin/TextFormatTests.java | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/lang-painless/src/main/java/org/elasticsearch/painless/api/Augmentation.java b/modules/lang-painless/src/main/java/org/elasticsearch/painless/api/Augmentation.java index 5dc6fc0bb124..98736054f38b 100644 --- a/modules/lang-painless/src/main/java/org/elasticsearch/painless/api/Augmentation.java +++ b/modules/lang-painless/src/main/java/org/elasticsearch/painless/api/Augmentation.java @@ -456,10 +456,10 @@ public class Augmentation { public static String replaceAll(CharSequence receiver, Pattern pattern, Function replacementBuilder) { Matcher m = pattern.matcher(receiver); if (false == m.find()) { - // CharSequqence's toString is *supposed* to always return the characters in the sequence as a String + // CharSequence's toString is *supposed* to always return the characters in the sequence as a String return receiver.toString(); } - StringBuffer result = new StringBuffer(initialBufferForReplaceWith(receiver)); + StringBuilder result = new StringBuilder(initialBufferForReplaceWith(receiver)); do { m.appendReplacement(result, Matcher.quoteReplacement(replacementBuilder.apply(m))); } while (m.find()); @@ -477,7 +477,7 @@ public class Augmentation { // CharSequqence's toString is *supposed* to always return the characters in the sequence as a String return receiver.toString(); } - StringBuffer result = new StringBuffer(initialBufferForReplaceWith(receiver)); + StringBuilder result = new StringBuilder(initialBufferForReplaceWith(receiver)); m.appendReplacement(result, Matcher.quoteReplacement(replacementBuilder.apply(m))); m.appendTail(result); return result.toString(); diff --git a/test/framework/src/main/java/org/elasticsearch/test/rest/Stash.java b/test/framework/src/main/java/org/elasticsearch/test/rest/Stash.java index 61b8f2ee554c..da07f8a90e50 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/rest/Stash.java +++ b/test/framework/src/main/java/org/elasticsearch/test/rest/Stash.java @@ -104,7 +104,7 @@ public class Stash implements ToXContentFragment { * modern versions of java the uncontended synchronization is very, * very cheap so that should not be a problem. */ - StringBuffer result = new StringBuffer(key.length()); + StringBuilder result = new StringBuilder(key.length()); if (false == matcher.find()) { throw new IllegalArgumentException("Doesn't contain any stash keys [" + key + "]"); } @@ -201,7 +201,7 @@ public class Stash implements ToXContentFragment { } } String builtPath = Matcher.quoteReplacement(pathBuilder.toString()); - StringBuffer newKey = new StringBuffer(key.length()); + StringBuilder newKey = new StringBuilder(key.length()); do { matcher.appendReplacement(newKey, builtPath); } while (matcher.find()); diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/support/BCrypt.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/support/BCrypt.java index ab234073add4..cbf9a2c3f4dc 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/support/BCrypt.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/support/BCrypt.java @@ -1337,7 +1337,7 @@ public class BCrypt { */ private static String encode_base64(byte d[], int len) throws IllegalArgumentException { int off = 0; - StringBuffer rs = new StringBuffer(); + StringBuilder rs = new StringBuilder(); int c1, c2; if (len <= 0 || len > d.length) throw new IllegalArgumentException("Invalid len"); @@ -1387,7 +1387,7 @@ public class BCrypt { * @throws IllegalArgumentException if maxolen is invalid */ private static byte[] decode_base64(String s, int maxolen) throws IllegalArgumentException { - StringBuffer rs = new StringBuffer(); + StringBuilder rs = new StringBuilder(); int off = 0, slen = s.length(), olen = 0; byte ret[]; byte c1, c2, c3, c4, o; @@ -1599,7 +1599,7 @@ public class BCrypt { byte passwordb[], saltb[], hashed[]; char minor = (char) 0; int rounds, off = 0; - StringBuffer rs = new StringBuffer(); + StringBuilder rs = new StringBuilder(); if (salt.charAt(0) != '$' || salt.charAt(1) != '2') throw new IllegalArgumentException("Invalid salt version"); if (salt.charAt(2) == '$') off = 3; @@ -1674,7 +1674,7 @@ public class BCrypt { * @return an encoded salt value */ public static String gensalt(int log_rounds, SecureRandom random) { - StringBuffer rs = new StringBuffer(); + StringBuilder rs = new StringBuilder(); byte rnd[] = new byte[BCRYPT_SALT_LEN]; random.nextBytes(rnd); diff --git a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/RequestXContent.java b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/RequestXContent.java index e77d7b41aaca..da5c6c761ae9 100644 --- a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/RequestXContent.java +++ b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/RequestXContent.java @@ -54,7 +54,7 @@ final class RequestXContent { } String fields() { - StringBuffer s = new StringBuffer(); + StringBuilder s = new StringBuilder(); for (Map.Entry entry : fields.entrySet()) { if (s.length() > 0) { s.append(", "); diff --git a/x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/formatter/TextFormatTests.java b/x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/formatter/TextFormatTests.java index 9c45c998ac96..2f11d4ae2fc1 100644 --- a/x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/formatter/TextFormatTests.java +++ b/x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/formatter/TextFormatTests.java @@ -161,7 +161,7 @@ public class TextFormatTests extends ESTestCase { List expectedTerms = terms.stream() .map(x -> x.contains(String.valueOf(delim)) ? '"' + x + '"' : x) .collect(Collectors.toList()); - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); do { sb.append(expectedTerms.remove(0)); sb.append(delim); diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/ldap/ActiveDirectorySIDUtil.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/ldap/ActiveDirectorySIDUtil.java index 839d47138980..1051d3457fd7 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/ldap/ActiveDirectorySIDUtil.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/authc/ldap/ActiveDirectorySIDUtil.java @@ -51,7 +51,7 @@ public class ActiveDirectorySIDUtil { } char[] hex = Hex.encodeHex(bytes); - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); // start with 'S' sb.append('S'); @@ -76,7 +76,7 @@ public class ActiveDirectorySIDUtil { // sub-authorities, little-endian for (int i = 0; i < count; i++) { - StringBuffer rid = new StringBuffer(); + StringBuilder rid = new StringBuilder(); for (int k = 3; k >= 0; k--) { rid.append(hex[16 + (i * 8) + (k * 2)]); diff --git a/x-pack/plugin/sql/sql-client/src/main/java/org/elasticsearch/xpack/sql/client/StringUtils.java b/x-pack/plugin/sql/sql-client/src/main/java/org/elasticsearch/xpack/sql/client/StringUtils.java index 4f5239e1ca8e..7d60e8c869ef 100644 --- a/x-pack/plugin/sql/sql-client/src/main/java/org/elasticsearch/xpack/sql/client/StringUtils.java +++ b/x-pack/plugin/sql/sql-client/src/main/java/org/elasticsearch/xpack/sql/client/StringUtils.java @@ -305,7 +305,7 @@ public abstract class StringUtils { if (count < 0) { throw new IllegalArgumentException("negative count: " + count); } - StringBuffer sb = new StringBuffer(in.length() * count); + StringBuilder sb = new StringBuilder(in.length() * count); for (int i = 0; i < count; i++) { sb.append(in); } diff --git a/x-pack/plugin/sql/sql-client/src/test/java/org/elasticsearch/xpack/sql/client/VersionTests.java b/x-pack/plugin/sql/sql-client/src/test/java/org/elasticsearch/xpack/sql/client/VersionTests.java index 1e33fafbe56f..113a9b13746f 100644 --- a/x-pack/plugin/sql/sql-client/src/test/java/org/elasticsearch/xpack/sql/client/VersionTests.java +++ b/x-pack/plugin/sql/sql-client/src/test/java/org/elasticsearch/xpack/sql/client/VersionTests.java @@ -35,7 +35,7 @@ public class VersionTests extends ESTestCase { private static final String JAR_PATH_SEPARATOR = "!/"; private static String versionString(byte[] parts) { - StringBuffer version = new StringBuffer(); + StringBuilder version = new StringBuilder(); for (byte part : parts) { version.append("."); version.append(part); diff --git a/x-pack/plugin/sql/src/test/java/org/elasticsearch/xpack/sql/plugin/TextFormatTests.java b/x-pack/plugin/sql/src/test/java/org/elasticsearch/xpack/sql/plugin/TextFormatTests.java index 10e8496b1230..2227fb1b1f48 100644 --- a/x-pack/plugin/sql/src/test/java/org/elasticsearch/xpack/sql/plugin/TextFormatTests.java +++ b/x-pack/plugin/sql/src/test/java/org/elasticsearch/xpack/sql/plugin/TextFormatTests.java @@ -97,7 +97,7 @@ public class TextFormatTests extends ESTestCase { List expectedTerms = terms.stream() .map(x -> x.contains(String.valueOf(delim)) ? '"' + x + '"' : x) .collect(Collectors.toList()); - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); do { sb.append(expectedTerms.remove(0)); sb.append(delim);