This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 7f0e0f52088 Optimization of loops with the only action of appending a
string several times (#9828)
7f0e0f52088 is described below
commit 7f0e0f52088b993a84da6786e0ac868752bd0ded
Author: dk2k <[email protected]>
AuthorDate: Mon Apr 10 19:38:40 2023 +0300
Optimization of loops with the only action of appending a string several
times (#9828)
* Optimization of loops with the only action of appending a string several
times. For this case String.repeat() method was introduced in java 11
* Removed Math.max() calls inside String.repeat(). Removed a couple of
unneeded StringBuilders
* Removed Math.max() calls inside String.repeat(). Removed a couple of
unneeded StringBuilders
---------
Co-authored-by: dk2k <[email protected]>
---
.../org/apache/camel/maven/RouteCoverageMojo.java | 6 +--
.../camel/parser/model/CamelNodeDetails.java | 6 +--
.../dataformat/bindy/BindyFixedLengthFactory.java | 6 +--
.../jdbc/ClusteredJdbcAggregationRepository.java | 4 +-
.../ClusteredPostgresAggregationRepository.java | 4 +-
.../aggregate/jdbc/JdbcAggregationRepository.java | 4 +-
.../jdbc/PostgresAggregationRepository.java | 4 +-
.../debugger/DefaultBacklogTracerEventMessage.java | 4 +-
.../simple/types/SimpleIllegalSyntaxException.java | 9 ++--
.../org/apache/camel/support/MessageHelper.java | 8 +---
.../main/java/org/apache/camel/util/FileUtil.java | 4 +-
.../java/org/apache/camel/util/json/Jsoner.java | 50 ++++++----------------
12 files changed, 28 insertions(+), 81 deletions(-)
diff --git
a/catalog/camel-report-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
b/catalog/camel-report-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
index 80556a7b8c9..ab3fdec5df8 100644
---
a/catalog/camel-report-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
+++
b/catalog/camel-report-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
@@ -502,11 +502,7 @@ public class RouteCoverageMojo extends AbstractExecMojo {
}
private static String padString(int level) {
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < level; i++) {
- sb.append(" ");
- }
- return sb.toString();
+ return " ".repeat(level);
}
private boolean matchFile(File file) {
diff --git
a/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/model/CamelNodeDetails.java
b/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/model/CamelNodeDetails.java
index 2f5d8faad96..16d786e0c9a 100644
---
a/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/model/CamelNodeDetails.java
+++
b/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/model/CamelNodeDetails.java
@@ -170,10 +170,6 @@ public class CamelNodeDetails {
}
private static String padString(int level) {
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < level; i++) {
- sb.append(" ");
- }
- return sb.toString();
+ return " ".repeat(level);
}
}
diff --git
a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
index 0bf10bd76c3..9bc2b8b505d 100644
---
a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
+++
b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyFixedLengthFactory.java
@@ -553,13 +553,9 @@ public class BindyFixedLengthFactory extends
BindyAbstractFactory implements Bin
}
private String generatePaddingChars(char pad, int lengthField, int
lengthString) {
- StringBuilder buffer = new StringBuilder();
int size = lengthField - lengthString;
- for (int i = 0; i < size; i++) {
- buffer.append(Character.toString(pad));
- }
- return buffer.toString();
+ return Character.toString(pad).repeat(size);
}
/**
diff --git
a/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredJdbcAggregationRepository.java
b/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredJdbcAggregationRepository.java
index 9a82899c60d..0c87afc0de3 100644
---
a/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredJdbcAggregationRepository.java
+++
b/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredJdbcAggregationRepository.java
@@ -124,9 +124,7 @@ public class ClusteredJdbcAggregationRepository extends
JdbcAggregationRepositor
}
queryBuilder.append(") VALUES (");
- for (int i = 0; i < totalParameterIndex - 1; i++) {
- queryBuilder.append("?, ");
- }
+ queryBuilder.append("?, ".repeat(totalParameterIndex - 1));
queryBuilder.append("?)");
String sql = queryBuilder.toString();
diff --git
a/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredPostgresAggregationRepository.java
b/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredPostgresAggregationRepository.java
index 017fa0d6a2c..fdb0b75215a 100644
---
a/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredPostgresAggregationRepository.java
+++
b/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/ClusteredPostgresAggregationRepository.java
@@ -78,9 +78,7 @@ public class ClusteredPostgresAggregationRepository extends
ClusteredJdbcAggrega
queryBuilder.append(") VALUES (");
- for (int i = 0; i < totalParameterIndex - 1; i++) {
- queryBuilder.append("?, ");
- }
+ queryBuilder.append("?, ".repeat(Math.max(0, totalParameterIndex -
1)));
queryBuilder.append("?)");
queryBuilder.append(" ON CONFLICT DO NOTHING");
diff --git
a/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
b/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
index 2bbbef4143b..00aac3c59a2 100644
---
a/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
+++
b/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/JdbcAggregationRepository.java
@@ -264,9 +264,7 @@ public class JdbcAggregationRepository extends
ServiceSupport
queryBuilder.append(") VALUES (");
- for (int i = 0; i < totalParameterIndex - 1; i++) {
- queryBuilder.append("?, ");
- }
+ queryBuilder.append("?, ".repeat(totalParameterIndex - 1));
queryBuilder.append("?)");
String sql = queryBuilder.toString();
diff --git
a/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/PostgresAggregationRepository.java
b/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/PostgresAggregationRepository.java
index 4f1da5bba88..585011782f2 100644
---
a/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/PostgresAggregationRepository.java
+++
b/components/camel-sql/src/main/java/org/apache/camel/processor/aggregate/jdbc/PostgresAggregationRepository.java
@@ -78,9 +78,7 @@ public class PostgresAggregationRepository extends
JdbcAggregationRepository {
queryBuilder.append(") VALUES (");
- for (int i = 0; i < totalParameterIndex - 1; i++) {
- queryBuilder.append("?, ");
- }
+ queryBuilder.append("?, ".repeat(totalParameterIndex - 1));
queryBuilder.append("?)");
queryBuilder.append(" ON CONFLICT DO NOTHING");
diff --git
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultBacklogTracerEventMessage.java
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultBacklogTracerEventMessage.java
index 168a4f2eaca..98bf1595c5b 100644
---
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultBacklogTracerEventMessage.java
+++
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultBacklogTracerEventMessage.java
@@ -183,9 +183,7 @@ public final class DefaultBacklogTracerEventMessage
implements BacklogTracerEven
@Override
public String toXml(int indent) {
StringBuilder prefix = new StringBuilder();
- for (int i = 0; i < indent; i++) {
- prefix.append(" ");
- }
+ prefix.append(" ".repeat(indent));
StringBuilder sb = new StringBuilder();
sb.append(prefix).append("<").append(ROOT_TAG).append(">\n");
diff --git
a/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java
b/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java
index 4215eb088a1..2beec16111f 100644
---
a/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java
+++
b/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/types/SimpleIllegalSyntaxException.java
@@ -23,6 +23,7 @@ import org.apache.camel.ExpressionIllegalSyntaxException;
*/
public class SimpleIllegalSyntaxException extends
ExpressionIllegalSyntaxException {
private static final long serialVersionUID = 1L;
+ private static final String FORMATTED_NULL = "[null]";
private final int index;
private final String message;
@@ -53,7 +54,7 @@ public class SimpleIllegalSyntaxException extends
ExpressionIllegalSyntaxExcepti
*/
public String getShortMessage() {
if (message == null) {
- return "[null]";
+ return FORMATTED_NULL;
}
return message;
}
@@ -61,7 +62,7 @@ public class SimpleIllegalSyntaxException extends
ExpressionIllegalSyntaxExcepti
@Override
public String getMessage() {
if (message == null) {
- return "[null]";
+ return FORMATTED_NULL;
}
StringBuilder sb = new StringBuilder(message);
@@ -69,9 +70,7 @@ public class SimpleIllegalSyntaxException extends
ExpressionIllegalSyntaxExcepti
sb.append(" at location ").append(index);
// create a nice looking message with indicator where the problem
is
sb.append("\n").append(getExpression()).append("\n");
- for (int i = 0; i < index; i++) {
- sb.append(" ");
- }
+ sb.append(" ".repeat(index));
sb.append("*\n");
}
return sb.toString();
diff --git
a/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java
b/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java
index c0617cf16d1..cbc6289d849 100644
---
a/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java
+++
b/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java
@@ -495,9 +495,7 @@ public final class MessageHelper {
StringBuilder sb = new StringBuilder();
StringBuilder prefix = new StringBuilder();
- for (int i = 0; i < indent; i++) {
- prefix.append(" ");
- }
+ prefix.append(" ".repeat(indent));
// include exchangeId/exchangePattern/type as attribute on the
<message> tag
sb.append(prefix);
@@ -1002,9 +1000,7 @@ public final class MessageHelper {
*/
public static String dumpExceptionAsXML(Throwable exception, int indent) {
StringBuilder prefix = new StringBuilder();
- for (int i = 0; i < indent; i++) {
- prefix.append(" ");
- }
+ prefix.append(" ".repeat(indent));
StringBuilder sb = new StringBuilder();
try {
diff --git a/core/camel-util/src/main/java/org/apache/camel/util/FileUtil.java
b/core/camel-util/src/main/java/org/apache/camel/util/FileUtil.java
index 22a6db39253..356027a66de 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/FileUtil.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/FileUtil.java
@@ -345,9 +345,7 @@ public final class FileUtil {
sb.append(":");
}
- for (int i = 0; i < cntSlashsAtStart; i++) {
- sb.append(separator);
- }
+ sb.append(String.valueOf(separator).repeat(cntSlashsAtStart));
// now we build back using FIFO so need to use descending
for (Iterator<String> it = stack.descendingIterator(); it.hasNext();) {
diff --git
a/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Jsoner.java
b/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Jsoner.java
index d8533163ae8..d690ecd3447 100644
---
a/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Jsoner.java
+++
b/tooling/camel-util-json/src/main/java/org/apache/camel/util/json/Jsoner.java
@@ -513,9 +513,7 @@ public final class Jsoner {
|| character >= '\u2000' && character <= '\u20FF')
{
final String characterHexCode =
Integer.toHexString(character);
builder.append("\\u");
- for (int k = 0; k < (4 - characterHexCode.length());
k++) {
- builder.append("0");
- }
+ builder.append("0".repeat((4 -
characterHexCode.length())));
builder.append(characterHexCode.toUpperCase());
} else {
/* Character didn't need escaping. */
@@ -647,11 +645,8 @@ public final class Jsoner {
if (spaces > 10 || spaces < 2) {
throw new IllegalArgumentException("Indentation with spaces must
be between 2 and 10.");
}
- final StringBuilder indentation = new StringBuilder("");
- for (int i = 0; i < spaces; i++) {
- indentation.append(" ");
- }
- return Jsoner.prettyPrint(printable, indentation.toString(), depth);
+
+ return Jsoner.prettyPrint(printable, " ".repeat(spaces), depth);
}
/**
@@ -683,9 +678,7 @@ public final class Jsoner {
returnable.append(lexed.getValue());
if (level <= depth) {
returnable.append("\n");
- for (int i = 0; i < level; i++) {
- returnable.append(indentation);
- }
+
returnable.append(String.valueOf(indentation).repeat(level));
} else {
returnable.append(" ");
}
@@ -698,9 +691,7 @@ public final class Jsoner {
returnable.append(lexed.getValue());
if (++level <= depth) {
returnable.append("\n");
- for (int i = 0; i < level; i++) {
- returnable.append(indentation);
- }
+
returnable.append(String.valueOf(indentation).repeat(level));
} else {
returnable.append(" ");
}
@@ -709,9 +700,7 @@ public final class Jsoner {
case RIGHT_SQUARE:
if (level-- <= depth) {
returnable.append("\n");
- for (int i = 0; i < level; i++) {
- returnable.append(indentation);
- }
+
returnable.append(String.valueOf(indentation).repeat(level));
} else {
returnable.append(" ");
}
@@ -756,11 +745,8 @@ public final class Jsoner {
if (spaces > 10 || spaces < 2) {
throw new IllegalArgumentException("Indentation with spaces must
be between 2 and 10.");
}
- final StringBuilder indentation = new StringBuilder("");
- for (int i = 0; i < spaces; i++) {
- indentation.append(" ");
- }
- return Jsoner.colorPrint(printable, indentation.toString(),
Integer.MAX_VALUE, pretty, color);
+
+ return Jsoner.colorPrint(printable, " ".repeat(spaces),
Integer.MAX_VALUE, pretty, color);
}
public static String colorPrint(
@@ -784,9 +770,7 @@ public final class Jsoner {
if (level <= depth) {
if (pretty) {
returnable.append("\n");
- for (int i = 0; i < level; i++) {
- returnable.append(indentation);
- }
+
returnable.append(String.valueOf(indentation).repeat(level));
}
} else {
if (pretty) {
@@ -804,9 +788,7 @@ public final class Jsoner {
if (++level <= depth) {
if (pretty) {
returnable.append("\n");
- for (int i = 0; i < level; i++) {
- returnable.append(indentation);
- }
+
returnable.append(String.valueOf(indentation).repeat(level));
}
} else {
if (pretty) {
@@ -819,9 +801,7 @@ public final class Jsoner {
if (++level <= depth) {
if (pretty) {
returnable.append("\n");
- for (int i = 0; i < level; i++) {
- returnable.append(indentation);
- }
+
returnable.append(String.valueOf(indentation).repeat(level));
}
} else {
if (pretty) {
@@ -833,9 +813,7 @@ public final class Jsoner {
if (level-- <= depth) {
if (pretty) {
returnable.append("\n");
- for (int i = 0; i < level; i++) {
- returnable.append(indentation);
- }
+
returnable.append(String.valueOf(indentation).repeat(level));
}
} else {
if (pretty) {
@@ -848,9 +826,7 @@ public final class Jsoner {
if (level-- <= depth) {
if (pretty) {
returnable.append("\n");
- for (int i = 0; i < level; i++) {
- returnable.append(indentation);
- }
+
returnable.append(String.valueOf(indentation).repeat(level));
}
} else {
if (pretty) {