Use StringBuilder to construct a String instead of relying on appending where possible (#24753)
This PR revolves around places in the code where introducing a StringBuilder might make the construction of a String easier to follow and also, maybe avoid a case where the compiler's very safe way of introducing StringBuilder instead of String might not always be optimal for performance.
This commit is contained in:
parent
831c497638
commit
905eb422f6
|
@ -139,11 +139,12 @@ final class RequestLogger {
|
||||||
* Creates curl output for given response
|
* Creates curl output for given response
|
||||||
*/
|
*/
|
||||||
static String buildTraceResponse(HttpResponse httpResponse) throws IOException {
|
static String buildTraceResponse(HttpResponse httpResponse) throws IOException {
|
||||||
String responseLine = "# " + httpResponse.getStatusLine().toString();
|
StringBuilder responseLine = new StringBuilder();
|
||||||
|
responseLine.append("# ").append(httpResponse.getStatusLine());
|
||||||
for (Header header : httpResponse.getAllHeaders()) {
|
for (Header header : httpResponse.getAllHeaders()) {
|
||||||
responseLine += "\n# " + header.getName() + ": " + header.getValue();
|
responseLine.append("\n# ").append(header.getName()).append(": ").append(header.getValue());
|
||||||
}
|
}
|
||||||
responseLine += "\n#";
|
responseLine.append("\n#");
|
||||||
HttpEntity entity = httpResponse.getEntity();
|
HttpEntity entity = httpResponse.getEntity();
|
||||||
if (entity != null) {
|
if (entity != null) {
|
||||||
if (entity.isRepeatable() == false) {
|
if (entity.isRepeatable() == false) {
|
||||||
|
@ -158,11 +159,11 @@ final class RequestLogger {
|
||||||
try (BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), charset))) {
|
try (BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), charset))) {
|
||||||
String line;
|
String line;
|
||||||
while( (line = reader.readLine()) != null) {
|
while( (line = reader.readLine()) != null) {
|
||||||
responseLine += "\n# " + line;
|
responseLine.append("\n# ").append(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return responseLine;
|
return responseLine.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String getUri(RequestLine requestLine) {
|
private static String getUri(RequestLine requestLine) {
|
||||||
|
|
|
@ -299,19 +299,19 @@ public class JvmInfo implements Writeable, ToXContent {
|
||||||
public int versionAsInteger() {
|
public int versionAsInteger() {
|
||||||
try {
|
try {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
String sVersion = "";
|
StringBuilder sVersion = new StringBuilder();
|
||||||
for (; i < version.length(); i++) {
|
for (; i < version.length(); i++) {
|
||||||
if (!Character.isDigit(version.charAt(i)) && version.charAt(i) != '.') {
|
if (!Character.isDigit(version.charAt(i)) && version.charAt(i) != '.') {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (version.charAt(i) != '.') {
|
if (version.charAt(i) != '.') {
|
||||||
sVersion += version.charAt(i);
|
sVersion.append(version.charAt(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
return Integer.parseInt(sVersion);
|
return Integer.parseInt(sVersion.toString());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -320,19 +320,19 @@ public class JvmInfo implements Writeable, ToXContent {
|
||||||
public int versionUpdatePack() {
|
public int versionUpdatePack() {
|
||||||
try {
|
try {
|
||||||
int i = 0;
|
int i = 0;
|
||||||
String sVersion = "";
|
StringBuilder sVersion = new StringBuilder();
|
||||||
for (; i < version.length(); i++) {
|
for (; i < version.length(); i++) {
|
||||||
if (!Character.isDigit(version.charAt(i)) && version.charAt(i) != '.') {
|
if (!Character.isDigit(version.charAt(i)) && version.charAt(i) != '.') {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (version.charAt(i) != '.') {
|
if (version.charAt(i) != '.') {
|
||||||
sVersion += version.charAt(i);
|
sVersion.append(version.charAt(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
Integer.parseInt(sVersion);
|
Integer.parseInt(sVersion.toString());
|
||||||
int from;
|
int from;
|
||||||
if (version.charAt(i) == '_') {
|
if (version.charAt(i) == '_') {
|
||||||
// 1.7.0_4
|
// 1.7.0_4
|
||||||
|
|
|
@ -85,12 +85,12 @@ public abstract class BaseRestHandler extends AbstractComponent implements RestH
|
||||||
final Set<String> invalids,
|
final Set<String> invalids,
|
||||||
final Set<String> candidates,
|
final Set<String> candidates,
|
||||||
final String detail) {
|
final String detail) {
|
||||||
String message = String.format(
|
StringBuilder message = new StringBuilder(String.format(
|
||||||
Locale.ROOT,
|
Locale.ROOT,
|
||||||
"request [%s] contains unrecognized %s%s: ",
|
"request [%s] contains unrecognized %s%s: ",
|
||||||
request.path(),
|
request.path(),
|
||||||
detail,
|
detail,
|
||||||
invalids.size() > 1 ? "s" : "");
|
invalids.size() > 1 ? "s" : ""));
|
||||||
boolean first = true;
|
boolean first = true;
|
||||||
for (final String invalid : invalids) {
|
for (final String invalid : invalids) {
|
||||||
final LevensteinDistance ld = new LevensteinDistance();
|
final LevensteinDistance ld = new LevensteinDistance();
|
||||||
|
@ -108,17 +108,23 @@ public abstract class BaseRestHandler extends AbstractComponent implements RestH
|
||||||
else return a.v2().compareTo(b.v2());
|
else return a.v2().compareTo(b.v2());
|
||||||
});
|
});
|
||||||
if (first == false) {
|
if (first == false) {
|
||||||
message += ", ";
|
message.append(", ");
|
||||||
}
|
}
|
||||||
message += "[" + invalid + "]";
|
message.append("[").append(invalid).append("]");
|
||||||
final List<String> keys = scoredParams.stream().map(Tuple::v2).collect(Collectors.toList());
|
final List<String> keys = scoredParams.stream().map(Tuple::v2).collect(Collectors.toList());
|
||||||
if (keys.isEmpty() == false) {
|
if (keys.isEmpty() == false) {
|
||||||
message += " -> did you mean " + (keys.size() == 1 ? "[" + keys.get(0) + "]" : "any of " + keys.toString()) + "?";
|
message.append(" -> did you mean ");
|
||||||
|
if (keys.size() == 1) {
|
||||||
|
message.append("[").append(keys.get(0)).append("]");
|
||||||
|
} else {
|
||||||
|
message.append("any of ").append(keys.toString());
|
||||||
|
}
|
||||||
|
message.append("?");
|
||||||
}
|
}
|
||||||
first = false;
|
first = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return message;
|
return message.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -42,14 +42,14 @@ public final class RandomDocumentPicks {
|
||||||
*/
|
*/
|
||||||
public static String randomFieldName(Random random) {
|
public static String randomFieldName(Random random) {
|
||||||
int numLevels = RandomNumbers.randomIntBetween(random, 1, 5);
|
int numLevels = RandomNumbers.randomIntBetween(random, 1, 5);
|
||||||
String fieldName = "";
|
StringBuilder fieldName = new StringBuilder();
|
||||||
for (int i = 0; i < numLevels; i++) {
|
for (int i = 0; i < numLevels; i++) {
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
fieldName += ".";
|
fieldName.append('.');
|
||||||
}
|
}
|
||||||
fieldName += randomString(random);
|
fieldName.append(randomString(random));
|
||||||
}
|
}
|
||||||
return fieldName;
|
return fieldName.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -196,21 +196,25 @@ public class ElasticsearchAssertions {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String formatShardStatus(BroadcastResponse response) {
|
public static String formatShardStatus(BroadcastResponse response) {
|
||||||
String msg = " Total shards: " + response.getTotalShards() + " Successful shards: " + response.getSuccessfulShards() + " & "
|
StringBuilder msg = new StringBuilder();
|
||||||
+ response.getFailedShards() + " shard failures:";
|
msg.append(" Total shards: ").append(response.getTotalShards())
|
||||||
|
.append(" Successful shards: ").append(response.getSuccessfulShards())
|
||||||
|
.append(" & ").append(response.getFailedShards()).append(" shard failures:");
|
||||||
for (ShardOperationFailedException failure : response.getShardFailures()) {
|
for (ShardOperationFailedException failure : response.getShardFailures()) {
|
||||||
msg += "\n " + failure.toString();
|
msg.append("\n ").append(failure);
|
||||||
}
|
}
|
||||||
return msg;
|
return msg.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String formatShardStatus(SearchResponse response) {
|
public static String formatShardStatus(SearchResponse response) {
|
||||||
String msg = " Total shards: " + response.getTotalShards() + " Successful shards: " + response.getSuccessfulShards() + " & "
|
StringBuilder msg = new StringBuilder();
|
||||||
+ response.getFailedShards() + " shard failures:";
|
msg.append(" Total shards: ").append(response.getTotalShards())
|
||||||
|
.append(" Successful shards: ").append(response.getSuccessfulShards())
|
||||||
|
.append(" & ").append(response.getFailedShards()).append(" shard failures:");
|
||||||
for (ShardSearchFailure failure : response.getShardFailures()) {
|
for (ShardSearchFailure failure : response.getShardFailures()) {
|
||||||
msg += "\n " + failure.toString();
|
msg.append("\n ").append(failure);
|
||||||
}
|
}
|
||||||
return msg;
|
return msg.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void assertNoSearchHits(SearchResponse searchResponse) {
|
public static void assertNoSearchHits(SearchResponse searchResponse) {
|
||||||
|
|
Loading…
Reference in New Issue