You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by ab...@apache.org on 2019/03/22 08:24:25 UTC
[cayenne] branch STABLE-4.1 updated: CompactSlf4jJdbcEventLogger
refactoring
This is an automated email from the ASF dual-hosted git repository.
abulatski pushed a commit to branch STABLE-4.1
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/STABLE-4.1 by this push:
new 92d0863 CompactSlf4jJdbcEventLogger refactoring
92d0863 is described below
commit 92d0863cb9b963cad17df3fe3792d9fb9a8e662d
Author: Arseni Bulatski <an...@gmail.com>
AuthorDate: Fri Mar 22 11:16:12 2019 +0300
CompactSlf4jJdbcEventLogger refactoring
---
.../cayenne/log/CompactSlf4jJdbcEventLogger.java | 25 ++++++++++++----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/log/CompactSlf4jJdbcEventLogger.java b/cayenne-server/src/main/java/org/apache/cayenne/log/CompactSlf4jJdbcEventLogger.java
index c74cd7a..3879def 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/log/CompactSlf4jJdbcEventLogger.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/log/CompactSlf4jJdbcEventLogger.java
@@ -18,12 +18,6 @@
****************************************************************/
package org.apache.cayenne.log;
-import org.apache.cayenne.access.translator.DbAttributeBinding;
-import org.apache.cayenne.access.translator.ParameterBinding;
-import org.apache.cayenne.configuration.RuntimeProperties;
-import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.map.DbAttribute;
-
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -32,6 +26,12 @@ import java.util.Map;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
+import org.apache.cayenne.access.translator.DbAttributeBinding;
+import org.apache.cayenne.access.translator.ParameterBinding;
+import org.apache.cayenne.configuration.RuntimeProperties;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.map.DbAttribute;
+
/**
* @since 4.1
*/
@@ -42,6 +42,8 @@ public class CompactSlf4jJdbcEventLogger extends Slf4jJdbcEventLogger {
private static final String FROM = "FROM";
private static final char SPACE = ' ';
+ private static final Pattern UNION_PATTERN = Pattern.compile(UNION, Pattern.CASE_INSENSITIVE);
+
public CompactSlf4jJdbcEventLogger(@Inject RuntimeProperties runtimeProperties) {
super(runtimeProperties);
}
@@ -53,7 +55,7 @@ public class CompactSlf4jJdbcEventLogger extends Slf4jJdbcEventLogger {
}
String str;
- if (sql.toUpperCase().contains(UNION)) {
+ if (UNION_PATTERN.matcher(sql).find()) {
str = processUnionSql(sql);
} else {
str = trimSqlSelectColumns(sql);
@@ -63,8 +65,8 @@ public class CompactSlf4jJdbcEventLogger extends Slf4jJdbcEventLogger {
}
protected String processUnionSql(String sql) {
- String modified = Pattern.compile(UNION.toLowerCase(), Pattern.CASE_INSENSITIVE)
- .matcher(sql).replaceAll(UNION);
+ String modified = UNION_PATTERN.matcher(sql)
+ .replaceAll(UNION);
String[] queries = modified.split(UNION);
return Arrays.stream(queries)
.map(this::trimSqlSelectColumns)
@@ -72,12 +74,13 @@ public class CompactSlf4jJdbcEventLogger extends Slf4jJdbcEventLogger {
}
protected String trimSqlSelectColumns(String sql) {
- int selectIndex = sql.toUpperCase().indexOf(SELECT);
+ String str = sql.toUpperCase();
+ int selectIndex = str.indexOf(SELECT);
if (selectIndex == -1) {
return sql;
}
selectIndex += SELECT.length();
- int fromIndex = sql.toUpperCase().indexOf(FROM);
+ int fromIndex = str.indexOf(FROM);
String columns = sql.substring(selectIndex, fromIndex);
String[] columnsArray = columns.split(",");
if (columnsArray.length <= 3) {