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);
}
}