You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2018/11/26 14:50:43 UTC
[4/6] tomee git commit: removes String concatenation loop in
LoggingPreparedSqlStatement
removes String concatenation loop in LoggingPreparedSqlStatement
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/e859469a
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/e859469a
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/e859469a
Branch: refs/heads/master
Commit: e859469a996d4581a971869f685dea5bf9b06b8d
Parents: 20b08f5
Author: Otavio Santana <ot...@gmail.com>
Authored: Thu Nov 22 13:24:41 2018 -0200
Committer: Otavio Santana <ot...@gmail.com>
Committed: Thu Nov 22 13:24:41 2018 -0200
----------------------------------------------------------------------
.../logging/LoggingPreparedSqlStatement.java | 26 ++++++++++----------
1 file changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/e859469a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java
index 9b78d3f..d68135b 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/logging/LoggingPreparedSqlStatement.java
@@ -75,13 +75,13 @@ public class LoggingPreparedSqlStatement implements InvocationHandler {
parameters.add(param);
} else if (execute) {
- String str = sql;
- if (str.contains("?")) {
+ StringBuilder str = new StringBuilder(sql);
+ if (str.toString().contains("?")) {
Collections.sort(parameters);
int lastBatch = 0;
for (int i = 0; i < parameters.size(); i++) {
final Parameter param = parameters.get(i);
- if (str.contains("?")) {
+ if (str.toString().contains("?")) {
try {
String val;
if (ByteArrayInputStream.class.isInstance(param.value)) {
@@ -95,40 +95,40 @@ public class LoggingPreparedSqlStatement implements InvocationHandler {
} else {
val = param.value.toString();
}
- str = str.replaceFirst("\\?", val);
+ str = new StringBuilder(str.toString().replaceFirst("\\?", val));
} catch (final Exception e) {
if (param.value == null) {
- str = str.replaceFirst("\\?", "null");
+ str = new StringBuilder(str.toString().replaceFirst("\\?", "null"));
} else {
- str = str.replaceFirst("\\?", param.value.getClass().getName());
+ str = new StringBuilder(str.toString().replaceFirst("\\?", param.value.getClass().getName()));
}
}
lastBatch = param.batchIndex;
} else {
if (lastBatch != param.batchIndex) {
- str += ", (";
+ str.append(", (");
lastBatch = param.batchIndex;
}
try {
- str += param.value.toString();
+ str.append(param.value.toString());
} catch (final Exception e) {
if (param.value == null) {
- str += "null";
+ str.append("null");
} else {
- str += param.value.getClass().getName();
+ str.append(param.value.getClass().getName());
}
}
if (i == parameters.size() - 1 || parameters.get(i + 1).batchIndex != lastBatch) {
- str += ")";
+ str.append(")");
} else {
- str += ",";
+ str.append(",");
}
}
}
}
- LOGGER.info(result.format(str) + (packages != null ? " - stack:" + TimeWatcherExecutor.inlineStack(packages) : ""));
+ LOGGER.info(result.format(str.toString()) + (packages != null ? " - stack:" + TimeWatcherExecutor.inlineStack(packages) : ""));
} else if ("clearParameters".equals(mtdName)) {
parameters.clear();
parameterIndex = 0;