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;