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 (

Reply via email to