This is an automated email from the ASF dual-hosted git repository.
zhaojinchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 15708d2130f Refactor AbstractTestParameterLoader and impls (#25586)
15708d2130f is described below
commit 15708d2130f8e79897a69ac0fc5fa846a3d41c91
Author: Liang Zhang <[email protected]>
AuthorDate: Thu May 11 22:47:54 2023 +0800
Refactor AbstractTestParameterLoader and impls (#25586)
* Add the missing @deprecated Javadoc tag
* Rollback sonar cloud action
* Refactor AbstractTestParameterLoader and impls
---
.../loader/ExternalMySQLTestParameterLoader.java | 50 ++++++++--------------
.../ExternalPostgreSQLTestParameterLoader.java | 18 ++------
.../test/loader/AbstractTestParameterLoader.java | 6 +--
3 files changed, 26 insertions(+), 48 deletions(-)
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/loader/ExternalMySQLTestParameterLoader.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/loader/ExternalMySQLTestParameterLoader.java
index 241a07ab2b0..482b1596cbd 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/loader/ExternalMySQLTestParameterLoader.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/loader/ExternalMySQLTestParameterLoader.java
@@ -38,60 +38,48 @@ public final class ExternalMySQLTestParameterLoader extends
AbstractTestParamete
super(loadStrategy);
}
- /**
- * Create external SQL parser test parameters.
- *
- * @param sqlCaseFileName SQL case file name
- * @param sqlCaseFileContent SQL case file content
- * @param resultFileContent result file content
- * @param databaseType database type
- * @param reportType report type
- * @return external SQL parser test parameters
- */
- public Collection<ExternalSQLParserTestParameter>
createTestParameters(final String sqlCaseFileName,
-
final List<String> sqlCaseFileContent,
+ @Override
+ public Collection<ExternalSQLParserTestParameter>
createTestParameters(final String sqlCaseFileName, final List<String>
sqlCaseFileContent,
final List<String> resultFileContent, final String databaseType, final String
reportType) {
Collection<ExternalSQLParserTestParameter> result = new LinkedList<>();
- List<String> sqlLines = new ArrayList<>();
+ List<String> lines = new ArrayList<>();
int sqlCaseIndex = 1;
String delimiter = ";";
- for (String line : sqlCaseFileContent) {
- String trimLine = line.trim();
- if (trimLine.isEmpty() || 0 == sqlLines.size() &&
isComment(trimLine)) {
+ for (String each : sqlCaseFileContent) {
+ String line = each.trim();
+ if (line.isEmpty() || lines.isEmpty() && isComment(line)) {
continue;
}
- if (0 == sqlLines.size() &&
trimLine.toUpperCase().startsWith("DELIMITER")) {
- delimiter = getNewDelimiter(trimLine, delimiter);
+ if (0 == lines.size() &&
line.toUpperCase().startsWith("DELIMITER")) {
+ delimiter = getNewDelimiter(line, delimiter);
continue;
}
- sqlLines.add(trimLine);
- if (trimLine.endsWith(delimiter)) {
- if (existInResultContent(resultFileContent, sqlLines)) {
+ lines.add(line);
+ if (line.endsWith(delimiter)) {
+ if (existInResultContent(resultFileContent, lines)) {
String sqlCaseId = sqlCaseFileName + sqlCaseIndex++;
- String sql = String.join("\n", sqlLines);
+ String sql = String.join("\n", lines);
sql = sql.substring(0, sql.length() - delimiter.length());
result.add(new ExternalSQLParserTestParameter(sqlCaseId,
databaseType, sql, reportType));
}
- sqlLines.clear();
+ lines.clear();
}
}
return result;
}
- private String getNewDelimiter(final String trimSql, final String
delimiter) {
- String newDelimiter = trimSql
- .substring(DELIMITER_COMMAND_LENGTH,
trimSql.endsWith(delimiter) ? trimSql.length() - delimiter.length() :
trimSql.length())
- .trim();
+ private boolean isComment(final String line) {
+ return line.startsWith("#") || line.startsWith("/") ||
line.startsWith("--") || line.startsWith(":") || line.startsWith("\\");
+ }
+
+ private String getNewDelimiter(final String sql, final String delimiter) {
+ String newDelimiter = sql.substring(DELIMITER_COMMAND_LENGTH,
sql.endsWith(delimiter) ? sql.length() - delimiter.length() :
sql.length()).trim();
if (newDelimiter.startsWith("\"") && newDelimiter.endsWith("\"") ||
newDelimiter.startsWith("'") && newDelimiter.endsWith("'")) {
newDelimiter = newDelimiter.substring(1, newDelimiter.length() -
1);
}
return newDelimiter.isEmpty() ? delimiter : newDelimiter;
}
- private boolean isComment(final String statement) {
- return statement.startsWith("#") || statement.startsWith("/") ||
statement.startsWith("--") || statement.startsWith(":") ||
statement.startsWith("\\");
- }
-
private boolean existInResultContent(final List<String> resultLines, final
List<String> sqlLines) {
int nextLineIndex = findSQLNextLineIndex(resultLines, sqlLines);
return -1 != nextLineIndex && (nextLineIndex == resultLines.size() ||
!resultLines.get(nextLineIndex).contains("ERROR"));
diff --git
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/loader/ExternalPostgreSQLTestParameterLoader.java
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/loader/ExternalPostgreSQLTestParameterLoader.java
index 20cd45de664..eb59c9fb6f5 100644
---
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/loader/ExternalPostgreSQLTestParameterLoader.java
+++
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/loader/ExternalPostgreSQLTestParameterLoader.java
@@ -34,18 +34,8 @@ public final class ExternalPostgreSQLTestParameterLoader
extends AbstractTestPar
super(loadStrategy);
}
- /**
- * Create external SQL parser test parameters.
- *
- * @param sqlCaseFileName SQL case file name
- * @param sqlCaseFileContent SQL case file content
- * @param resultFileContent result file content
- * @param databaseType database type
- * @param reportType report type
- * @return external SQL parser test parameters
- */
- public Collection<ExternalSQLParserTestParameter>
createTestParameters(final String sqlCaseFileName,
-
final List<String> sqlCaseFileContent,
+ @Override
+ public Collection<ExternalSQLParserTestParameter>
createTestParameters(final String sqlCaseFileName, final List<String>
sqlCaseFileContent,
final List<String> resultFileContent, final String databaseType, final String
reportType) {
Collection<ExternalSQLParserTestParameter> result = new LinkedList<>();
String completedSQL = "";
@@ -82,8 +72,8 @@ public final class ExternalPostgreSQLTestParameterLoader
extends AbstractTestPar
return (rawSQLLine.isEmpty() || isComment(rawSQLLine)) && !inProcedure
? "" : completedSQL + rawSQLLine + " ";
}
- private boolean isComment(final String statement) {
- return statement.startsWith("#") || statement.startsWith("/") ||
statement.startsWith("--") || statement.startsWith(":") ||
statement.startsWith("\\");
+ private boolean isComment(final String line) {
+ return line.startsWith("#") || line.startsWith("/") ||
line.startsWith("--") || line.startsWith(":") || line.startsWith("\\");
}
private int searchInResultContent(final int resultIndex, final
List<String> resultLines, final String completedSQL, final int statementLines) {
diff --git
a/test/util/src/main/java/org/apache/shardingsphere/test/loader/AbstractTestParameterLoader.java
b/test/util/src/main/java/org/apache/shardingsphere/test/loader/AbstractTestParameterLoader.java
index 5ffed41772a..4ffc60e73d3 100644
---
a/test/util/src/main/java/org/apache/shardingsphere/test/loader/AbstractTestParameterLoader.java
+++
b/test/util/src/main/java/org/apache/shardingsphere/test/loader/AbstractTestParameterLoader.java
@@ -18,6 +18,7 @@
package org.apache.shardingsphere.test.loader;
import com.google.common.collect.Lists;
+import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
@@ -44,7 +45,7 @@ import java.util.stream.Collectors;
*
* @param <T> type of test parameter
*/
-@RequiredArgsConstructor
+@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
@Slf4j
public abstract class AbstractTestParameterLoader<T> {
@@ -96,8 +97,7 @@ public abstract class AbstractTestParameterLoader<T> {
* @param reportType report type
* @return test parameters
*/
- public abstract Collection<T> createTestParameters(String sqlCaseFileName,
List<String> sqlCaseFileContent,
- List<String>
resultFileContent, String databaseType, String reportType);
+ public abstract Collection<T> createTestParameters(String sqlCaseFileName,
List<String> sqlCaseFileContent, List<String> resultFileContent, String
databaseType, String reportType);
private List<String> loadContent(final URI uri) {
try (