You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by to...@apache.org on 2022/04/14 20:54:02 UTC
[shardingsphere] branch master updated: Refactor RDLStatement to remove optional fields (#16839)
This is an automated email from the ASF dual-hosted git repository.
totalo 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 ef4fccddbd4 Refactor RDLStatement to remove optional fields (#16839)
ef4fccddbd4 is described below
commit ef4fccddbd425138d7ea929c14a385c066d0370d
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Fri Apr 15 04:53:46 2022 +0800
Refactor RDLStatement to remove optional fields (#16839)
---
.../core/common/CommonDistSQLStatementVisitor.java | 32 ++++++++--------------
.../ImportSchemaConfigurationStatement.java | 15 ++++++++--
.../updatable/RefreshTableMetadataStatement.java | 30 +++++++++++++++++---
.../rql/show/ShowRulesUsedResourceStatement.java | 15 +++++++---
.../context/TransactionContextsBuilderTest.java | 3 +-
.../rql/rule/RulesUsedResourceQueryResultSet.java | 2 +-
.../ImportSchemaConfigurationHandlerTest.java | 5 +---
.../ImportSchemaConfigurationStatementAssert.java | 3 +-
8 files changed, 65 insertions(+), 40 deletions(-)
diff --git a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/common/CommonDistSQLStatementVisitor.java b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/common/CommonDistSQLStatementVisitor.java
index 027a9cbf5b0..81b86eeda35 100644
--- a/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/common/CommonDistSQLStatementVisitor.java
+++ b/shardingsphere-distsql/shardingsphere-distsql-parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/common/CommonDistSQLStatementVisitor.java
@@ -150,7 +150,7 @@ public final class CommonDistSQLStatementVisitor extends CommonDistSQLStatementB
@Override
public ASTNode visitShowTableMetadata(final ShowTableMetadataContext ctx) {
- Collection<String> tableNames = ctx.tableName().stream().map(each -> getIdentifierValue(each)).collect(Collectors.toSet());
+ Collection<String> tableNames = ctx.tableName().stream().map(this::getIdentifierValue).collect(Collectors.toSet());
return new ShowTableMetadataStatement(tableNames, null == ctx.schemaName() ? null : (SchemaSegment) visit(ctx.schemaName()));
}
@@ -316,8 +316,7 @@ public final class CommonDistSQLStatementVisitor extends CommonDistSQLStatementB
@Override
public ASTNode visitShowSingleTable(final ShowSingleTableContext ctx) {
- return new ShowSingleTableStatement(null == ctx.table() ? null : getIdentifierValue(ctx.table().tableName()),
- null == ctx.schemaName() ? null : (SchemaSegment) visit(ctx.schemaName()));
+ return new ShowSingleTableStatement(null == ctx.table() ? null : getIdentifierValue(ctx.table().tableName()), null == ctx.schemaName() ? null : (SchemaSegment) visit(ctx.schemaName()));
}
@Override
@@ -330,13 +329,6 @@ public final class CommonDistSQLStatementVisitor extends CommonDistSQLStatementB
return new ShowVariableStatement();
}
- private String getIdentifierValue(final ParseTree context) {
- if (null == context) {
- return null;
- }
- return new IdentifierValue(context.getText()).getValue();
- }
-
@Override
public ASTNode visitClearHint(final ClearHintContext ctx) {
return new ClearHintStatement();
@@ -344,10 +336,8 @@ public final class CommonDistSQLStatementVisitor extends CommonDistSQLStatementB
@Override
public ASTNode visitRefreshTableMetadata(final RefreshTableMetadataContext ctx) {
- RefreshTableMetadataStatement result = new RefreshTableMetadataStatement();
- result.setTableName(null == ctx.refreshScope() ? Optional.empty() : Optional.ofNullable(getIdentifierValue(ctx.refreshScope().tableName())));
- result.setResourceName(null == ctx.refreshScope() ? Optional.empty() : Optional.ofNullable(getIdentifierValue(ctx.refreshScope().resourceName())));
- return result;
+ return null == ctx.refreshScope() ? new RefreshTableMetadataStatement()
+ : new RefreshTableMetadataStatement(getIdentifierValue(ctx.refreshScope().tableName()), getIdentifierValue(ctx.refreshScope().resourceName()));
}
@Override
@@ -369,7 +359,7 @@ public final class CommonDistSQLStatementVisitor extends CommonDistSQLStatementB
public ASTNode visitDropTrafficRule(final DropTrafficRuleContext ctx) {
DropTrafficRuleStatement result = new DropTrafficRuleStatement();
if (null != ctx.ruleName()) {
- result.setRuleNames(ctx.ruleName().stream().map(each -> getIdentifierValue(each)).collect(Collectors.toSet()));
+ result.setRuleNames(ctx.ruleName().stream().map(this::getIdentifierValue).collect(Collectors.toSet()));
}
result.setContainsIfExistClause(null != ctx.ifExists());
return result;
@@ -484,9 +474,7 @@ public final class CommonDistSQLStatementVisitor extends CommonDistSQLStatementB
@Override
public ASTNode visitShowRulesUsedResource(final ShowRulesUsedResourceContext ctx) {
- return new ShowRulesUsedResourceStatement(
- null == ctx.resourceName() ? Optional.empty() : Optional.of(getIdentifierValue(ctx.resourceName())),
- null == ctx.schemaName() ? null : (SchemaSegment) visit(ctx.schemaName()));
+ return new ShowRulesUsedResourceStatement(getIdentifierValue(ctx.resourceName()), null == ctx.schemaName() ? null : (SchemaSegment) visit(ctx.schemaName()));
}
@Override
@@ -506,8 +494,10 @@ public final class CommonDistSQLStatementVisitor extends CommonDistSQLStatementB
@Override
public ASTNode visitImportSchemaConfiguration(final ImportSchemaConfigurationContext ctx) {
- ImportSchemaConfigurationStatement result = new ImportSchemaConfigurationStatement();
- result.setFilePath(Optional.ofNullable(getIdentifierValue(ctx.filePath())));
- return result;
+ return new ImportSchemaConfigurationStatement(getIdentifierValue(ctx.filePath()));
+ }
+
+ private String getIdentifierValue(final ParseTree context) {
+ return null == context ? null : new IdentifierValue(context.getText()).getValue();
}
}
diff --git a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/common/updatable/ImportSchemaConfigurationStatement.java b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/common/updatable/ImportSchemaConfigurationStatement.java
index 5bdf2fd4efb..7c752f05fc4 100644
--- a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/common/updatable/ImportSchemaConfigurationStatement.java
+++ b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/common/updatable/ImportSchemaConfigurationStatement.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.distsql.parser.statement.ral.common.updatable;
import lombok.Getter;
-import lombok.Setter;
+import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.distsql.parser.statement.ral.UpdatableRALStatement;
import java.util.Optional;
@@ -26,9 +26,18 @@ import java.util.Optional;
/**
* Import schema configuration statement.
*/
-@Setter
+@RequiredArgsConstructor
@Getter
public final class ImportSchemaConfigurationStatement extends UpdatableRALStatement {
- private Optional<String> filePath;
+ private final String filePath;
+
+ /**
+ * Get file path.
+ *
+ * @return file path
+ */
+ public Optional<String> getFilePath() {
+ return Optional.ofNullable(filePath);
+ }
}
diff --git a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/common/updatable/RefreshTableMetadataStatement.java b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/common/updatable/RefreshTableMetadataStatement.java
index 56d6995aa6c..93d06fc83d4 100644
--- a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/common/updatable/RefreshTableMetadataStatement.java
+++ b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/ral/common/updatable/RefreshTableMetadataStatement.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.distsql.parser.statement.ral.common.updatable;
import lombok.Getter;
-import lombok.Setter;
+import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.distsql.parser.statement.ral.UpdatableRALStatement;
import java.util.Optional;
@@ -26,11 +26,33 @@ import java.util.Optional;
/**
* Refresh table metadata statement.
*/
-@Setter
+@RequiredArgsConstructor
@Getter
public final class RefreshTableMetadataStatement extends UpdatableRALStatement {
- private Optional<String> tableName;
+ private final String tableName;
- private Optional<String> resourceName;
+ private final String resourceName;
+
+ public RefreshTableMetadataStatement() {
+ this(null, null);
+ }
+
+ /**
+ * Get table name.
+ *
+ * @return table name
+ */
+ public Optional<String> getTableName() {
+ return Optional.ofNullable(tableName);
+ }
+
+ /**
+ * Get resource name.
+ *
+ * @return resource name
+ */
+ public Optional<String> getResourceName() {
+ return Optional.ofNullable(resourceName);
+ }
}
diff --git a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rql/show/ShowRulesUsedResourceStatement.java b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rql/show/ShowRulesUsedResourceStatement.java
index f8cc182960a..99c554e6d4c 100644
--- a/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rql/show/ShowRulesUsedResourceStatement.java
+++ b/shardingsphere-distsql/shardingsphere-distsql-statement/src/main/java/org/apache/shardingsphere/distsql/parser/statement/rql/show/ShowRulesUsedResourceStatement.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.distsql.parser.statement.rql.show;
-import lombok.Getter;
import org.apache.shardingsphere.distsql.parser.subject.impl.ResourceSubjectSupplier;
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.SchemaSegment;
@@ -26,13 +25,21 @@ import java.util.Optional;
/**
* Show rules used resource statement.
*/
-@Getter
public final class ShowRulesUsedResourceStatement extends ShowRulesStatement implements ResourceSubjectSupplier {
- private final Optional<String> resourceName;
+ private final String resourceName;
- public ShowRulesUsedResourceStatement(final Optional<String> resourceName, final SchemaSegment schema) {
+ public ShowRulesUsedResourceStatement(final String resourceName, final SchemaSegment schema) {
super(schema);
this.resourceName = resourceName;
}
+
+ /**
+ * Get resource name.
+ *
+ * @return resource name
+ */
+ public Optional<String> getResourceName() {
+ return Optional.ofNullable(resourceName);
+ }
}
diff --git a/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-core/src/test/java/org/apache/shardingsphere/transaction/context/TransactionContextsBuilderTest.java b/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-core/src/test/java/org/apache/shardingsphere/transaction/context/TransactionContextsBuilderTest.java
index 77f14a06cc3..85eeaf7d0fa 100644
--- a/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-core/src/test/java/org/apache/shardingsphere/transaction/context/TransactionContextsBuilderTest.java
+++ b/shardingsphere-kernel/shardingsphere-transaction/shardingsphere-transaction-core/src/test/java/org/apache/shardingsphere/transaction/context/TransactionContextsBuilderTest.java
@@ -47,8 +47,7 @@ public final class TransactionContextsBuilderTest {
@Test
public void assertNewInstanceWithEmptyEngines() {
- TransactionContexts transactionContexts = new TransactionContextsBuilder(Collections.emptyMap(), Collections.emptyList()).build();
- assertTrue(transactionContexts.getEngines().isEmpty());
+ assertTrue(new TransactionContextsBuilder(Collections.emptyMap(), Collections.emptyList()).build().getEngines().isEmpty());
}
@Test
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/rule/RulesUsedResourceQueryResultSet.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/rule/RulesUsedResourceQueryResultSet.java
index 5eeb318f6f4..ed327fde7f2 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/rule/RulesUsedResourceQueryResultSet.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/rule/RulesUsedResourceQueryResultSet.java
@@ -79,7 +79,7 @@ public final class RulesUsedResourceQueryResultSet implements DistSQLResultSet {
}
private void getRulesConfig(final Collection<RuleConfiguration> ruleConfigurations, final String resourceName, final List<Collection<Object>> result) {
- ruleConfigurations.stream().forEach(each -> {
+ ruleConfigurations.forEach(each -> {
getRulesConfigForSharding(each, result);
getRulesConfigForReadwriteSplitting(each, resourceName, result);
getRulesConfigForDBDiscovery(each, resourceName, result);
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/ImportSchemaConfigurationHandlerTest.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/ImportSchemaConfigurationHandlerTest.java
index 5bb195bdbb5..2352a27e4f9 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/ImportSchemaConfigurationHandlerTest.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/ImportSchemaConfigurationHandlerTest.java
@@ -49,7 +49,6 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
-import java.util.Optional;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@@ -171,9 +170,7 @@ public final class ImportSchemaConfigurationHandlerTest {
}
private ImportSchemaConfigurationStatement createSqlStatement(final String importFilePath) {
- ImportSchemaConfigurationStatement result = new ImportSchemaConfigurationStatement();
- result.setFilePath(Optional.of(Objects.requireNonNull(ImportSchemaConfigurationHandlerTest.class.getResource(importFilePath)).getPath()));
- return result;
+ return new ImportSchemaConfigurationStatement(Objects.requireNonNull(ImportSchemaConfigurationHandlerTest.class.getResource(importFilePath)).getPath());
}
private ConnectionSession mockConnectionSession() {
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/common/updatable/ImportSchemaConfigurationStatementAssert.java b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/common/updatable/ImportSchemaConfigurationStatementAssert.java
index 7cb1746552d..1415ccad91c 100644
--- a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/common/updatable/ImportSchemaConfigurationStatementAssert.java
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/distsql/ral/impl/common/updatable/ImportSchemaConfigurationStatementAssert.java
@@ -27,6 +27,7 @@ import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
/**
* Import schema configuration statement assert.
@@ -47,7 +48,7 @@ public final class ImportSchemaConfigurationStatementAssert {
assertNull(assertContext.getText("Actual statement should not exist."), actual);
} else {
assertNotNull(assertContext.getText("Actual statement should exist."), actual);
- assertNotNull(actual.getFilePath().get());
+ assertTrue(actual.getFilePath().isPresent());
assertNotNull(expected.getFilePath());
assertThat(actual.getFilePath().get(), is(expected.getFilePath()));
}