This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 9bf2e447a01 Add RuleChangedItemType (#34840)
9bf2e447a01 is described below
commit 9bf2e447a0133b2f0508d4a9d4e01e8c06d15f60
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Mar 2 19:53:33 2025 +0800
Add RuleChangedItemType (#34840)
* Refactor RuleItemAlteredBuildExecutor
* Add RuleChangedItemType
* Add RuleChangedItemType
---
.../rule/changed/BroadcastTableChangedProcessor.java | 5 +++--
.../rule/changed/BroadcastTableChangedProcessorTest.java | 3 ++-
.../encrypt/rule/changed/EncryptTableChangedProcessor.java | 5 +++--
.../encrypt/rule/changed/EncryptorChangedProcessor.java | 5 +++--
.../rule/changed/EncryptTableChangedProcessorTest.java | 3 ++-
.../encrypt/rule/changed/EncryptorChangedProcessorTest.java | 3 ++-
.../mask/rule/changed/MaskAlgorithmChangedProcessor.java | 5 +++--
.../mask/rule/changed/MaskTableChangedProcessor.java | 5 +++--
.../mask/rule/changed/MaskAlgorithmChangedProcessorTest.java | 3 ++-
.../mask/rule/changed/MaskTableChangedProcessorTest.java | 3 ++-
.../ReadwriteSplittingDataSourceChangedProcessor.java | 5 +++--
.../ReadwriteSplittingLoadBalancerChangedProcessor.java | 5 +++--
.../ReadwriteSplittingDataSourceChangedProcessorTest.java | 3 ++-
.../ReadwriteSplittingLoadBalancerChangedProcessorTest.java | 3 ++-
.../changed/DefaultShadowAlgorithmNameChangedProcessor.java | 5 +++--
.../shadow/rule/changed/ShadowAlgorithmChangedProcessor.java | 5 +++--
.../rule/changed/ShadowDataSourceChangedProcessor.java | 5 +++--
.../shadow/rule/changed/ShadowTableChangedProcessor.java | 5 +++--
.../DefaultShadowAlgorithmNameChangedProcessorTest.java | 3 ++-
.../rule/changed/ShadowAlgorithmChangedProcessorTest.java | 3 ++-
.../rule/changed/ShadowDataSourceChangedProcessorTest.java | 3 ++-
.../shadow/rule/changed/ShadowTableChangedProcessorTest.java | 3 ++-
.../DefaultDatabaseShardingStrategyChangedProcessor.java | 5 +++--
.../changed/DefaultKeyGenerateStrategyChangedProcessor.java | 5 +++--
.../DefaultShardingAuditorStrategyChangedProcessor.java | 5 +++--
.../rule/changed/DefaultShardingColumnChangedProcessor.java | 5 +++--
.../DefaultTableShardingStrategyChangedProcessor.java | 5 +++--
.../sharding/rule/changed/KeyGeneratorChangedProcessor.java | 5 +++--
.../rule/changed/ShardingAlgorithmChangedProcessor.java | 5 +++--
.../rule/changed/ShardingAuditorChangedProcessor.java | 5 +++--
.../rule/changed/ShardingAutoTableChangedProcessor.java | 5 +++--
.../sharding/rule/changed/ShardingCacheChangedProcessor.java | 5 +++--
.../sharding/rule/changed/ShardingTableChangedProcessor.java | 5 +++--
.../rule/changed/ShardingTableReferenceChangedProcessor.java | 5 +++--
.../DefaultDatabaseShardingStrategyChangedProcessorTest.java | 3 ++-
.../DefaultKeyGenerateStrategyChangedProcessorTest.java | 3 ++-
.../DefaultShardingAuditorStrategyChangedProcessorTest.java | 3 ++-
.../changed/DefaultShardingColumnChangedProcessorTest.java | 3 ++-
.../DefaultTableShardingStrategyChangedProcessorTest.java | 3 ++-
.../rule/changed/KeyGeneratorChangedProcessorTest.java | 3 ++-
.../rule/changed/ShardingAlgorithmChangedProcessorTest.java | 3 ++-
.../rule/changed/ShardingAuditorChangedProcessorTest.java | 3 ++-
.../rule/changed/ShardingAutoTableChangedProcessorTest.java | 3 ++-
.../rule/changed/ShardingCacheChangedProcessorTest.java | 3 ++-
.../rule/changed/ShardingTableChangedProcessorTest.java | 3 ++-
.../changed/ShardingTableReferenceChangedProcessorTest.java | 3 ++-
.../core/processor/AlgorithmChangedProcessorTest.java | 3 ++-
.../processor/fixture/FixtureAlgorithmChangedProcessor.java | 5 +++--
.../rule/changed/DefaultDataSourceChangedProcessor.java | 5 +++--
.../single/rule/changed/SingleTableChangedProcessor.java | 5 +++--
.../rule/changed/DefaultDataSourceChangedProcessorTest.java | 3 ++-
.../single/rule/changed/SingleTableChangedProcessorTest.java | 3 ++-
.../changed/executor/type/RuleItemAlteredBuildExecutor.java | 12 ++++++------
.../changed/executor/type/RuleItemDroppedBuildExecutor.java | 5 +++--
.../mode/metadata/manager/rule/DatabaseRuleItemManager.java | 4 ++--
.../mode/spi/rule/RuleItemConfigurationChangedProcessor.java | 4 ++++
.../shardingsphere/mode/spi/rule/item/RuleChangedItem.java | 2 +-
.../DropUniqueRuleItem.java => RuleChangedItemType.java} | 12 +++++++-----
.../mode/spi/rule/item/alter/AlterNamedRuleItem.java | 3 ++-
.../mode/spi/rule/item/alter/AlterUniqueRuleItem.java | 3 ++-
.../mode/spi/rule/item/drop/DropNamedRuleItem.java | 3 ++-
.../mode/spi/rule/item/drop/DropUniqueRuleItem.java | 3 ++-
62 files changed, 161 insertions(+), 98 deletions(-)
diff --git
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/rule/changed/BroadcastTableChangedProcessor.java
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/rule/changed/BroadcastTableChangedProcessor.java
index 1ae7bfe0e1f..b18afee1150 100644
---
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/rule/changed/BroadcastTableChangedProcessor.java
+++
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/rule/changed/BroadcastTableChangedProcessor.java
@@ -22,6 +22,7 @@ import org.apache.shardingsphere.broadcast.rule.BroadcastRule;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
@@ -56,7 +57,7 @@ public final class BroadcastTableChangedProcessor implements
RuleItemConfigurati
}
@Override
- public String getType() {
- return "broadcast.tables";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("broadcast", "tables");
}
}
diff --git
a/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/rule/changed/BroadcastTableChangedProcessorTest.java
b/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/rule/changed/BroadcastTableChangedProcessorTest.java
index 1816011bb29..7e7aec7f6bc 100644
---
a/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/rule/changed/BroadcastTableChangedProcessorTest.java
+++
b/features/broadcast/core/src/test/java/org/apache/shardingsphere/broadcast/rule/changed/BroadcastTableChangedProcessorTest.java
@@ -22,6 +22,7 @@ import org.apache.shardingsphere.broadcast.rule.BroadcastRule;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
@@ -40,7 +41,7 @@ class BroadcastTableChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<BroadcastRuleConfiguration,
BroadcastRuleConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class, "broadcast.tables");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("broadcast", "tables"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptTableChangedProcessor.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptTableChangedProcessor.java
index b57d9119576..a06a1120691 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptTableChangedProcessor.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptTableChangedProcessor.java
@@ -25,6 +25,7 @@ import
org.apache.shardingsphere.encrypt.yaml.swapper.rule.YamlEncryptTableRuleC
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
@@ -61,7 +62,7 @@ public final class EncryptTableChangedProcessor implements
RuleItemConfiguration
}
@Override
- public String getType() {
- return "encrypt.tables";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("encrypt", "tables");
}
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptorChangedProcessor.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptorChangedProcessor.java
index 307c00fad47..df5275d523b 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptorChangedProcessor.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptorChangedProcessor.java
@@ -21,6 +21,7 @@ import
org.apache.shardingsphere.encrypt.config.EncryptRuleConfiguration;
import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
import
org.apache.shardingsphere.infra.algorithm.core.processor.AlgorithmChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import java.util.LinkedHashMap;
import java.util.LinkedList;
@@ -46,7 +47,7 @@ public final class EncryptorChangedProcessor extends
AlgorithmChangedProcessor<E
}
@Override
- public String getType() {
- return "encrypt.encryptors";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("encrypt", "encryptors");
}
}
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptTableChangedProcessorTest.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptTableChangedProcessorTest.java
index e846f1cd3e6..3e5bfc840ca 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptTableChangedProcessorTest.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptTableChangedProcessorTest.java
@@ -30,6 +30,7 @@ import
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.junit.jupiter.api.Test;
@@ -49,7 +50,7 @@ class EncryptTableChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<EncryptRuleConfiguration,
EncryptTableRuleConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class, "encrypt.tables");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("encrypt", "tables"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptorChangedProcessorTest.java
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptorChangedProcessorTest.java
index 432813b9790..b65491c7781 100644
---
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptorChangedProcessorTest.java
+++
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rule/changed/EncryptorChangedProcessorTest.java
@@ -23,6 +23,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.junit.jupiter.api.Test;
@@ -44,7 +45,7 @@ class EncryptorChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<EncryptRuleConfiguration,
AlgorithmConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class, "encrypt.encryptors");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("encrypt", "encryptors"));
@Test
void assertFindRuleConfigurationWhenAbsent() {
diff --git
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessor.java
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessor.java
index be4f257ccbe..d7e8bd6d065 100644
---
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessor.java
+++
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessor.java
@@ -21,6 +21,7 @@ import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfigurat
import
org.apache.shardingsphere.infra.algorithm.core.processor.AlgorithmChangedProcessor;
import org.apache.shardingsphere.mask.config.MaskRuleConfiguration;
import org.apache.shardingsphere.mask.rule.MaskRule;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import java.util.LinkedHashMap;
import java.util.LinkedList;
@@ -46,7 +47,7 @@ public final class MaskAlgorithmChangedProcessor extends
AlgorithmChangedProcess
}
@Override
- public String getType() {
- return "mask.mask_algorithms";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("mask", "mask_algorithms");
}
}
diff --git
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/changed/MaskTableChangedProcessor.java
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/changed/MaskTableChangedProcessor.java
index d356868903c..458bb207a01 100644
---
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/changed/MaskTableChangedProcessor.java
+++
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/rule/changed/MaskTableChangedProcessor.java
@@ -25,6 +25,7 @@ import org.apache.shardingsphere.mask.rule.MaskRule;
import
org.apache.shardingsphere.mask.yaml.config.rule.YamlMaskTableRuleConfiguration;
import
org.apache.shardingsphere.mask.yaml.swapper.rule.YamlMaskTableRuleConfigurationSwapper;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
@@ -60,7 +61,7 @@ public final class MaskTableChangedProcessor implements
RuleItemConfigurationCha
}
@Override
- public String getType() {
- return "mask.tables";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("mask", "tables");
}
}
diff --git
a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessorTest.java
b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessorTest.java
index dac0176f6cd..059f3cdad2a 100644
---
a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessorTest.java
+++
b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskAlgorithmChangedProcessorTest.java
@@ -23,6 +23,7 @@ import
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.mask.config.MaskRuleConfiguration;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.junit.jupiter.api.Test;
@@ -44,7 +45,7 @@ class MaskAlgorithmChangedProcessorTest {
@SuppressWarnings("unchecked")
private final RuleItemConfigurationChangedProcessor<MaskRuleConfiguration,
AlgorithmConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"mask.mask_algorithms");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("mask", "mask_algorithms"));
@Test
void assertFindRuleConfigurationWhenAbsent() {
diff --git
a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskTableChangedProcessorTest.java
b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskTableChangedProcessorTest.java
index e0f281a2a41..ad3c7bb19ae 100644
---
a/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskTableChangedProcessorTest.java
+++
b/features/mask/core/src/test/java/org/apache/shardingsphere/mask/rule/changed/MaskTableChangedProcessorTest.java
@@ -28,6 +28,7 @@ import org.apache.shardingsphere.mask.rule.MaskRule;
import
org.apache.shardingsphere.mask.yaml.config.rule.YamlMaskColumnRuleConfiguration;
import
org.apache.shardingsphere.mask.yaml.config.rule.YamlMaskTableRuleConfiguration;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.junit.jupiter.api.Test;
@@ -47,7 +48,7 @@ class MaskTableChangedProcessorTest {
@SuppressWarnings("unchecked")
private final RuleItemConfigurationChangedProcessor<MaskRuleConfiguration,
MaskTableRuleConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class, "mask.tables");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("mask", "tables"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingDataSourceChangedProcessor.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingDataSourceChangedProcessor.java
index 53348cd9554..99b1b1478d0 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingDataSourceChangedProcessor.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingDataSourceChangedProcessor.java
@@ -21,6 +21,7 @@ import com.google.common.base.Strings;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
@@ -74,7 +75,7 @@ public final class
ReadwriteSplittingDataSourceChangedProcessor
}
@Override
- public String getType() {
- return "readwrite_splitting.data_source_groups";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("readwrite_splitting",
"data_source_groups");
}
}
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingLoadBalancerChangedProcessor.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingLoadBalancerChangedProcessor.java
index 222eb2d679b..e7ade65d7a5 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingLoadBalancerChangedProcessor.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingLoadBalancerChangedProcessor.java
@@ -19,6 +19,7 @@ package
org.apache.shardingsphere.readwritesplitting.rule.changed;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
import
org.apache.shardingsphere.infra.algorithm.core.processor.AlgorithmChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import
org.apache.shardingsphere.readwritesplitting.config.ReadwriteSplittingRuleConfiguration;
import
org.apache.shardingsphere.readwritesplitting.rule.ReadwriteSplittingRule;
@@ -46,7 +47,7 @@ public final class
ReadwriteSplittingLoadBalancerChangedProcessor extends Algori
}
@Override
- public String getType() {
- return "readwrite_splitting.load_balancers";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("readwrite_splitting",
"load_balancers");
}
}
diff --git
a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingDataSourceChangedProcessorTest.java
b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingDataSourceChangedProcessorTest.java
index 55d8e8d7cb2..8fff6f50c56 100644
---
a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingDataSourceChangedProcessorTest.java
+++
b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingDataSourceChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import
org.apache.shardingsphere.readwritesplitting.config.ReadwriteSplittingRuleConfiguration;
@@ -46,7 +47,7 @@ class ReadwriteSplittingDataSourceChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ReadwriteSplittingRuleConfiguration,
ReadwriteSplittingDataSourceGroupRuleConfiguration> processor =
TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"readwrite_splitting.data_source_groups");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("readwrite_splitting", "data_source_groups"));
@Test
void
assertSwapRuleItemConfigurationWithoutTransactionalReadQueryStrategy() {
diff --git
a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingLoadBalancerChangedProcessorTest.java
b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingLoadBalancerChangedProcessorTest.java
index bfbe7bb28f1..dcdf11df0d1 100644
---
a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingLoadBalancerChangedProcessorTest.java
+++
b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/rule/changed/ReadwriteSplittingLoadBalancerChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import
org.apache.shardingsphere.readwritesplitting.config.ReadwriteSplittingRuleConfiguration;
@@ -44,7 +45,7 @@ class ReadwriteSplittingLoadBalancerChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ReadwriteSplittingRuleConfiguration,
AlgorithmConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"readwrite_splitting.load_balancers");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("readwrite_splitting", "load_balancers"));
@Test
void assertFindRuleConfigurationWhenAbsent() {
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/DefaultShadowAlgorithmNameChangedProcessor.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/DefaultShadowAlgorithmNameChangedProcessor.java
index 0b2456c5757..1450253696a 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/DefaultShadowAlgorithmNameChangedProcessor.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/DefaultShadowAlgorithmNameChangedProcessor.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.shadow.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.shadow.config.ShadowRuleConfiguration;
@@ -50,7 +51,7 @@ public final class DefaultShadowAlgorithmNameChangedProcessor
implements RuleIte
}
@Override
- public String getType() {
- return "shadow.default_shadow_algorithm_name";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("shadow",
"default_shadow_algorithm_name");
}
}
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/ShadowAlgorithmChangedProcessor.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/ShadowAlgorithmChangedProcessor.java
index ad88123d664..6e1d96fe183 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/ShadowAlgorithmChangedProcessor.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/ShadowAlgorithmChangedProcessor.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.shadow.rule.changed;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
import
org.apache.shardingsphere.infra.algorithm.core.processor.AlgorithmChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.shadow.config.ShadowRuleConfiguration;
import org.apache.shardingsphere.shadow.rule.ShadowRule;
@@ -44,7 +45,7 @@ public final class ShadowAlgorithmChangedProcessor extends
AlgorithmChangedProce
}
@Override
- public String getType() {
- return "shadow.shadow_algorithms";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("shadow", "shadow_algorithms");
}
}
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/ShadowDataSourceChangedProcessor.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/ShadowDataSourceChangedProcessor.java
index fb02b4ff19d..f7aaef55931 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/ShadowDataSourceChangedProcessor.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/ShadowDataSourceChangedProcessor.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.shadow.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
@@ -58,7 +59,7 @@ public final class ShadowDataSourceChangedProcessor
implements RuleItemConfigura
}
@Override
- public String getType() {
- return "shadow.data_sources";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("shadow", "data_sources");
}
}
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/ShadowTableChangedProcessor.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/ShadowTableChangedProcessor.java
index 3a87629b92f..7e16de8c2b4 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/ShadowTableChangedProcessor.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/rule/changed/ShadowTableChangedProcessor.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.shadow.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
@@ -56,7 +57,7 @@ public final class ShadowTableChangedProcessor implements
RuleItemConfigurationC
}
@Override
- public String getType() {
- return "shadow.tables";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("shadow", "tables");
}
}
diff --git
a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/DefaultShadowAlgorithmNameChangedProcessorTest.java
b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/DefaultShadowAlgorithmNameChangedProcessorTest.java
index 78ab596c54f..5dd82c5ce6e 100644
---
a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/DefaultShadowAlgorithmNameChangedProcessorTest.java
+++
b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/DefaultShadowAlgorithmNameChangedProcessorTest.java
@@ -21,6 +21,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.shadow.config.ShadowRuleConfiguration;
@@ -39,7 +40,7 @@ class DefaultShadowAlgorithmNameChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShadowRuleConfiguration, String>
processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"shadow.default_shadow_algorithm_name");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("shadow", "default_shadow_algorithm_name"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/ShadowAlgorithmChangedProcessorTest.java
b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/ShadowAlgorithmChangedProcessorTest.java
index b85a0228a5e..7f8dd1065d5 100644
---
a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/ShadowAlgorithmChangedProcessorTest.java
+++
b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/ShadowAlgorithmChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.shadow.config.ShadowRuleConfiguration;
@@ -41,7 +42,7 @@ class ShadowAlgorithmChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShadowRuleConfiguration,
AlgorithmConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"shadow.shadow_algorithms");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("shadow", "shadow_algorithms"));
@Test
void assertFindRuleConfigurationWhenAbsent() {
diff --git
a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/ShadowDataSourceChangedProcessorTest.java
b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/ShadowDataSourceChangedProcessorTest.java
index 8b0481f8f86..4020e8532aa 100644
---
a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/ShadowDataSourceChangedProcessorTest.java
+++
b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/ShadowDataSourceChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.shadow.config.ShadowRuleConfiguration;
@@ -44,7 +45,7 @@ class ShadowDataSourceChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShadowRuleConfiguration,
ShadowDataSourceConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"shadow.data_sources");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("shadow", "data_sources"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/ShadowTableChangedProcessorTest.java
b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/ShadowTableChangedProcessorTest.java
index 193bdbbe1f5..0e17301bc69 100644
---
a/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/ShadowTableChangedProcessorTest.java
+++
b/features/shadow/core/src/test/java/org/apache/shardingsphere/shadow/rule/changed/ShadowTableChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.shadow.config.ShadowRuleConfiguration;
@@ -43,7 +44,7 @@ class ShadowTableChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShadowRuleConfiguration,
ShadowTableConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class, "shadow.tables");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("shadow", "tables"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultDatabaseShardingStrategyChangedProcessor.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultDatabaseShardingStrategyChangedProcessor.java
index a3526bc8036..617ac3ef827 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultDatabaseShardingStrategyChangedProcessor.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultDatabaseShardingStrategyChangedProcessor.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.sharding.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -54,7 +55,7 @@ public final class
DefaultDatabaseShardingStrategyChangedProcessor implements Ru
}
@Override
- public String getType() {
- return "sharding.default_database_strategy";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("sharding",
"default_database_strategy");
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultKeyGenerateStrategyChangedProcessor.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultKeyGenerateStrategyChangedProcessor.java
index e87847b1a2d..f8c9bff794b 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultKeyGenerateStrategyChangedProcessor.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultKeyGenerateStrategyChangedProcessor.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.sharding.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -54,7 +55,7 @@ public final class DefaultKeyGenerateStrategyChangedProcessor
implements RuleIte
}
@Override
- public String getType() {
- return "sharding.default_key_generate_strategy";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("sharding",
"default_key_generate_strategy");
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingAuditorStrategyChangedProcessor.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingAuditorStrategyChangedProcessor.java
index 4ac7004cdf7..00bfb096d1f 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingAuditorStrategyChangedProcessor.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingAuditorStrategyChangedProcessor.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.sharding.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -54,7 +55,7 @@ public final class
DefaultShardingAuditorStrategyChangedProcessor implements Rul
}
@Override
- public String getType() {
- return "sharding.default_audit_strategy";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("sharding", "default_audit_strategy");
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingColumnChangedProcessor.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingColumnChangedProcessor.java
index baf6574d244..b741edcc45e 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingColumnChangedProcessor.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingColumnChangedProcessor.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.sharding.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -50,7 +51,7 @@ public final class DefaultShardingColumnChangedProcessor
implements RuleItemConf
}
@Override
- public String getType() {
- return "sharding.default_sharding_column";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("sharding", "default_sharding_column");
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultTableShardingStrategyChangedProcessor.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultTableShardingStrategyChangedProcessor.java
index 933fcdd07fd..d1d5165fa39 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultTableShardingStrategyChangedProcessor.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/DefaultTableShardingStrategyChangedProcessor.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.sharding.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -54,7 +55,7 @@ public final class
DefaultTableShardingStrategyChangedProcessor implements RuleI
}
@Override
- public String getType() {
- return "sharding.default_table_strategy";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("sharding", "default_table_strategy");
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/KeyGeneratorChangedProcessor.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/KeyGeneratorChangedProcessor.java
index df72a18fb46..fcf30d4f1bb 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/KeyGeneratorChangedProcessor.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/KeyGeneratorChangedProcessor.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.sharding.rule.changed;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
import
org.apache.shardingsphere.infra.algorithm.core.processor.AlgorithmChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -44,7 +45,7 @@ public final class KeyGeneratorChangedProcessor extends
AlgorithmChangedProcesso
}
@Override
- public String getType() {
- return "sharding.key_generators";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("sharding", "key_generators");
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAlgorithmChangedProcessor.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAlgorithmChangedProcessor.java
index d378fe20544..7aeec466ba0 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAlgorithmChangedProcessor.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAlgorithmChangedProcessor.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.sharding.rule.changed;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
import
org.apache.shardingsphere.infra.algorithm.core.processor.AlgorithmChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -44,7 +45,7 @@ public final class ShardingAlgorithmChangedProcessor extends
AlgorithmChangedPro
}
@Override
- public String getType() {
- return "sharding.sharding_algorithms";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("sharding", "sharding_algorithms");
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAuditorChangedProcessor.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAuditorChangedProcessor.java
index ecf33eb59a7..b25d42efb7c 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAuditorChangedProcessor.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAuditorChangedProcessor.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.sharding.rule.changed;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
import
org.apache.shardingsphere.infra.algorithm.core.processor.AlgorithmChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -44,7 +45,7 @@ public final class ShardingAuditorChangedProcessor extends
AlgorithmChangedProce
}
@Override
- public String getType() {
- return "sharding.auditors";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("sharding", "auditors");
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAutoTableChangedProcessor.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAutoTableChangedProcessor.java
index 29f46403b5f..3ac39bd2774 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAutoTableChangedProcessor.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAutoTableChangedProcessor.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.sharding.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
@@ -57,7 +58,7 @@ public final class ShardingAutoTableChangedProcessor
implements RuleItemConfigur
}
@Override
- public String getType() {
- return "sharding.auto_tables";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("sharding", "auto_tables");
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingCacheChangedProcessor.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingCacheChangedProcessor.java
index 47c34c1f531..4baef332d84 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingCacheChangedProcessor.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingCacheChangedProcessor.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.sharding.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -54,7 +55,7 @@ public final class ShardingCacheChangedProcessor implements
RuleItemConfiguratio
}
@Override
- public String getType() {
- return "sharding.sharding_cache";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("sharding", "sharding_cache");
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableChangedProcessor.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableChangedProcessor.java
index 6319ee6bf38..b0df27e2132 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableChangedProcessor.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableChangedProcessor.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.sharding.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
@@ -57,7 +58,7 @@ public final class ShardingTableChangedProcessor implements
RuleItemConfiguratio
}
@Override
- public String getType() {
- return "sharding.tables";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("sharding", "tables");
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableReferenceChangedProcessor.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableReferenceChangedProcessor.java
index 7e5a04ce109..9eabe827af9 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableReferenceChangedProcessor.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableReferenceChangedProcessor.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.sharding.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
@@ -55,7 +56,7 @@ public final class ShardingTableReferenceChangedProcessor
implements RuleItemCon
}
@Override
- public String getType() {
- return "sharding.binding_tables";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("sharding", "binding_tables");
}
}
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultDatabaseShardingStrategyChangedProcessorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultDatabaseShardingStrategyChangedProcessorTest.java
index e48aed02d43..8d503a8f018 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultDatabaseShardingStrategyChangedProcessorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultDatabaseShardingStrategyChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -46,7 +47,7 @@ class DefaultDatabaseShardingStrategyChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShardingRuleConfiguration,
ShardingStrategyConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"sharding.default_database_strategy");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("sharding", "default_database_strategy"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultKeyGenerateStrategyChangedProcessorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultKeyGenerateStrategyChangedProcessorTest.java
index 40a6be833b7..98faf6c5cdb 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultKeyGenerateStrategyChangedProcessorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultKeyGenerateStrategyChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -43,7 +44,7 @@ class DefaultKeyGenerateStrategyChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShardingRuleConfiguration,
KeyGenerateStrategyConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"sharding.default_key_generate_strategy");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("sharding", "default_key_generate_strategy"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingAuditorStrategyChangedProcessorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingAuditorStrategyChangedProcessorTest.java
index 6da1cb56a12..e3f2ae27795 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingAuditorStrategyChangedProcessorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingAuditorStrategyChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -44,7 +45,7 @@ class DefaultShardingAuditorStrategyChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShardingRuleConfiguration,
ShardingAuditStrategyConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"sharding.default_audit_strategy");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("sharding", "default_audit_strategy"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingColumnChangedProcessorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingColumnChangedProcessorTest.java
index 3528bd17b6e..ec27f38bd40 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingColumnChangedProcessorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultShardingColumnChangedProcessorTest.java
@@ -21,6 +21,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -39,7 +40,7 @@ class DefaultShardingColumnChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShardingRuleConfiguration, String>
processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"sharding.default_sharding_column");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("sharding", "default_sharding_column"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultTableShardingStrategyChangedProcessorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultTableShardingStrategyChangedProcessorTest.java
index db679af3adc..e6d713c999a 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultTableShardingStrategyChangedProcessorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/DefaultTableShardingStrategyChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -46,7 +47,7 @@ class DefaultTableShardingStrategyChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShardingRuleConfiguration,
ShardingStrategyConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"sharding.default_table_strategy");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("sharding", "default_table_strategy"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/KeyGeneratorChangedProcessorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/KeyGeneratorChangedProcessorTest.java
index c4c5fd0aef6..b67450690fb 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/KeyGeneratorChangedProcessorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/KeyGeneratorChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -41,7 +42,7 @@ class KeyGeneratorChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShardingRuleConfiguration,
AlgorithmConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"sharding.key_generators");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("sharding", "key_generators"));
@Test
void assertFindRuleConfigurationWhenAbsent() {
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAlgorithmChangedProcessorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAlgorithmChangedProcessorTest.java
index 8447bea553c..fcc26b755b4 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAlgorithmChangedProcessorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAlgorithmChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -41,7 +42,7 @@ class ShardingAlgorithmChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShardingRuleConfiguration,
AlgorithmConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"sharding.sharding_algorithms");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("sharding", "sharding_algorithms"));
@Test
void assertFindRuleConfigurationWhenAbsent() {
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAuditorChangedProcessorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAuditorChangedProcessorTest.java
index 1ee2d42b880..09f00a19ed8 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAuditorChangedProcessorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAuditorChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -41,7 +42,7 @@ class ShardingAuditorChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShardingRuleConfiguration,
AlgorithmConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class, "sharding.auditors");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("sharding", "auditors"));
@Test
void assertFindRuleConfigurationWhenAbsent() {
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAutoTableChangedProcessorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAutoTableChangedProcessorTest.java
index e2f007ce877..7212a670bc0 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAutoTableChangedProcessorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingAutoTableChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -44,7 +45,7 @@ class ShardingAutoTableChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShardingRuleConfiguration,
ShardingAutoTableRuleConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"sharding.auto_tables");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("sharding", "auto_tables"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingCacheChangedProcessorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingCacheChangedProcessorTest.java
index b74a486b1dd..6e6dcd5fcaa 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingCacheChangedProcessorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingCacheChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -46,7 +47,7 @@ class ShardingCacheChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShardingRuleConfiguration,
ShardingCacheConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"sharding.sharding_cache");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("sharding", "sharding_cache"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableChangedProcessorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableChangedProcessorTest.java
index ede2e8cfb58..32f1445cdca 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableChangedProcessorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableChangedProcessorTest.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -44,7 +45,7 @@ class ShardingTableChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShardingRuleConfiguration,
ShardingTableRuleConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class, "sharding.tables");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("sharding", "tables"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableReferenceChangedProcessorTest.java
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableReferenceChangedProcessorTest.java
index fdc0ecb318d..1b66f41ba15 100644
---
a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableReferenceChangedProcessorTest.java
+++
b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/rule/changed/ShardingTableReferenceChangedProcessorTest.java
@@ -21,6 +21,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
@@ -42,7 +43,7 @@ class ShardingTableReferenceChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<ShardingRuleConfiguration,
ShardingTableReferenceRuleConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"sharding.binding_tables");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("sharding", "binding_tables"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/infra/algorithm/core/src/test/java/org/apache/shardingsphere/infra/algorithm/core/processor/AlgorithmChangedProcessorTest.java
b/infra/algorithm/core/src/test/java/org/apache/shardingsphere/infra/algorithm/core/processor/AlgorithmChangedProcessorTest.java
index 69cdfc53919..e69defc00da 100644
---
a/infra/algorithm/core/src/test/java/org/apache/shardingsphere/infra/algorithm/core/processor/AlgorithmChangedProcessorTest.java
+++
b/infra/algorithm/core/src/test/java/org/apache/shardingsphere/infra/algorithm/core/processor/AlgorithmChangedProcessorTest.java
@@ -26,6 +26,7 @@ import
org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.junit.jupiter.api.Test;
@@ -44,7 +45,7 @@ class AlgorithmChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<AlgorithmChangedProcessorFixtureRuleConfiguration,
AlgorithmConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class, "FIXTURE");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("fixture", "algorithm"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/infra/algorithm/core/src/test/java/org/apache/shardingsphere/infra/algorithm/core/processor/fixture/FixtureAlgorithmChangedProcessor.java
b/infra/algorithm/core/src/test/java/org/apache/shardingsphere/infra/algorithm/core/processor/fixture/FixtureAlgorithmChangedProcessor.java
index 8863bf6bfe7..9bd67b118bf 100644
---
a/infra/algorithm/core/src/test/java/org/apache/shardingsphere/infra/algorithm/core/processor/fixture/FixtureAlgorithmChangedProcessor.java
+++
b/infra/algorithm/core/src/test/java/org/apache/shardingsphere/infra/algorithm/core/processor/fixture/FixtureAlgorithmChangedProcessor.java
@@ -19,6 +19,7 @@ package
org.apache.shardingsphere.infra.algorithm.core.processor.fixture;
import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
import
org.apache.shardingsphere.infra.algorithm.core.processor.AlgorithmChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import java.util.Map;
@@ -39,7 +40,7 @@ public final class FixtureAlgorithmChangedProcessor extends
AlgorithmChangedProc
}
@Override
- public Object getType() {
- return "FIXTURE";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("fixture", "algorithm");
}
}
diff --git
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/rule/changed/DefaultDataSourceChangedProcessor.java
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/rule/changed/DefaultDataSourceChangedProcessor.java
index 9f697b6e9f0..bb2a7bf29e8 100644
---
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/rule/changed/DefaultDataSourceChangedProcessor.java
+++
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/rule/changed/DefaultDataSourceChangedProcessor.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.single.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.single.config.SingleRuleConfiguration;
@@ -50,7 +51,7 @@ public final class DefaultDataSourceChangedProcessor
implements RuleItemConfigur
}
@Override
- public String getType() {
- return "single.default_data_source";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("single", "default_data_source");
}
}
diff --git
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/rule/changed/SingleTableChangedProcessor.java
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/rule/changed/SingleTableChangedProcessor.java
index 506928f9ed3..f88a7bebe91 100644
---
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/rule/changed/SingleTableChangedProcessor.java
+++
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/rule/changed/SingleTableChangedProcessor.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.single.rule.changed;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.single.config.SingleRuleConfiguration;
@@ -55,7 +56,7 @@ public final class SingleTableChangedProcessor implements
RuleItemConfigurationC
}
@Override
- public String getType() {
- return "single.tables";
+ public RuleChangedItemType getType() {
+ return new RuleChangedItemType("single", "tables");
}
}
diff --git
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/rule/changed/DefaultDataSourceChangedProcessorTest.java
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/rule/changed/DefaultDataSourceChangedProcessorTest.java
index e65b64c351a..89670612be9 100644
---
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/rule/changed/DefaultDataSourceChangedProcessorTest.java
+++
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/rule/changed/DefaultDataSourceChangedProcessorTest.java
@@ -21,6 +21,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.single.config.SingleRuleConfiguration;
@@ -40,7 +41,7 @@ class DefaultDataSourceChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<SingleRuleConfiguration, String>
processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class,
"single.default_data_source");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("single", "default_data_source"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/rule/changed/SingleTableChangedProcessorTest.java
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/rule/changed/SingleTableChangedProcessorTest.java
index 8cfeea71bac..09cfb0f04bb 100644
---
a/kernel/single/core/src/test/java/org/apache/shardingsphere/single/rule/changed/SingleTableChangedProcessorTest.java
+++
b/kernel/single/core/src/test/java/org/apache/shardingsphere/single/rule/changed/SingleTableChangedProcessorTest.java
@@ -21,6 +21,7 @@ import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.single.config.SingleRuleConfiguration;
@@ -40,7 +41,7 @@ class SingleTableChangedProcessorTest {
@SuppressWarnings("unchecked")
private final
RuleItemConfigurationChangedProcessor<SingleRuleConfiguration,
SingleRuleConfiguration> processor = TypedSPILoader.getService(
- RuleItemConfigurationChangedProcessor.class, "single.tables");
+ RuleItemConfigurationChangedProcessor.class, new
RuleChangedItemType("single", "tables"));
@Test
void assertSwapRuleItemConfiguration() {
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/changed/executor/type/RuleItemAlteredBuildExecutor.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/changed/executor/type/RuleItemAlteredBuildExecutor.java
index 88c21e12e45..0bbe52cc8d9 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/changed/executor/type/RuleItemAlteredBuildExecutor.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/changed/executor/type/RuleItemAlteredBuildExecutor.java
@@ -23,6 +23,7 @@ import
org.apache.shardingsphere.mode.node.path.type.metadata.rule.DatabaseRuleI
import
org.apache.shardingsphere.mode.node.path.type.metadata.rule.DatabaseRuleNodePath;
import
org.apache.shardingsphere.mode.node.path.type.version.VersionNodePathParser;
import org.apache.shardingsphere.mode.node.rule.node.DatabaseRuleNode;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterUniqueRuleItem;
@@ -37,17 +38,16 @@ public final class RuleItemAlteredBuildExecutor implements
RuleItemChangedBuildE
@Override
public Optional<AlterRuleItem> build(final DatabaseRuleNode
databaseRuleNode, final String databaseName, final String path, final Integer
activeVersion) {
for (String each : databaseRuleNode.getNamedItems()) {
- DatabaseRuleNodePath databaseRuleNodePath = new
DatabaseRuleNodePath(NodePathPattern.IDENTIFIER, databaseRuleNode.getRuleType(),
- new DatabaseRuleItem(each,
NodePathPattern.QUALIFIED_IDENTIFIER));
- Optional<String> itemName = new
VersionNodePathParser(databaseRuleNodePath).findIdentifierByActiveVersionPath(path,
2);
+ DatabaseRuleNodePath databaseRuleNodePath = new
DatabaseRuleNodePath(databaseName, databaseRuleNode.getRuleType(), new
DatabaseRuleItem(each, NodePathPattern.QUALIFIED_IDENTIFIER));
+ Optional<String> itemName = new
VersionNodePathParser(databaseRuleNodePath).findIdentifierByActiveVersionPath(path,
1);
if (itemName.isPresent()) {
- return Optional.of(new AlterNamedRuleItem(databaseName,
itemName.get(), path, activeVersion, databaseRuleNode.getRuleType() + "." +
each));
+ return Optional.of(new AlterNamedRuleItem(databaseName,
itemName.get(), path, activeVersion, new
RuleChangedItemType(databaseRuleNode.getRuleType(), each)));
}
}
for (String each : databaseRuleNode.getUniqueItems()) {
- DatabaseRuleNodePath databaseRuleNodePath = new
DatabaseRuleNodePath(NodePathPattern.IDENTIFIER,
databaseRuleNode.getRuleType(), new DatabaseRuleItem(each));
+ DatabaseRuleNodePath databaseRuleNodePath = new
DatabaseRuleNodePath(databaseName, databaseRuleNode.getRuleType(), new
DatabaseRuleItem(each));
if (new
VersionNodePathParser(databaseRuleNodePath).isActiveVersionPath(path)) {
- return Optional.of(new AlterUniqueRuleItem(databaseName, path,
activeVersion, databaseRuleNode.getRuleType() + "." + each));
+ return Optional.of(new AlterUniqueRuleItem(databaseName, path,
activeVersion, new RuleChangedItemType(databaseRuleNode.getRuleType(), each)));
}
}
return Optional.empty();
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/changed/executor/type/RuleItemDroppedBuildExecutor.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/changed/executor/type/RuleItemDroppedBuildExecutor.java
index d721d1a926d..7b3ef0c0368 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/changed/executor/type/RuleItemDroppedBuildExecutor.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/changed/executor/type/RuleItemDroppedBuildExecutor.java
@@ -24,6 +24,7 @@ import
org.apache.shardingsphere.mode.node.path.type.version.VersionNodePathPars
import org.apache.shardingsphere.mode.node.rule.node.DatabaseRuleNode;
import
org.apache.shardingsphere.mode.node.path.type.metadata.rule.DatabaseRuleItem;
import
org.apache.shardingsphere.mode.node.path.type.metadata.rule.DatabaseRuleNodePath;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropNamedRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropUniqueRuleItem;
@@ -40,13 +41,13 @@ public final class RuleItemDroppedBuildExecutor implements
RuleItemChangedBuildE
for (String each : databaseRuleNode.getNamedItems()) {
Optional<String> itemName = NodePathSearcher.find(path,
DatabaseRuleNodePath.createRuleItemNameSearchCriteria(databaseRuleNode.getRuleType(),
each));
if (itemName.isPresent()) {
- return Optional.of(new DropNamedRuleItem(databaseName,
itemName.get(), databaseRuleNode.getRuleType() + "." + each));
+ return Optional.of(new DropNamedRuleItem(databaseName,
itemName.get(), new RuleChangedItemType(databaseRuleNode.getRuleType(), each)));
}
}
for (String each : databaseRuleNode.getUniqueItems()) {
DatabaseRuleNodePath databaseRuleNodePath = new
DatabaseRuleNodePath(NodePathPattern.IDENTIFIER,
databaseRuleNode.getRuleType(), new DatabaseRuleItem(each));
if (new
VersionNodePathParser(databaseRuleNodePath).isActiveVersionPath(path)) {
- return Optional.of(new DropUniqueRuleItem(databaseName,
databaseRuleNode.getRuleType() + "." + each));
+ return Optional.of(new DropUniqueRuleItem(databaseName, new
RuleChangedItemType(databaseRuleNode.getRuleType(), each)));
}
}
return Optional.empty();
diff --git
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/rule/DatabaseRuleItemManager.java
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/rule/DatabaseRuleItemManager.java
index dd369734fc8..4fd9ab8608a 100644
---
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/rule/DatabaseRuleItemManager.java
+++
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/rule/DatabaseRuleItemManager.java
@@ -58,8 +58,8 @@ public final class DatabaseRuleItemManager {
Preconditions.checkArgument(String.valueOf(alterRuleItem.getActiveVersion()).equals(metaDataPersistFacade.getRepository().query(alterRuleItem.getActiveVersionKey())),
"Invalid active version: %s of key: %s",
alterRuleItem.getActiveVersion(), alterRuleItem.getActiveVersionKey());
RuleItemConfigurationChangedProcessor processor =
TypedSPILoader.getService(RuleItemConfigurationChangedProcessor.class,
alterRuleItem.getType());
- String ruleType = alterRuleItem.getType().split("\\.")[0];
- String itemType = alterRuleItem.getType().split("\\.")[1];
+ String ruleType = alterRuleItem.getType().getRuleType();
+ String itemType = alterRuleItem.getType().getRuleItemType();
DatabaseRuleItem databaseRuleItem = alterRuleItem instanceof
AlterNamedRuleItem
? new DatabaseRuleItem(itemType, ((AlterNamedRuleItem)
alterRuleItem).getItemName())
: new DatabaseRuleItem(itemType);
diff --git
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/RuleItemConfigurationChangedProcessor.java
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/RuleItemConfigurationChangedProcessor.java
index 6f2e7d52726..afb823dc3b6 100644
---
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/RuleItemConfigurationChangedProcessor.java
+++
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/RuleItemConfigurationChangedProcessor.java
@@ -21,6 +21,7 @@ import
org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
import org.apache.shardingsphere.mode.spi.rule.item.alter.AlterRuleItem;
import org.apache.shardingsphere.mode.spi.rule.item.drop.DropRuleItem;
@@ -66,4 +67,7 @@ public interface RuleItemConfigurationChangedProcessor<T
extends RuleConfigurati
* @param currentRuleConfig current rule configuration
*/
void dropRuleItemConfiguration(DropRuleItem dropRuleItem, T
currentRuleConfig);
+
+ @Override
+ RuleChangedItemType getType();
}
diff --git
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/RuleChangedItem.java
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/RuleChangedItem.java
index 8702c30814c..42257e7eeb6 100644
---
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/RuleChangedItem.java
+++
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/RuleChangedItem.java
@@ -27,5 +27,5 @@ public interface RuleChangedItem {
*
* @return rule item type
*/
- String getType();
+ RuleChangedItemType getType();
}
diff --git
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/drop/DropUniqueRuleItem.java
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/RuleChangedItemType.java
similarity index 78%
copy from
mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/drop/DropUniqueRuleItem.java
copy to
mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/RuleChangedItemType.java
index f52583ee2b8..7d71dfda560 100644
---
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/drop/DropUniqueRuleItem.java
+++
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/RuleChangedItemType.java
@@ -15,19 +15,21 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.mode.spi.rule.item.drop;
+package org.apache.shardingsphere.mode.spi.rule.item;
+import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
- * Drop unique rule item.
+ * Rule changed item type.
*/
@RequiredArgsConstructor
@Getter
-public final class DropUniqueRuleItem implements DropRuleItem {
+@EqualsAndHashCode
+public final class RuleChangedItemType {
- private final String databaseName;
+ private final String ruleType;
- private final String type;
+ private final String ruleItemType;
}
diff --git
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/alter/AlterNamedRuleItem.java
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/alter/AlterNamedRuleItem.java
index 0e9c6095424..2331611e490 100644
---
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/alter/AlterNamedRuleItem.java
+++
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/alter/AlterNamedRuleItem.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.mode.spi.rule.item.alter;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
/**
* Alter named rule item.
@@ -35,5 +36,5 @@ public final class AlterNamedRuleItem implements
AlterRuleItem {
private final int activeVersion;
- private final String type;
+ private final RuleChangedItemType type;
}
diff --git
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/alter/AlterUniqueRuleItem.java
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/alter/AlterUniqueRuleItem.java
index d9a70b4c448..1914e56321c 100644
---
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/alter/AlterUniqueRuleItem.java
+++
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/alter/AlterUniqueRuleItem.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.mode.spi.rule.item.alter;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
/**
* Alter unique rule item.
@@ -33,5 +34,5 @@ public final class AlterUniqueRuleItem implements
AlterRuleItem {
private final int activeVersion;
- private final String type;
+ private final RuleChangedItemType type;
}
diff --git
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/drop/DropNamedRuleItem.java
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/drop/DropNamedRuleItem.java
index 2783bec3e2c..b61b88d8ca3 100644
---
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/drop/DropNamedRuleItem.java
+++
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/drop/DropNamedRuleItem.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.mode.spi.rule.item.drop;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
/**
* Drop named rule item.
@@ -31,5 +32,5 @@ public final class DropNamedRuleItem implements DropRuleItem {
private final String itemName;
- private final String type;
+ private final RuleChangedItemType type;
}
diff --git
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/drop/DropUniqueRuleItem.java
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/drop/DropUniqueRuleItem.java
index f52583ee2b8..d1a551d7c8b 100644
---
a/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/drop/DropUniqueRuleItem.java
+++
b/mode/spi/src/main/java/org/apache/shardingsphere/mode/spi/rule/item/drop/DropUniqueRuleItem.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.mode.spi.rule.item.drop;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
+import org.apache.shardingsphere.mode.spi.rule.item.RuleChangedItemType;
/**
* Drop unique rule item.
@@ -29,5 +30,5 @@ public final class DropUniqueRuleItem implements DropRuleItem
{
private final String databaseName;
- private final String type;
+ private final RuleChangedItemType type;
}