This is an automated email from the ASF dual-hosted git repository.

jianglongtao 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 fca4a3f085a Fix sonar issue of Define and throw a dedicated exception 
instead of using a generic one (#25830)
fca4a3f085a is described below

commit fca4a3f085a14b772a53a8ba9f60aa521a4bb2cf
Author: Liang Zhang <[email protected]>
AuthorDate: Sun May 21 23:22:33 2023 +0800

    Fix sonar issue of Define and throw a dedicated exception instead of using 
a generic one (#25830)
    
    * Fix sonar issues on AbstractPipelineJob
    
    * Fix sonar issues on MockedDriver
    
    * Fix sonar issues on Remove this useless assignment
    
    * Fix sonar issues on Refactor this code to use a "static final" Pattern
---
 .../database/metadata/dialect/H2DataSourceMetaData.java     |  6 +++---
 .../database/metadata/dialect/OracleDataSourceMetaData.java | 13 +++++++------
 .../database/metadata/dialect/SQL92DataSourceMetaData.java  |  8 ++++----
 .../metadata/dialect/SQLServerDataSourceMetaData.java       |  8 ++++----
 .../data/pipeline/core/job/AbstractPipelineJob.java         |  3 ++-
 .../original/OriginalSQLFederationExecutor.java             |  2 +-
 .../visitor/statement/OpenGaussStatementVisitor.java        |  4 ++--
 .../visitor/statement/PostgreSQLStatementVisitor.java       |  4 ++--
 .../visitor/statement/SQLServerStatementVisitor.java        |  2 +-
 .../shardingsphere/test/fixture/jdbc/MockedDriver.java      |  2 +-
 10 files changed, 27 insertions(+), 25 deletions(-)

diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/H2DataSourceMetaData.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/H2DataSourceMetaData.java
index 42a9c036101..03165db2f5a 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/H2DataSourceMetaData.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/H2DataSourceMetaData.java
@@ -44,7 +44,7 @@ public final class H2DataSourceMetaData implements 
DataSourceMetaData {
     
     private static final String MODEL_FILE = "file:";
     
-    private static final Pattern PATTERN = 
Pattern.compile("jdbc:h2:((?<modelMem>mem|~)[:/](?<catalog>[\\w\\-]+)|"
+    private static final Pattern URL_PATTERN = 
Pattern.compile("jdbc:h2:((?<modelMem>mem|~)[:/](?<catalog>[\\w\\-]+)|"
             + 
"(?<modelSslOrTcp>ssl:|tcp:)(//)?(?<hostname>[\\w\\-.]+)(:(?<port>\\d{1,4})/)?[/~\\w\\-.]+/(?<name>[\\-\\w]*)|"
             + "(?<modelFile>file:)[/~\\w\\-]+/(?<fileName>[\\-\\w]*));?\\S*", 
Pattern.CASE_INSENSITIVE);
     
@@ -59,9 +59,9 @@ public final class H2DataSourceMetaData implements 
DataSourceMetaData {
     private final String schema;
     
     public H2DataSourceMetaData(final String url) {
-        Matcher matcher = PATTERN.matcher(url);
+        Matcher matcher = URL_PATTERN.matcher(url);
         if (!matcher.find()) {
-            throw new UnrecognizedDatabaseURLException(url, PATTERN.pattern());
+            throw new UnrecognizedDatabaseURLException(url, 
URL_PATTERN.pattern());
         }
         String portFromMatcher = matcher.group("port");
         String catalogFromMatcher = matcher.group("catalog");
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/OracleDataSourceMetaData.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/OracleDataSourceMetaData.java
index 755226857ad..8940278ac07 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/OracleDataSourceMetaData.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/OracleDataSourceMetaData.java
@@ -39,6 +39,11 @@ public final class OracleDataSourceMetaData implements 
DataSourceMetaData {
     
     private static final int THIN_MATCH_GROUP_COUNT = 5;
     
+    private static final Pattern THIN_URL_PATTERN = 
Pattern.compile("jdbc:oracle:(thin|oci|kprb):@(//)?([\\w\\-\\.]+):?(\\d*)[:/]([\\w\\-]+)",
 Pattern.CASE_INSENSITIVE);
+    
+    private static final Pattern CONNECT_DESCRIPTOR_URL_PATTERN = 
Pattern.compile(
+            
"jdbc:oracle:(thin|oci|kprb):@[(\\w\\s=)]+HOST\\s*=\\s*([\\w\\-\\.]+).*PORT\\s*=\\s*(\\d+).*SERVICE_NAME\\s*=\\s*(\\w+)\\)");
+    
     private final String hostname;
     
     private final int port;
@@ -47,15 +52,11 @@ public final class OracleDataSourceMetaData implements 
DataSourceMetaData {
     
     private final String schema;
     
-    private final Pattern thinUrlPattern = 
Pattern.compile("jdbc:oracle:(thin|oci|kprb):@(//)?([\\w\\-\\.]+):?(\\d*)[:/]([\\w\\-]+)",
 Pattern.CASE_INSENSITIVE);
-    
-    private final Pattern connectDescriptorUrlPattern = 
Pattern.compile("jdbc:oracle:(thin|oci|kprb):@[(\\w\\s=)]+HOST\\s*=\\s*([\\w\\-\\.]+).*PORT\\s*=\\s*(\\d+).*SERVICE_NAME\\s*=\\s*(\\w+)\\)");
-    
     public OracleDataSourceMetaData(final String url, final String username) {
-        List<Matcher> matcherList = Arrays.asList(thinUrlPattern.matcher(url), 
connectDescriptorUrlPattern.matcher(url));
+        List<Matcher> matcherList = 
Arrays.asList(THIN_URL_PATTERN.matcher(url), 
CONNECT_DESCRIPTOR_URL_PATTERN.matcher(url));
         Optional<Matcher> matcherOptional = 
matcherList.stream().filter(Matcher::find).findAny();
         if (!matcherOptional.isPresent()) {
-            throw new UnrecognizedDatabaseURLException(url, 
thinUrlPattern.pattern());
+            throw new UnrecognizedDatabaseURLException(url, 
THIN_URL_PATTERN.pattern());
         }
         Matcher matcher = matcherOptional.get();
         int groupCount = matcher.groupCount();
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQL92DataSourceMetaData.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQL92DataSourceMetaData.java
index 69fd2be3dc1..cdbc86b79a3 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQL92DataSourceMetaData.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQL92DataSourceMetaData.java
@@ -33,6 +33,8 @@ public final class SQL92DataSourceMetaData implements 
DataSourceMetaData {
     
     private static final int DEFAULT_PORT = -1;
     
+    private static final Pattern URL_PATTERN = Pattern.compile("jdbc:.*", 
Pattern.CASE_INSENSITIVE);
+    
     private final String hostname;
     
     private final int port;
@@ -41,12 +43,10 @@ public final class SQL92DataSourceMetaData implements 
DataSourceMetaData {
     
     private final String schema;
     
-    private final Pattern pattern = Pattern.compile("jdbc:.*", 
Pattern.CASE_INSENSITIVE);
-    
     public SQL92DataSourceMetaData(final String url) {
-        Matcher matcher = pattern.matcher(url);
+        Matcher matcher = URL_PATTERN.matcher(url);
         if (!matcher.find()) {
-            throw new UnrecognizedDatabaseURLException(url, pattern.pattern());
+            throw new UnrecognizedDatabaseURLException(url, 
URL_PATTERN.pattern());
         }
         hostname = "";
         port = DEFAULT_PORT;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaData.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaData.java
index 972072dd245..c3ff03cfabe 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaData.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/database/metadata/dialect/SQLServerDataSourceMetaData.java
@@ -34,6 +34,8 @@ public final class SQLServerDataSourceMetaData implements 
DataSourceMetaData {
     
     private static final int DEFAULT_PORT = 1433;
     
+    private static final Pattern URL_PATTERN = 
Pattern.compile("jdbc:(microsoft:)?sqlserver://([\\w\\-\\.]+):?(\\d*);\\S*(DatabaseName|database)=([\\w\\-\\.]+);?",
 Pattern.CASE_INSENSITIVE);
+    
     private final String hostname;
     
     private final int port;
@@ -42,12 +44,10 @@ public final class SQLServerDataSourceMetaData implements 
DataSourceMetaData {
     
     private final String schema;
     
-    private final Pattern pattern = 
Pattern.compile("jdbc:(microsoft:)?sqlserver://([\\w\\-\\.]+):?(\\d*);\\S*(DatabaseName|database)=([\\w\\-\\.]+);?",
 Pattern.CASE_INSENSITIVE);
-    
     public SQLServerDataSourceMetaData(final String url) {
-        Matcher matcher = pattern.matcher(url);
+        Matcher matcher = URL_PATTERN.matcher(url);
         if (!matcher.find()) {
-            throw new UnrecognizedDatabaseURLException(url, pattern.pattern());
+            throw new UnrecognizedDatabaseURLException(url, 
URL_PATTERN.pattern());
         }
         hostname = matcher.group(2);
         port = Strings.isNullOrEmpty(matcher.group(3)) ? DEFAULT_PORT : 
Integer.parseInt(matcher.group(3));
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/AbstractPipelineJob.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/AbstractPipelineJob.java
index e9ab3c47e9b..3bdecfb5849 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/AbstractPipelineJob.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/job/AbstractPipelineJob.java
@@ -34,6 +34,7 @@ import 
org.apache.shardingsphere.elasticjob.infra.spi.ElasticJobServiceLoader;
 import org.apache.shardingsphere.elasticjob.lite.api.bootstrap.JobBootstrap;
 import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
 
+import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Map;
@@ -100,7 +101,7 @@ public abstract class AbstractPipelineJob implements 
PipelineJob {
         }
     }
     
-    protected abstract void doPrepare(PipelineJobItemContext jobItemContext) 
throws Exception;
+    protected abstract void doPrepare(PipelineJobItemContext jobItemContext) 
throws SQLException;
     
     private void processFailed(final PipelineJobItemContext jobItemContext, 
final Exception ex) {
         String jobId = jobItemContext.getJobId();
diff --git 
a/kernel/sql-federation/executor/original/src/main/java/org/apache/shardingsphere/sqlfederation/original/OriginalSQLFederationExecutor.java
 
b/kernel/sql-federation/executor/original/src/main/java/org/apache/shardingsphere/sqlfederation/original/OriginalSQLFederationExecutor.java
index b60c10f65f0..8b98a2542f1 100644
--- 
a/kernel/sql-federation/executor/original/src/main/java/org/apache/shardingsphere/sqlfederation/original/OriginalSQLFederationExecutor.java
+++ 
b/kernel/sql-federation/executor/original/src/main/java/org/apache/shardingsphere/sqlfederation/original/OriginalSQLFederationExecutor.java
@@ -47,7 +47,7 @@ import java.sql.SQLException;
 import java.util.List;
 
 /**
- * Original sql federation executor.
+ * Original SQL federation executor.
  */
 @RequiredArgsConstructor
 public final class OriginalSQLFederationExecutor implements 
SQLFederationExecutor {
diff --git 
a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitor.java
 
b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitor.java
index e137df5302c..9b2f5e44286 100644
--- 
a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitor.java
+++ 
b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitor.java
@@ -1152,7 +1152,7 @@ public abstract class OpenGaussStatementVisitor extends 
OpenGaussStatementBaseVi
             }
             result.setStartIndex(startIndex);
             result.setStopIndex(stopIndex);
-            result = visitJoinedTable(ctx.joinedTable(), result);
+            visitJoinedTable(ctx.joinedTable(), result);
             result.setAlias(alias);
             return result;
         }
@@ -1166,7 +1166,7 @@ public abstract class OpenGaussStatementVisitor extends 
OpenGaussStatementBaseVi
         tableSegment.setRight(right);
         tableSegment.setJoinType(getJoinType(ctx));
         tableSegment.setNatural(null != ctx.naturalJoinType());
-        return null != ctx.joinQual() ? visitJoinQual(ctx.joinQual(), 
tableSegment) : tableSegment;
+        return null == ctx.joinQual() ? tableSegment : 
visitJoinQual(ctx.joinQual(), tableSegment);
     }
     
     private String getJoinType(final JoinedTableContext ctx) {
diff --git 
a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitor.java
 
b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitor.java
index 54bbc2e28c5..d979541ccfb 100644
--- 
a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitor.java
+++ 
b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitor.java
@@ -1123,7 +1123,7 @@ public abstract class PostgreSQLStatementVisitor extends 
PostgreSQLStatementPars
         }
         result.setStartIndex(startIndex);
         result.setStopIndex(stopIndex);
-        result = visitJoinedTable(ctx.joinedTable(), result);
+        visitJoinedTable(ctx.joinedTable(), result);
         result.setAlias(alias);
         return result;
     }
@@ -1133,7 +1133,7 @@ public abstract class PostgreSQLStatementVisitor extends 
PostgreSQLStatementPars
         tableSegment.setRight(right);
         tableSegment.setJoinType(getJoinType(ctx));
         tableSegment.setNatural(null != ctx.naturalJoinType());
-        return null != ctx.joinQual() ? visitJoinQual(ctx.joinQual(), 
tableSegment) : tableSegment;
+        return null == ctx.joinQual() ? tableSegment : 
visitJoinQual(ctx.joinQual(), tableSegment);
     }
     
     private String getJoinType(final JoinedTableContext ctx) {
diff --git 
a/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitor.java
 
b/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitor.java
index fb911cfa9f7..bf52a1a261e 100644
--- 
a/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitor.java
+++ 
b/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitor.java
@@ -738,7 +738,7 @@ public abstract class SQLServerStatementVisitor extends 
SQLServerStatementBaseVi
             result.setHaving((HavingSegment) visit(ctx.havingClause()));
         }
         if (null != ctx.orderByClause()) {
-            result = visitOrderBy(result, ctx.orderByClause());
+            visitOrderBy(result, ctx.orderByClause());
         }
         return result;
     }
diff --git 
a/test/fixture/jdbc/src/main/java/org/apache/shardingsphere/test/fixture/jdbc/MockedDriver.java
 
b/test/fixture/jdbc/src/main/java/org/apache/shardingsphere/test/fixture/jdbc/MockedDriver.java
index 4e179c0293a..1119d9b46da 100644
--- 
a/test/fixture/jdbc/src/main/java/org/apache/shardingsphere/test/fixture/jdbc/MockedDriver.java
+++ 
b/test/fixture/jdbc/src/main/java/org/apache/shardingsphere/test/fixture/jdbc/MockedDriver.java
@@ -37,7 +37,7 @@ public final class MockedDriver implements Driver {
         try {
             DriverManager.registerDriver(new MockedDriver());
         } catch (final SQLException ex) {
-            throw new RuntimeException(ex);
+            throw new IllegalStateException(ex);
         }
     }
     

Reply via email to