You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2023/06/20 02:11:02 UTC
[shardingsphere] branch master updated: Add version to global rule event (#26438)
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 ccb05ee193b Add version to global rule event (#26438)
ccb05ee193b is described below
commit ccb05ee193b78e00eeabb56cf8a77d47af2925eb
Author: ZhangCheng <ch...@apache.org>
AuthorDate: Tue Jun 20 10:10:56 2023 +0800
Add version to global rule event (#26438)
---
.../rule/global/event/AlterGlobalRuleConfigurationEvent.java | 4 ++++
.../global/event/DeleteGlobalRuleConfigurationEvent.java | 4 ++++
.../event/AuthorityRuleConfigurationEventBuilder.java | 12 ++++++++----
.../core/event/GlobalClockRuleConfigurationEventBuilder.java | 12 ++++++++----
.../logging/event/LoggingRuleConfigurationEventBuilder.java | 12 ++++++++----
.../single/event/SingleRuleConfigurationEventBuilder.java | 12 ++++++++----
.../event/SQLFederationRuleConfigurationEventBuilder.java | 12 ++++++++----
.../parser/event/SQLParserRuleConfigurationEventBuilder.java | 12 ++++++++----
.../event/SQLTranslatorConfigurationEventBuilder.java | 12 ++++++++----
.../traffic/event/TrafficRuleConfigurationEventBuilder.java | 12 ++++++++----
.../event/TransactionRuleConfigurationEventBuilder.java | 12 ++++++++----
11 files changed, 80 insertions(+), 36 deletions(-)
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/rule/global/event/AlterGlobalRuleConfigurationEvent.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/rule/global/event/AlterGlobalRuleConfigurationEvent.java
index 71d25214634..62c27a8780f 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/rule/global/event/AlterGlobalRuleConfigurationEvent.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/rule/global/event/AlterGlobalRuleConfigurationEvent.java
@@ -32,4 +32,8 @@ public final class AlterGlobalRuleConfigurationEvent implements GovernanceEvent
private final RuleConfiguration config;
private final String ruleSimpleName;
+
+ private final String versionKey;
+
+ private final int version;
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/rule/global/event/DeleteGlobalRuleConfigurationEvent.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/rule/global/event/DeleteGlobalRuleConfigurationEvent.java
index 0b269d5c9a4..e3512b0dfbe 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/config/rule/global/event/DeleteGlobalRuleConfigurationEvent.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/config/rule/global/event/DeleteGlobalRuleConfigurationEvent.java
@@ -29,4 +29,8 @@ import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
public final class DeleteGlobalRuleConfigurationEvent implements GovernanceEvent {
private final String ruleSimpleName;
+
+ private final String versionKey;
+
+ private final int version;
}
diff --git a/kernel/authority/core/src/main/java/org/apache/shardingsphere/authority/event/AuthorityRuleConfigurationEventBuilder.java b/kernel/authority/core/src/main/java/org/apache/shardingsphere/authority/event/AuthorityRuleConfigurationEventBuilder.java
index 0f4077e829a..19156f96667 100644
--- a/kernel/authority/core/src/main/java/org/apache/shardingsphere/authority/event/AuthorityRuleConfigurationEventBuilder.java
+++ b/kernel/authority/core/src/main/java/org/apache/shardingsphere/authority/event/AuthorityRuleConfigurationEventBuilder.java
@@ -47,14 +47,18 @@ public final class AuthorityRuleConfigurationEventBuilder implements GlobalRuleC
if (!GlobalRuleNodeConverter.isExpectedRuleName(AUTHORITY, event.getKey()) || Strings.isNullOrEmpty(event.getValue())) {
return Optional.empty();
}
- return buildEvent(event);
+ Optional<String> version = GlobalRuleNodeConverter.getVersion(AUTHORITY, event.getKey());
+ if (version.isPresent() && !Strings.isNullOrEmpty(event.getValue())) {
+ return buildEvent(event, Integer.parseInt(version.get()));
+ }
+ return Optional.empty();
}
- private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event) {
+ private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event, final int version) {
if (Type.ADDED == event.getType() || Type.UPDATED == event.getType()) {
- return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE));
+ return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE, event.getKey(), version));
}
- return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE));
+ return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE, event.getKey(), version));
}
private AuthorityRuleConfiguration swapToConfig(final String yamlContext) {
diff --git a/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/event/GlobalClockRuleConfigurationEventBuilder.java b/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/event/GlobalClockRuleConfigurationEventBuilder.java
index d293668117a..09ad07a890c 100644
--- a/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/event/GlobalClockRuleConfigurationEventBuilder.java
+++ b/kernel/global-clock/core/src/main/java/org/apache/shardingsphere/globalclock/core/event/GlobalClockRuleConfigurationEventBuilder.java
@@ -47,14 +47,18 @@ public final class GlobalClockRuleConfigurationEventBuilder implements GlobalRul
if (!GlobalRuleNodeConverter.isExpectedRuleName(GLOBAL_CLOCK, event.getKey()) || Strings.isNullOrEmpty(event.getValue())) {
return Optional.empty();
}
- return buildEvent(event);
+ Optional<String> version = GlobalRuleNodeConverter.getVersion(GLOBAL_CLOCK, event.getKey());
+ if (version.isPresent() && !Strings.isNullOrEmpty(event.getValue())) {
+ return buildEvent(event, Integer.parseInt(version.get()));
+ }
+ return Optional.empty();
}
- private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event) {
+ private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event, final int version) {
if (Type.ADDED == event.getType() || Type.UPDATED == event.getType()) {
- return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE));
+ return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE, event.getKey(), version));
}
- return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE));
+ return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE, event.getKey(), version));
}
private GlobalClockRuleConfiguration swapToConfig(final String yamlContext) {
diff --git a/kernel/logging/core/src/main/java/org/apache/shardingsphere/logging/event/LoggingRuleConfigurationEventBuilder.java b/kernel/logging/core/src/main/java/org/apache/shardingsphere/logging/event/LoggingRuleConfigurationEventBuilder.java
index f57fad241d3..2ba642d2a9e 100644
--- a/kernel/logging/core/src/main/java/org/apache/shardingsphere/logging/event/LoggingRuleConfigurationEventBuilder.java
+++ b/kernel/logging/core/src/main/java/org/apache/shardingsphere/logging/event/LoggingRuleConfigurationEventBuilder.java
@@ -47,14 +47,18 @@ public final class LoggingRuleConfigurationEventBuilder implements GlobalRuleCon
if (!GlobalRuleNodeConverter.isExpectedRuleName(LOGGING, event.getKey()) || Strings.isNullOrEmpty(event.getValue())) {
return Optional.empty();
}
- return buildEvent(event);
+ Optional<String> version = GlobalRuleNodeConverter.getVersion(LOGGING, event.getKey());
+ if (version.isPresent() && !Strings.isNullOrEmpty(event.getValue())) {
+ return buildEvent(event, Integer.parseInt(version.get()));
+ }
+ return Optional.empty();
}
- private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event) {
+ private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event, final int version) {
if (Type.ADDED == event.getType() || Type.UPDATED == event.getType()) {
- return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE));
+ return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE, event.getKey(), version));
}
- return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE));
+ return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE, event.getKey(), version));
}
private LoggingRuleConfiguration swapToConfig(final String yamlContext) {
diff --git a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/event/SingleRuleConfigurationEventBuilder.java b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/event/SingleRuleConfigurationEventBuilder.java
index 5df029863a9..26113ded3cf 100644
--- a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/event/SingleRuleConfigurationEventBuilder.java
+++ b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/event/SingleRuleConfigurationEventBuilder.java
@@ -47,14 +47,18 @@ public final class SingleRuleConfigurationEventBuilder implements RuleConfigurat
if (!GlobalRuleNodeConverter.isExpectedRuleName(SINGLE, event.getKey()) || Strings.isNullOrEmpty(event.getValue())) {
return Optional.empty();
}
- return buildEvent(databaseName, event);
+ Optional<String> version = GlobalRuleNodeConverter.getVersion(SINGLE, event.getKey());
+ if (version.isPresent() && !Strings.isNullOrEmpty(event.getValue())) {
+ return buildEvent(event, Integer.parseInt(version.get()));
+ }
+ return Optional.empty();
}
- private Optional<GovernanceEvent> buildEvent(final String databaseName, final DataChangedEvent event) {
+ private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event, final int version) {
if (Type.ADDED == event.getType() || Type.UPDATED == event.getType()) {
- return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE));
+ return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE, event.getKey(), version));
}
- return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE));
+ return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE, event.getKey(), version));
}
private SingleRuleConfiguration swapToConfig(final String yamlContext) {
diff --git a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/event/SQLFederationRuleConfigurationEventBuilder.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/event/SQLFederationRuleConfigurationEventBuilder.java
index dd9522b4c35..c1d833fc9a3 100644
--- a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/event/SQLFederationRuleConfigurationEventBuilder.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/event/SQLFederationRuleConfigurationEventBuilder.java
@@ -47,14 +47,18 @@ public final class SQLFederationRuleConfigurationEventBuilder implements GlobalR
if (!GlobalRuleNodeConverter.isExpectedRuleName(SQL_FEDERATION, event.getKey()) || Strings.isNullOrEmpty(event.getValue())) {
return Optional.empty();
}
- return buildEvent(event);
+ Optional<String> version = GlobalRuleNodeConverter.getVersion(SQL_FEDERATION, event.getKey());
+ if (version.isPresent() && !Strings.isNullOrEmpty(event.getValue())) {
+ return buildEvent(event, Integer.parseInt(version.get()));
+ }
+ return Optional.empty();
}
- private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event) {
+ private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event, final int version) {
if (Type.ADDED == event.getType() || Type.UPDATED == event.getType()) {
- return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE));
+ return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE, event.getKey(), version));
}
- return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE));
+ return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE, event.getKey(), version));
}
private SQLFederationRuleConfiguration swapToConfig(final String yamlContext) {
diff --git a/kernel/sql-parser/core/src/main/java/org/apache/shardingsphere/parser/event/SQLParserRuleConfigurationEventBuilder.java b/kernel/sql-parser/core/src/main/java/org/apache/shardingsphere/parser/event/SQLParserRuleConfigurationEventBuilder.java
index 6ef8f5d332f..299f137acef 100644
--- a/kernel/sql-parser/core/src/main/java/org/apache/shardingsphere/parser/event/SQLParserRuleConfigurationEventBuilder.java
+++ b/kernel/sql-parser/core/src/main/java/org/apache/shardingsphere/parser/event/SQLParserRuleConfigurationEventBuilder.java
@@ -47,14 +47,18 @@ public final class SQLParserRuleConfigurationEventBuilder implements GlobalRuleC
if (!GlobalRuleNodeConverter.isExpectedRuleName(SQL_PARSER, event.getKey()) || Strings.isNullOrEmpty(event.getValue())) {
return Optional.empty();
}
- return buildEvent(event);
+ Optional<String> version = GlobalRuleNodeConverter.getVersion(SQL_PARSER, event.getKey());
+ if (version.isPresent() && !Strings.isNullOrEmpty(event.getValue())) {
+ return buildEvent(event, Integer.parseInt(version.get()));
+ }
+ return Optional.empty();
}
- private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event) {
+ private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event, final int version) {
if (Type.ADDED == event.getType() || Type.UPDATED == event.getType()) {
- return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE));
+ return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE, event.getKey(), version));
}
- return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE));
+ return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE, event.getKey(), version));
}
private SQLParserRuleConfiguration swapToConfig(final String yamlContext) {
diff --git a/kernel/sql-translator/core/src/main/java/org/apache/shardingsphere/sqltranslator/event/SQLTranslatorConfigurationEventBuilder.java b/kernel/sql-translator/core/src/main/java/org/apache/shardingsphere/sqltranslator/event/SQLTranslatorConfigurationEventBuilder.java
index b04ea347e39..3e58ed9b7e0 100644
--- a/kernel/sql-translator/core/src/main/java/org/apache/shardingsphere/sqltranslator/event/SQLTranslatorConfigurationEventBuilder.java
+++ b/kernel/sql-translator/core/src/main/java/org/apache/shardingsphere/sqltranslator/event/SQLTranslatorConfigurationEventBuilder.java
@@ -47,14 +47,18 @@ public final class SQLTranslatorConfigurationEventBuilder implements GlobalRuleC
if (!GlobalRuleNodeConverter.isExpectedRuleName(SQL_TRANSLATOR, event.getKey()) || Strings.isNullOrEmpty(event.getValue())) {
return Optional.empty();
}
- return buildEvent(event);
+ Optional<String> version = GlobalRuleNodeConverter.getVersion(SQL_TRANSLATOR, event.getKey());
+ if (version.isPresent() && !Strings.isNullOrEmpty(event.getValue())) {
+ return buildEvent(event, Integer.parseInt(version.get()));
+ }
+ return Optional.empty();
}
- private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event) {
+ private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event, final int version) {
if (Type.ADDED == event.getType() || Type.UPDATED == event.getType()) {
- return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE));
+ return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE, event.getKey(), version));
}
- return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE));
+ return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE, event.getKey(), version));
}
private SQLTranslatorRuleConfiguration swapToConfig(final String yamlContext) {
diff --git a/kernel/traffic/core/src/main/java/org/apache/shardingsphere/traffic/event/TrafficRuleConfigurationEventBuilder.java b/kernel/traffic/core/src/main/java/org/apache/shardingsphere/traffic/event/TrafficRuleConfigurationEventBuilder.java
index e397d791c8a..1e8d1df6bc2 100644
--- a/kernel/traffic/core/src/main/java/org/apache/shardingsphere/traffic/event/TrafficRuleConfigurationEventBuilder.java
+++ b/kernel/traffic/core/src/main/java/org/apache/shardingsphere/traffic/event/TrafficRuleConfigurationEventBuilder.java
@@ -47,14 +47,18 @@ public final class TrafficRuleConfigurationEventBuilder implements GlobalRuleCon
if (!GlobalRuleNodeConverter.isExpectedRuleName(TRAFFIC, event.getKey()) || Strings.isNullOrEmpty(event.getValue())) {
return Optional.empty();
}
- return buildEvent(event);
+ Optional<String> version = GlobalRuleNodeConverter.getVersion(TRAFFIC, event.getKey());
+ if (version.isPresent() && !Strings.isNullOrEmpty(event.getValue())) {
+ return buildEvent(event, Integer.parseInt(version.get()));
+ }
+ return Optional.empty();
}
- private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event) {
+ private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event, final int version) {
if (Type.ADDED == event.getType() || Type.UPDATED == event.getType()) {
- return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE));
+ return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE, event.getKey(), version));
}
- return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE));
+ return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE, event.getKey(), version));
}
private TrafficRuleConfiguration swapToConfig(final String yamlContext) {
diff --git a/kernel/transaction/core/src/main/java/org/apache/shardingsphere/transaction/event/TransactionRuleConfigurationEventBuilder.java b/kernel/transaction/core/src/main/java/org/apache/shardingsphere/transaction/event/TransactionRuleConfigurationEventBuilder.java
index 98f4576376c..535dd8c7cea 100644
--- a/kernel/transaction/core/src/main/java/org/apache/shardingsphere/transaction/event/TransactionRuleConfigurationEventBuilder.java
+++ b/kernel/transaction/core/src/main/java/org/apache/shardingsphere/transaction/event/TransactionRuleConfigurationEventBuilder.java
@@ -47,14 +47,18 @@ public final class TransactionRuleConfigurationEventBuilder implements GlobalRul
if (!GlobalRuleNodeConverter.isExpectedRuleName(TRANSACTION, event.getKey()) || Strings.isNullOrEmpty(event.getValue())) {
return Optional.empty();
}
- return buildEvent(event);
+ Optional<String> version = GlobalRuleNodeConverter.getVersion(TRANSACTION, event.getKey());
+ if (version.isPresent() && !Strings.isNullOrEmpty(event.getValue())) {
+ return buildEvent(event, Integer.parseInt(version.get()));
+ }
+ return Optional.empty();
}
- private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event) {
+ private Optional<GovernanceEvent> buildEvent(final DataChangedEvent event, final int version) {
if (Type.ADDED == event.getType() || Type.UPDATED == event.getType()) {
- return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE));
+ return Optional.of(new AlterGlobalRuleConfigurationEvent(swapToConfig(event.getValue()), RULE_TYPE, event.getKey(), version));
}
- return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE));
+ return Optional.of(new DeleteGlobalRuleConfigurationEvent(RULE_TYPE, event.getKey(), version));
}
private TransactionRuleConfiguration swapToConfig(final String yamlContext) {