You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/06/20 11:37:57 UTC
[shardingsphere] branch master updated: Refactor AlterRuleHandler (#18460)
This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 41498f37d3b Refactor AlterRuleHandler (#18460)
41498f37d3b is described below
commit 41498f37d3bcd0bfcf7cccd25778eefc443985aa
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Mon Jun 20 19:37:49 2022 +0800
Refactor AlterRuleHandler (#18460)
* Refactor AlterRuleHandler
* For checkstyle
* Refactor AlterRuleHandler
---
.../core/exception/PipelineIgnoredException.java | 1 -
.../common/updatable/AlterSQLParserRuleHandler.java | 5 +++--
.../common/updatable/AlterTrafficRuleHandler.java | 21 +++++++++++----------
.../updatable/AlterTransactionRuleHandler.java | 5 +++--
4 files changed, 17 insertions(+), 15 deletions(-)
diff --git a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/exception/PipelineIgnoredException.java b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/exception/PipelineIgnoredException.java
index 3788c15a6c2..88527c842ae 100644
--- a/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/exception/PipelineIgnoredException.java
+++ b/shardingsphere-kernel/shardingsphere-data-pipeline/shardingsphere-data-pipeline-core/src/main/java/org/apache/shardingsphere/data/pipeline/core/exception/PipelineIgnoredException.java
@@ -32,4 +32,3 @@ public final class PipelineIgnoredException extends RuntimeException {
super(message, cause);
}
}
-
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/AlterSQLParserRuleHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/AlterSQLParserRuleHandler.java
index 62844a77ae1..3ffe46e3c8f 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/AlterSQLParserRuleHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/AlterSQLParserRuleHandler.java
@@ -37,11 +37,12 @@ public final class AlterSQLParserRuleHandler extends UpdatableRALBackendHandler<
@Override
protected void update(final ContextManager contextManager) {
- replaceNewRule(contextManager, createToBeAlteredRuleConfiguration());
+ replaceNewRule(contextManager);
persistNewRuleConfigurations();
}
- private void replaceNewRule(final ContextManager contextManager, final SQLParserRuleConfiguration toBeAlteredRuleConfig) {
+ private void replaceNewRule(final ContextManager contextManager) {
+ SQLParserRuleConfiguration toBeAlteredRuleConfig = createToBeAlteredRuleConfiguration();
Collection<ShardingSphereRule> globalRules = ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules();
globalRules.removeIf(each -> each instanceof SQLParserRule);
globalRules.add(new SQLParserRule(toBeAlteredRuleConfig));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/AlterTrafficRuleHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/AlterTrafficRuleHandler.java
index 0e0bbbcdf4a..0039d2bd73b 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/AlterTrafficRuleHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/AlterTrafficRuleHandler.java
@@ -47,7 +47,7 @@ public final class AlterTrafficRuleHandler extends UpdatableRALBackendHandler<Al
@Override
protected void update(final ContextManager contextManager) throws DistSQLException {
check();
- replaceNewRule(contextManager, createToBeAlteredRuleConfiguration());
+ replaceNewRule(contextManager);
persistNewRuleConfigurations();
}
@@ -82,6 +82,16 @@ public final class AlterTrafficRuleHandler extends UpdatableRALBackendHandler<Al
return result;
}
+ private void replaceNewRule(final ContextManager contextManager) {
+ TrafficRuleConfiguration toBeAlteredRuleConfig = createToBeAlteredRuleConfiguration();
+ Collection<ShardingSphereRule> globalRules = ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules();
+ globalRules.removeIf(each -> each instanceof TrafficRule);
+ globalRules.add(new TrafficRule(toBeAlteredRuleConfig));
+ // TODO remove me after ShardingSphereRuleMetaData.configuration removed
+ contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getConfigurations().removeIf(each -> each instanceof TrafficRuleConfiguration);
+ contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getConfigurations().add(toBeAlteredRuleConfig);
+ }
+
private TrafficRuleConfiguration createToBeAlteredRuleConfiguration() {
TrafficRuleConfiguration newConfig = TrafficRuleConverter.convert(getSqlStatement().getSegments());
Collection<String> toBeAlteredConfigNames = newConfig.getTrafficStrategies().stream().map(TrafficStrategyConfiguration::getName).collect(Collectors.toSet());
@@ -100,15 +110,6 @@ public final class AlterTrafficRuleHandler extends UpdatableRALBackendHandler<Al
return currentConfig.getLoadBalancers().keySet().stream().filter(each -> !currentlyInUse.contains(each)).collect(Collectors.toSet());
}
- private void replaceNewRule(final ContextManager contextManager, final TrafficRuleConfiguration toBeAlteredRuleConfig) {
- Collection<ShardingSphereRule> globalRules = ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules();
- globalRules.removeIf(each -> each instanceof TrafficRule);
- globalRules.add(new TrafficRule(toBeAlteredRuleConfig));
- // TODO remove me after ShardingSphereRuleMetaData.configuration removed
- contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getConfigurations().removeIf(each -> each instanceof TrafficRuleConfiguration);
- contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getConfigurations().add(toBeAlteredRuleConfig);
- }
-
private void persistNewRuleConfigurations() {
MetaDataContexts metaDataContexts = ProxyContext.getInstance().getContextManager().getMetaDataContexts();
metaDataContexts.getPersistService().ifPresent(optional -> optional.getGlobalRuleService().persist(metaDataContexts.getMetaData().getGlobalRuleMetaData().getConfigurations(), true));
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/AlterTransactionRuleHandler.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/AlterTransactionRuleHandler.java
index a2a9837286e..4a11b7a5085 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/AlterTransactionRuleHandler.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/AlterTransactionRuleHandler.java
@@ -37,11 +37,12 @@ public final class AlterTransactionRuleHandler extends UpdatableRALBackendHandle
@Override
protected void update(final ContextManager contextManager) {
- replaceNewRule(contextManager, createToBeAlteredRuleConfiguration());
+ replaceNewRule(contextManager);
persistNewRuleConfigurations();
}
- private void replaceNewRule(final ContextManager contextManager, final TransactionRuleConfiguration toBeAlteredRuleConfig) {
+ private void replaceNewRule(final ContextManager contextManager) {
+ TransactionRuleConfiguration toBeAlteredRuleConfig = createToBeAlteredRuleConfiguration();
Collection<ShardingSphereRule> globalRules = contextManager.getMetaDataContexts().getMetaData().getGlobalRuleMetaData().getRules();
globalRules.removeIf(each -> each instanceof TransactionRule);
Map<String, ShardingSphereDatabase> databases = contextManager.getMetaDataContexts().getMetaData().getDatabases();