This is an automated email from the ASF dual-hosted git repository.
zhonghongsheng 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 33dde6f4ead Refactor impls of RuleChangedEventCreator (#26799)
33dde6f4ead is described below
commit 33dde6f4ead22206a4e13ca4877ab2d07d3a6a2e
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Jul 6 21:16:05 2023 +0800
Refactor impls of RuleChangedEventCreator (#26799)
---
.../event/BroadcastRuleChangedEventCreator.java | 10 +---
.../nodepath/BroadcastRuleNodePathProvider.java | 4 +-
.../subscriber/BroadcastTableChangedGenerator.java | 5 +-
.../CompatibleEncryptRuleChangedEventCreator.java | 17 +------
.../event/EncryptRuleChangedEventCreator.java | 15 +-----
.../CompatibleEncryptRuleNodePathProvider.java | 4 +-
.../nodepath/EncryptRuleNodePathProvider.java | 4 +-
.../subscriber/EncryptTableChangedGenerator.java | 5 +-
.../subscriber/EncryptorChangedGenerator.java | 5 +-
.../CompatibleEncryptTableChangedGenerator.java | 5 +-
.../CompatibleEncryptorChangedGenerator.java | 5 +-
.../mask/event/MaskRuleChangedEventCreator.java | 15 +-----
.../nodepath/MaskRuleNodePathProvider.java | 4 +-
.../subscriber/MaskAlgorithmChangedGenerator.java | 5 +-
.../mask/subscriber/MaskTableChangedGenerator.java | 5 +-
.../ReadwriteSplittingRuleChangedEventCreator.java | 15 +-----
.../ReadwriteSplittingRuleNodePathProvider.java | 4 +-
...adwriteSplittingDataSourceChangedGenerator.java | 5 +-
...writeSplittingLoadBalancerChangedGenerator.java | 5 +-
.../event/ShadowRuleChangedEventCreator.java | 28 +----------
.../nodepath/ShadowRuleNodePathProvider.java | 4 +-
...DefaultShadowAlgorithmNameChangedGenerator.java | 3 +-
.../ShadowAlgorithmChangedGenerator.java | 3 +-
.../ShadowDataSourceChangedGenerator.java | 5 +-
.../subscriber/ShadowTableChangedGenerator.java | 5 +-
.../event/ShardingRuleChangedEventCreator.java | 54 +---------------------
.../nodepath/ShardingRuleNodePathProvider.java | 4 +-
...ltDatabaseShardingStrategyChangedGenerator.java | 5 +-
...DefaultKeyGenerateStrategyChangedGenerator.java | 5 +-
...ultShardingAuditorStrategyChangedGenerator.java | 5 +-
.../DefaultShardingColumnChangedGenerator.java | 5 +-
...faultTableShardingStrategyChangedGenerator.java | 5 +-
.../subscriber/KeyGeneratorChangedGenerator.java | 5 +-
.../ShardingAlgorithmChangedGenerator.java | 5 +-
.../ShardingAuditorChangedGenerator.java | 5 +-
.../ShardingAutoTableChangedGenerator.java | 5 +-
.../subscriber/ShardingCacheChangedGenerator.java | 5 +-
.../subscriber/ShardingTableChangedGenerator.java | 5 +-
.../ShardingTableReferenceChangedGenerator.java | 5 +-
.../event/SingleRuleChangedEventCreator.java | 10 +---
.../nodepath/SingleRuleNodePathProvider.java | 4 +-
.../subscriber/SingleTableChangedGenerator.java | 5 +-
42 files changed, 87 insertions(+), 235 deletions(-)
diff --git
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/event/BroadcastRuleChangedEventCreator.java
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/event/BroadcastRuleChangedEventCreator.java
index 01c6ff67bce..bee55ea9653 100644
---
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/event/BroadcastRuleChangedEventCreator.java
+++
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/event/BroadcastRuleChangedEventCreator.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.broadcast.event;
import
org.apache.shardingsphere.broadcast.metadata.nodepath.BroadcastRuleNodePathProvider;
-import
org.apache.shardingsphere.broadcast.subscriber.BroadcastTableChangedGenerator;
import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.event.UniqueRuleItemChangedEventCreator;
@@ -31,14 +30,7 @@ public final class BroadcastRuleChangedEventCreator
implements RuleChangedEventC
@Override
public GovernanceEvent create(final String databaseName, final
DataChangedEvent event, final String itemType) {
- return new UniqueRuleItemChangedEventCreator().create(databaseName,
event, getRuleItemConfigurationChangedGeneratorType(itemType));
- }
-
- private String getRuleItemConfigurationChangedGeneratorType(final String
itemType) {
- if (itemType.equals(BroadcastRuleNodePathProvider.TABLES)) {
- return BroadcastTableChangedGenerator.TYPE;
- }
- throw new UnsupportedOperationException(itemType);
+ return new UniqueRuleItemChangedEventCreator().create(databaseName,
event, BroadcastRuleNodePathProvider.RULE_TYPE + "." + itemType);
}
@Override
diff --git
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/metadata/nodepath/BroadcastRuleNodePathProvider.java
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/metadata/nodepath/BroadcastRuleNodePathProvider.java
index c72dc5dfebd..9328ef7e6e7 100644
---
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/metadata/nodepath/BroadcastRuleNodePathProvider.java
+++
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/metadata/nodepath/BroadcastRuleNodePathProvider.java
@@ -27,9 +27,11 @@ import java.util.Collections;
*/
public final class BroadcastRuleNodePathProvider implements
RuleNodePathProvider {
+ public static final String RULE_TYPE = "broadcast";
+
public static final String TABLES = "tables";
- private static final RuleNodePath INSTANCE = new RuleNodePath("broadcast",
Collections.emptyList(), Collections.singleton(TABLES));
+ private static final RuleNodePath INSTANCE = new RuleNodePath(RULE_TYPE,
Collections.emptyList(), Collections.singleton(TABLES));
@Override
public RuleNodePath getRuleNodePath() {
diff --git
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/subscriber/BroadcastTableChangedGenerator.java
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/subscriber/BroadcastTableChangedGenerator.java
index dc4cdccfe35..8500bb05490 100644
---
a/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/subscriber/BroadcastTableChangedGenerator.java
+++
b/features/broadcast/core/src/main/java/org/apache/shardingsphere/broadcast/subscriber/BroadcastTableChangedGenerator.java
@@ -18,6 +18,7 @@
package org.apache.shardingsphere.broadcast.subscriber;
import
org.apache.shardingsphere.broadcast.api.config.BroadcastRuleConfiguration;
+import
org.apache.shardingsphere.broadcast.metadata.nodepath.BroadcastRuleNodePathProvider;
import org.apache.shardingsphere.broadcast.rule.BroadcastRule;
import
org.apache.shardingsphere.broadcast.yaml.config.YamlBroadcastRuleConfiguration;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
@@ -33,8 +34,6 @@ import java.util.LinkedList;
*/
public final class BroadcastTableChangedGenerator implements
RuleItemConfigurationChangedGenerator<BroadcastRuleConfiguration,
BroadcastRuleConfiguration> {
- public static final String TYPE = "Broadcast.Table";
-
@Override
public BroadcastRuleConfiguration swapRuleItemConfigurationFromEvent(final
AlterRuleItemEvent event, final String yamlContent) {
return new
BroadcastRuleConfiguration(YamlEngine.unmarshal(yamlContent,
YamlBroadcastRuleConfiguration.class).getTables());
@@ -58,6 +57,6 @@ public final class BroadcastTableChangedGenerator implements
RuleItemConfigurati
@Override
public String getType() {
- return TYPE;
+ return BroadcastRuleNodePathProvider.RULE_TYPE + "." +
BroadcastRuleNodePathProvider.TABLES;
}
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/event/CompatibleEncryptRuleChangedEventCreator.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/event/CompatibleEncryptRuleChangedEventCreator.java
index 1d71e758692..4acfcd2f9ed 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/event/CompatibleEncryptRuleChangedEventCreator.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/event/CompatibleEncryptRuleChangedEventCreator.java
@@ -17,9 +17,7 @@
package org.apache.shardingsphere.encrypt.event;
-import
org.apache.shardingsphere.encrypt.metadata.nodepath.EncryptRuleNodePathProvider;
-import
org.apache.shardingsphere.encrypt.subscriber.compatible.CompatibleEncryptTableChangedGenerator;
-import
org.apache.shardingsphere.encrypt.subscriber.compatible.CompatibleEncryptorChangedGenerator;
+import
org.apache.shardingsphere.encrypt.metadata.nodepath.CompatibleEncryptRuleNodePathProvider;
import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.event.NamedRuleItemChangedEventCreator;
@@ -34,18 +32,7 @@ public final class CompatibleEncryptRuleChangedEventCreator
implements RuleChang
@Override
public GovernanceEvent create(final String databaseName, final
DataChangedEvent event, final String itemType, final String itemName) {
- return new NamedRuleItemChangedEventCreator().create(databaseName,
itemName, event, getRuleItemConfigurationChangedGeneratorType(itemType));
- }
-
- private String getRuleItemConfigurationChangedGeneratorType(final String
itemType) {
- switch (itemType) {
- case EncryptRuleNodePathProvider.TABLES:
- return CompatibleEncryptTableChangedGenerator.TYPE;
- case EncryptRuleNodePathProvider.ENCRYPTORS:
- return CompatibleEncryptorChangedGenerator.TYPE;
- default:
- throw new UnsupportedOperationException(itemType);
- }
+ return new NamedRuleItemChangedEventCreator().create(databaseName,
itemType, event, CompatibleEncryptRuleNodePathProvider.RULE_TYPE + "." +
itemType);
}
@Override
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/event/EncryptRuleChangedEventCreator.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/event/EncryptRuleChangedEventCreator.java
index 4d1f9667197..7560fb5ac22 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/event/EncryptRuleChangedEventCreator.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/event/EncryptRuleChangedEventCreator.java
@@ -18,8 +18,6 @@
package org.apache.shardingsphere.encrypt.event;
import
org.apache.shardingsphere.encrypt.metadata.nodepath.EncryptRuleNodePathProvider;
-import
org.apache.shardingsphere.encrypt.subscriber.EncryptTableChangedGenerator;
-import org.apache.shardingsphere.encrypt.subscriber.EncryptorChangedGenerator;
import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.event.NamedRuleItemChangedEventCreator;
@@ -32,18 +30,7 @@ public final class EncryptRuleChangedEventCreator implements
RuleChangedEventCre
@Override
public GovernanceEvent create(final String databaseName, final
DataChangedEvent event, final String itemType, final String itemName) {
- return new NamedRuleItemChangedEventCreator().create(databaseName,
itemName, event, getRuleItemConfigurationChangedGeneratorType(itemType));
- }
-
- private String getRuleItemConfigurationChangedGeneratorType(final String
itemType) {
- switch (itemType) {
- case EncryptRuleNodePathProvider.TABLES:
- return EncryptTableChangedGenerator.TYPE;
- case EncryptRuleNodePathProvider.ENCRYPTORS:
- return EncryptorChangedGenerator.TYPE;
- default:
- throw new UnsupportedOperationException(itemType);
- }
+ return new NamedRuleItemChangedEventCreator().create(databaseName,
itemType, event, EncryptRuleNodePathProvider.RULE_TYPE + "." + itemType);
}
@Override
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/metadata/nodepath/CompatibleEncryptRuleNodePathProvider.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/metadata/nodepath/CompatibleEncryptRuleNodePathProvider.java
index d9b327ac062..15c957e0387 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/metadata/nodepath/CompatibleEncryptRuleNodePathProvider.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/metadata/nodepath/CompatibleEncryptRuleNodePathProvider.java
@@ -30,11 +30,13 @@ import java.util.Collections;
@Deprecated
public final class CompatibleEncryptRuleNodePathProvider implements
RuleNodePathProvider {
+ public static final String RULE_TYPE = "compatible_encrypt";
+
public static final String TABLES = "tables";
public static final String ENCRYPTORS = "encryptors";
- private static final RuleNodePath INSTANCE = new
RuleNodePath("compatible_encrypt", Arrays.asList(TABLES, ENCRYPTORS),
Collections.emptyList());
+ private static final RuleNodePath INSTANCE = new RuleNodePath(RULE_TYPE,
Arrays.asList(TABLES, ENCRYPTORS), Collections.emptyList());
@Override
public RuleNodePath getRuleNodePath() {
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/metadata/nodepath/EncryptRuleNodePathProvider.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/metadata/nodepath/EncryptRuleNodePathProvider.java
index 3a88e1f8e53..377df7ca220 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/metadata/nodepath/EncryptRuleNodePathProvider.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/metadata/nodepath/EncryptRuleNodePathProvider.java
@@ -28,11 +28,13 @@ import java.util.Collections;
*/
public final class EncryptRuleNodePathProvider implements RuleNodePathProvider
{
+ public static final String RULE_TYPE = "encrypt";
+
public static final String TABLES = "tables";
public static final String ENCRYPTORS = "encryptors";
- private static final RuleNodePath INSTANCE = new RuleNodePath("encrypt",
Arrays.asList(TABLES, ENCRYPTORS), Collections.emptyList());
+ private static final RuleNodePath INSTANCE = new RuleNodePath(RULE_TYPE,
Arrays.asList(TABLES, ENCRYPTORS), Collections.emptyList());
@Override
public RuleNodePath getRuleNodePath() {
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptTableChangedGenerator.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptTableChangedGenerator.java
index 69791447e00..1362a8485dd 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptTableChangedGenerator.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptTableChangedGenerator.java
@@ -19,6 +19,7 @@ package org.apache.shardingsphere.encrypt.subscriber;
import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
+import
org.apache.shardingsphere.encrypt.metadata.nodepath.EncryptRuleNodePathProvider;
import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import
org.apache.shardingsphere.encrypt.yaml.config.rule.YamlEncryptTableRuleConfiguration;
import
org.apache.shardingsphere.encrypt.yaml.swapper.rule.YamlEncryptTableRuleConfigurationSwapper;
@@ -37,8 +38,6 @@ import java.util.LinkedList;
*/
public final class EncryptTableChangedGenerator implements
RuleItemConfigurationChangedGenerator<EncryptRuleConfiguration,
EncryptTableRuleConfiguration> {
- public static final String TYPE = "Encrypt.Table";
-
@Override
public EncryptTableRuleConfiguration
swapRuleItemConfigurationFromEvent(final AlterRuleItemEvent event, final String
yamlContent) {
return new
YamlEncryptTableRuleConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlEncryptTableRuleConfiguration.class));
@@ -69,6 +68,6 @@ public final class EncryptTableChangedGenerator implements
RuleItemConfiguration
@Override
public String getType() {
- return TYPE;
+ return EncryptRuleNodePathProvider.RULE_TYPE + "." +
EncryptRuleNodePathProvider.TABLES;
}
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptorChangedGenerator.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptorChangedGenerator.java
index fad3834f35d..9edf9ad7ad7 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptorChangedGenerator.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/EncryptorChangedGenerator.java
@@ -18,6 +18,7 @@
package org.apache.shardingsphere.encrypt.subscriber;
import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
+import
org.apache.shardingsphere.encrypt.metadata.nodepath.EncryptRuleNodePathProvider;
import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
@@ -38,8 +39,6 @@ import java.util.LinkedList;
*/
public final class EncryptorChangedGenerator implements
RuleItemConfigurationChangedGenerator<EncryptRuleConfiguration,
AlgorithmConfiguration> {
- public static final String TYPE = "Encrypt.Encryptor";
-
@Override
public AlgorithmConfiguration swapRuleItemConfigurationFromEvent(final
AlterRuleItemEvent event, final String yamlContent) {
return new
YamlAlgorithmConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlAlgorithmConfiguration.class));
@@ -68,6 +67,6 @@ public final class EncryptorChangedGenerator implements
RuleItemConfigurationCha
@Override
public String getType() {
- return TYPE;
+ return EncryptRuleNodePathProvider.RULE_TYPE + "." +
EncryptRuleNodePathProvider.ENCRYPTORS;
}
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptTableChangedGenerator.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptTableChangedGenerator.java
index b463ced9033..e25912f65bd 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptTableChangedGenerator.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptTableChangedGenerator.java
@@ -19,6 +19,7 @@ package
org.apache.shardingsphere.encrypt.subscriber.compatible;
import
org.apache.shardingsphere.encrypt.api.config.CompatibleEncryptRuleConfiguration;
import
org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
+import
org.apache.shardingsphere.encrypt.metadata.nodepath.CompatibleEncryptRuleNodePathProvider;
import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import
org.apache.shardingsphere.encrypt.yaml.config.rule.YamlEncryptTableRuleConfiguration;
import
org.apache.shardingsphere.encrypt.yaml.swapper.rule.YamlEncryptTableRuleConfigurationSwapper;
@@ -39,8 +40,6 @@ import java.util.LinkedList;
@Deprecated
public final class CompatibleEncryptTableChangedGenerator implements
RuleItemConfigurationChangedGenerator<CompatibleEncryptRuleConfiguration,
EncryptTableRuleConfiguration> {
- public static final String TYPE = "Encrypt.CompatibleTable";
-
@Override
public EncryptTableRuleConfiguration
swapRuleItemConfigurationFromEvent(final AlterRuleItemEvent event, final String
yamlContent) {
return new
YamlEncryptTableRuleConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlEncryptTableRuleConfiguration.class));
@@ -71,6 +70,6 @@ public final class CompatibleEncryptTableChangedGenerator
implements RuleItemCon
@Override
public String getType() {
- return TYPE;
+ return CompatibleEncryptRuleNodePathProvider.RULE_TYPE + "." +
CompatibleEncryptRuleNodePathProvider.TABLES;
}
}
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptorChangedGenerator.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptorChangedGenerator.java
index a49a546dbd9..dad9f5f9f33 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptorChangedGenerator.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/subscriber/compatible/CompatibleEncryptorChangedGenerator.java
@@ -18,6 +18,7 @@
package org.apache.shardingsphere.encrypt.subscriber.compatible;
import
org.apache.shardingsphere.encrypt.api.config.CompatibleEncryptRuleConfiguration;
+import
org.apache.shardingsphere.encrypt.metadata.nodepath.CompatibleEncryptRuleNodePathProvider;
import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
@@ -40,8 +41,6 @@ import java.util.LinkedList;
@Deprecated
public final class CompatibleEncryptorChangedGenerator implements
RuleItemConfigurationChangedGenerator<CompatibleEncryptRuleConfiguration,
AlgorithmConfiguration> {
- public static final String TYPE = "Encrypt.CompatibleEncryptor";
-
@Override
public AlgorithmConfiguration swapRuleItemConfigurationFromEvent(final
AlterRuleItemEvent event, final String yamlContent) {
return new
YamlAlgorithmConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlAlgorithmConfiguration.class));
@@ -70,6 +69,6 @@ public final class CompatibleEncryptorChangedGenerator
implements RuleItemConfig
@Override
public String getType() {
- return TYPE;
+ return CompatibleEncryptRuleNodePathProvider.RULE_TYPE + "." +
CompatibleEncryptRuleNodePathProvider.ENCRYPTORS;
}
}
diff --git
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/event/MaskRuleChangedEventCreator.java
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/event/MaskRuleChangedEventCreator.java
index 89cbf382fcb..84ee89abc74 100644
---
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/event/MaskRuleChangedEventCreator.java
+++
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/event/MaskRuleChangedEventCreator.java
@@ -19,8 +19,6 @@ package org.apache.shardingsphere.mask.event;
import org.apache.shardingsphere.infra.rule.event.GovernanceEvent;
import
org.apache.shardingsphere.mask.metadata.nodepath.MaskRuleNodePathProvider;
-import org.apache.shardingsphere.mask.subscriber.MaskAlgorithmChangedGenerator;
-import org.apache.shardingsphere.mask.subscriber.MaskTableChangedGenerator;
import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.event.NamedRuleItemChangedEventCreator;
import org.apache.shardingsphere.mode.spi.RuleChangedEventCreator;
@@ -32,18 +30,7 @@ public final class MaskRuleChangedEventCreator implements
RuleChangedEventCreato
@Override
public GovernanceEvent create(final String databaseName, final
DataChangedEvent event, final String itemType, final String itemName) {
- return new NamedRuleItemChangedEventCreator().create(databaseName,
itemName, event, getRuleItemConfigurationChangedGeneratorType(itemType));
- }
-
- private String getRuleItemConfigurationChangedGeneratorType(final String
itemType) {
- switch (itemType) {
- case MaskRuleNodePathProvider.TABLES:
- return MaskTableChangedGenerator.TYPE;
- case MaskRuleNodePathProvider.ALGORITHMS:
- return MaskAlgorithmChangedGenerator.TYPE;
- default:
- throw new UnsupportedOperationException(itemType);
- }
+ return new NamedRuleItemChangedEventCreator().create(databaseName,
itemType, event, MaskRuleNodePathProvider.RULE_TYPE + "." + itemType);
}
@Override
diff --git
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/metadata/nodepath/MaskRuleNodePathProvider.java
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/metadata/nodepath/MaskRuleNodePathProvider.java
index b7136abafac..b2c99a23ecf 100644
---
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/metadata/nodepath/MaskRuleNodePathProvider.java
+++
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/metadata/nodepath/MaskRuleNodePathProvider.java
@@ -28,11 +28,13 @@ import java.util.Collections;
*/
public final class MaskRuleNodePathProvider implements RuleNodePathProvider {
+ public static final String RULE_TYPE = "mask";
+
public static final String TABLES = "tables";
public static final String ALGORITHMS = "algorithms";
- private static final RuleNodePath INSTANCE = new RuleNodePath("mask",
Arrays.asList(TABLES, ALGORITHMS), Collections.emptyList());
+ private static final RuleNodePath INSTANCE = new RuleNodePath(RULE_TYPE,
Arrays.asList(TABLES, ALGORITHMS), Collections.emptyList());
@Override
public RuleNodePath getRuleNodePath() {
diff --git
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskAlgorithmChangedGenerator.java
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskAlgorithmChangedGenerator.java
index 823d78c2206..a10a92049f0 100644
---
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskAlgorithmChangedGenerator.java
+++
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskAlgorithmChangedGenerator.java
@@ -27,6 +27,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlAlgorithmConfiguration;
import
org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
import org.apache.shardingsphere.mask.api.config.MaskRuleConfiguration;
+import
org.apache.shardingsphere.mask.metadata.nodepath.MaskRuleNodePathProvider;
import org.apache.shardingsphere.mask.rule.MaskRule;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
@@ -38,8 +39,6 @@ import java.util.LinkedList;
*/
public final class MaskAlgorithmChangedGenerator implements
RuleItemConfigurationChangedGenerator<MaskRuleConfiguration,
AlgorithmConfiguration> {
- public static final String TYPE = "Mask.Algorithm";
-
@Override
public AlgorithmConfiguration swapRuleItemConfigurationFromEvent(final
AlterRuleItemEvent event, final String yamlContent) {
return new
YamlAlgorithmConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlAlgorithmConfiguration.class));
@@ -67,6 +66,6 @@ public final class MaskAlgorithmChangedGenerator implements
RuleItemConfiguratio
@Override
public String getType() {
- return TYPE;
+ return MaskRuleNodePathProvider.RULE_TYPE + "." +
MaskRuleNodePathProvider.ALGORITHMS;
}
}
diff --git
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskTableChangedGenerator.java
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskTableChangedGenerator.java
index a53c74b16ea..be8c9eca213 100644
---
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskTableChangedGenerator.java
+++
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/subscriber/MaskTableChangedGenerator.java
@@ -24,6 +24,7 @@ import
org.apache.shardingsphere.infra.rule.event.rule.drop.DropRuleItemEvent;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import org.apache.shardingsphere.mask.api.config.MaskRuleConfiguration;
import
org.apache.shardingsphere.mask.api.config.rule.MaskTableRuleConfiguration;
+import
org.apache.shardingsphere.mask.metadata.nodepath.MaskRuleNodePathProvider;
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;
@@ -37,8 +38,6 @@ import java.util.LinkedList;
*/
public final class MaskTableChangedGenerator implements
RuleItemConfigurationChangedGenerator<MaskRuleConfiguration,
MaskTableRuleConfiguration> {
- public static final String TYPE = "Mask.Table";
-
@Override
public MaskTableRuleConfiguration swapRuleItemConfigurationFromEvent(final
AlterRuleItemEvent event, final String yamlContent) {
return new
YamlMaskTableRuleConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlMaskTableRuleConfiguration.class));
@@ -68,6 +67,6 @@ public final class MaskTableChangedGenerator implements
RuleItemConfigurationCha
@Override
public String getType() {
- return TYPE;
+ return MaskRuleNodePathProvider.RULE_TYPE + "." +
MaskRuleNodePathProvider.TABLES;
}
}
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/event/ReadwriteSplittingRuleChangedEventCreator.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/event/ReadwriteSplittingRuleChangedEventCreator.java
index 575b545aa48..97b986e21ca 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/event/ReadwriteSplittingRuleChangedEventCreator.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/event/ReadwriteSplittingRuleChangedEventCreator.java
@@ -22,8 +22,6 @@ import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.event.NamedRuleItemChangedEventCreator;
import org.apache.shardingsphere.mode.spi.RuleChangedEventCreator;
import
org.apache.shardingsphere.readwritesplitting.metadata.nodepath.ReadwriteSplittingRuleNodePathProvider;
-import
org.apache.shardingsphere.readwritesplitting.subscriber.ReadwriteSplittingDataSourceChangedGenerator;
-import
org.apache.shardingsphere.readwritesplitting.subscriber.ReadwriteSplittingLoadBalancerChangedGenerator;
/**
* Readwrite-splitting rule changed event creator.
@@ -32,18 +30,7 @@ public final class ReadwriteSplittingRuleChangedEventCreator
implements RuleChan
@Override
public GovernanceEvent create(final String databaseName, final
DataChangedEvent event, final String itemType, final String itemName) {
- return new NamedRuleItemChangedEventCreator().create(databaseName,
itemName, event, getRuleItemConfigurationChangedGeneratorType(itemType));
- }
-
- private String getRuleItemConfigurationChangedGeneratorType(final String
itemType) {
- switch (itemType) {
- case ReadwriteSplittingRuleNodePathProvider.DATA_SOURCES:
- return ReadwriteSplittingDataSourceChangedGenerator.TYPE;
- case ReadwriteSplittingRuleNodePathProvider.LOAD_BALANCERS:
- return ReadwriteSplittingLoadBalancerChangedGenerator.TYPE;
- default:
- throw new UnsupportedOperationException(itemType);
- }
+ return new NamedRuleItemChangedEventCreator().create(databaseName,
itemType, event, ReadwriteSplittingRuleNodePathProvider.RULE_TYPE + "." +
itemType);
}
@Override
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/metadata/nodepath/ReadwriteSplittingRuleNodePathProvider.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/metadata/nodepath/ReadwriteSplittingRuleNodePathProvider.java
index 467037c8b89..a3a42f15bbc 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/metadata/nodepath/ReadwriteSplittingRuleNodePathProvider.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/metadata/nodepath/ReadwriteSplittingRuleNodePathProvider.java
@@ -28,11 +28,13 @@ import java.util.Collections;
*/
public final class ReadwriteSplittingRuleNodePathProvider implements
RuleNodePathProvider {
+ public static final String RULE_TYPE = "readwrite_splitting";
+
public static final String DATA_SOURCES = "data_sources";
public static final String LOAD_BALANCERS = "load_balancers";
- private static final RuleNodePath INSTANCE = new
RuleNodePath("readwrite_splitting", Arrays.asList(DATA_SOURCES,
LOAD_BALANCERS), Collections.emptyList());
+ private static final RuleNodePath INSTANCE = new RuleNodePath(RULE_TYPE,
Arrays.asList(DATA_SOURCES, LOAD_BALANCERS), Collections.emptyList());
@Override
public RuleNodePath getRuleNodePath() {
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceChangedGenerator.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceChangedGenerator.java
index d887d0b22b1..b2f9b28cb13 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceChangedGenerator.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingDataSourceChangedGenerator.java
@@ -28,6 +28,7 @@ import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGene
import
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
import
org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
import
org.apache.shardingsphere.readwritesplitting.api.transaction.TransactionalReadQueryStrategy;
+import
org.apache.shardingsphere.readwritesplitting.metadata.nodepath.ReadwriteSplittingRuleNodePathProvider;
import
org.apache.shardingsphere.readwritesplitting.rule.ReadwriteSplittingRule;
import
org.apache.shardingsphere.readwritesplitting.yaml.config.rule.YamlReadwriteSplittingDataSourceRuleConfiguration;
@@ -40,8 +41,6 @@ import java.util.Optional;
*/
public final class ReadwriteSplittingDataSourceChangedGenerator implements
RuleItemConfigurationChangedGenerator<ReadwriteSplittingRuleConfiguration,
ReadwriteSplittingDataSourceRuleConfiguration> {
- public static final String TYPE = "ReadwriteSplitting.DataSource";
-
@Override
public ReadwriteSplittingDataSourceRuleConfiguration
swapRuleItemConfigurationFromEvent(final AlterRuleItemEvent event, final String
yamlContent) {
YamlReadwriteSplittingDataSourceRuleConfiguration
yamlDataSourceRuleConfig = YamlEngine.unmarshal(yamlContent,
YamlReadwriteSplittingDataSourceRuleConfiguration.class);
@@ -77,6 +76,6 @@ public final class
ReadwriteSplittingDataSourceChangedGenerator implements RuleI
@Override
public String getType() {
- return TYPE;
+ return ReadwriteSplittingRuleNodePathProvider.RULE_TYPE + "." +
ReadwriteSplittingRuleNodePathProvider.DATA_SOURCES;
}
}
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalancerChangedGenerator.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalancerChangedGenerator.java
index 0e29bc0c606..64ec55a6d7d 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalancerChangedGenerator.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/subscriber/ReadwriteSplittingLoadBalancerChangedGenerator.java
@@ -28,6 +28,7 @@ import
org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlAlgorithmC
import
org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
+import
org.apache.shardingsphere.readwritesplitting.metadata.nodepath.ReadwriteSplittingRuleNodePathProvider;
import
org.apache.shardingsphere.readwritesplitting.rule.ReadwriteSplittingRule;
import java.util.LinkedHashMap;
@@ -38,8 +39,6 @@ import java.util.LinkedList;
*/
public final class ReadwriteSplittingLoadBalancerChangedGenerator implements
RuleItemConfigurationChangedGenerator<ReadwriteSplittingRuleConfiguration,
AlgorithmConfiguration> {
- public static final String TYPE = "ReadwriteSplitting.LoadBalancer";
-
@Override
public AlgorithmConfiguration swapRuleItemConfigurationFromEvent(final
AlterRuleItemEvent event, final String yamlContent) {
return new
YamlAlgorithmConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlAlgorithmConfiguration.class));
@@ -63,6 +62,6 @@ public final class
ReadwriteSplittingLoadBalancerChangedGenerator implements Rul
@Override
public String getType() {
- return TYPE;
+ return ReadwriteSplittingRuleNodePathProvider.RULE_TYPE + "." +
ReadwriteSplittingRuleNodePathProvider.LOAD_BALANCERS;
}
}
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/event/ShadowRuleChangedEventCreator.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/event/ShadowRuleChangedEventCreator.java
index 5e25bf97434..35b8b394d6d 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/event/ShadowRuleChangedEventCreator.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/event/ShadowRuleChangedEventCreator.java
@@ -23,10 +23,6 @@ import
org.apache.shardingsphere.mode.event.NamedRuleItemChangedEventCreator;
import org.apache.shardingsphere.mode.event.UniqueRuleItemChangedEventCreator;
import org.apache.shardingsphere.mode.spi.RuleChangedEventCreator;
import
org.apache.shardingsphere.shadow.metadata.nodepath.ShadowRuleNodePathProvider;
-import
org.apache.shardingsphere.shadow.subscriber.DefaultShadowAlgorithmNameChangedGenerator;
-import
org.apache.shardingsphere.shadow.subscriber.ShadowAlgorithmChangedGenerator;
-import
org.apache.shardingsphere.shadow.subscriber.ShadowDataSourceChangedGenerator;
-import org.apache.shardingsphere.shadow.subscriber.ShadowTableChangedGenerator;
/**
* Shadow rule changed event creator.
@@ -35,32 +31,12 @@ public final class ShadowRuleChangedEventCreator implements
RuleChangedEventCrea
@Override
public GovernanceEvent create(final String databaseName, final
DataChangedEvent event, final String itemType, final String itemName) {
- return new NamedRuleItemChangedEventCreator().create(databaseName,
itemName, event, getNamedRuleItemConfigurationChangedGeneratorType(itemType));
+ return new NamedRuleItemChangedEventCreator().create(databaseName,
itemType, event, ShadowRuleNodePathProvider.RULE_TYPE + "." + itemType);
}
@Override
public GovernanceEvent create(final String databaseName, final
DataChangedEvent event, final String itemType) {
- return new UniqueRuleItemChangedEventCreator().create(databaseName,
event, getUniqueRuleItemConfigurationChangedGeneratorType(itemType));
- }
-
- private String getNamedRuleItemConfigurationChangedGeneratorType(final
String itemType) {
- switch (itemType) {
- case ShadowRuleNodePathProvider.DATA_SOURCES:
- return ShadowDataSourceChangedGenerator.TYPE;
- case ShadowRuleNodePathProvider.TABLES:
- return ShadowTableChangedGenerator.TYPE;
- case ShadowRuleNodePathProvider.ALGORITHMS:
- return ShadowAlgorithmChangedGenerator.TYPE;
- default:
- throw new UnsupportedOperationException(itemType);
- }
- }
-
- private String getUniqueRuleItemConfigurationChangedGeneratorType(final
String itemType) {
- if (itemType.equals(ShadowRuleNodePathProvider.DEFAULT_ALGORITHM)) {
- return DefaultShadowAlgorithmNameChangedGenerator.TYPE;
- }
- throw new UnsupportedOperationException(itemType);
+ return new UniqueRuleItemChangedEventCreator().create(databaseName,
event, ShadowRuleNodePathProvider.RULE_TYPE + "." + itemType);
}
@Override
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/metadata/nodepath/ShadowRuleNodePathProvider.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/metadata/nodepath/ShadowRuleNodePathProvider.java
index ae25ff72719..6d0f7a4e0ce 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/metadata/nodepath/ShadowRuleNodePathProvider.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/metadata/nodepath/ShadowRuleNodePathProvider.java
@@ -28,6 +28,8 @@ import java.util.Collections;
*/
public final class ShadowRuleNodePathProvider implements RuleNodePathProvider {
+ public static final String RULE_TYPE = "shadow";
+
public static final String DATA_SOURCES = "data_sources";
public static final String TABLES = "tables";
@@ -36,7 +38,7 @@ public final class ShadowRuleNodePathProvider implements
RuleNodePathProvider {
public static final String DEFAULT_ALGORITHM = "default_algorithm_name";
- private static final RuleNodePath INSTANCE = new RuleNodePath("shadow",
Arrays.asList(DATA_SOURCES, TABLES, ALGORITHMS),
Collections.singleton(DEFAULT_ALGORITHM));
+ private static final RuleNodePath INSTANCE = new RuleNodePath(RULE_TYPE,
Arrays.asList(DATA_SOURCES, TABLES, ALGORITHMS),
Collections.singleton(DEFAULT_ALGORITHM));
@Override
public RuleNodePath getRuleNodePath() {
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/DefaultShadowAlgorithmNameChangedGenerator.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/DefaultShadowAlgorithmNameChangedGenerator.java
index 6f4b998bc27..4ce0c71494f 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/DefaultShadowAlgorithmNameChangedGenerator.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/DefaultShadowAlgorithmNameChangedGenerator.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.rule.event.rule.alter.AlterRuleItemEvent;
import org.apache.shardingsphere.infra.rule.event.rule.drop.DropRuleItemEvent;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
+import
org.apache.shardingsphere.shadow.metadata.nodepath.ShadowRuleNodePathProvider;
import org.apache.shardingsphere.shadow.rule.ShadowRule;
/**
@@ -53,6 +54,6 @@ public final class DefaultShadowAlgorithmNameChangedGenerator
implements RuleIte
@Override
public String getType() {
- return TYPE;
+ return ShadowRuleNodePathProvider.RULE_TYPE + "." +
ShadowRuleNodePathProvider.DEFAULT_ALGORITHM;
}
}
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowAlgorithmChangedGenerator.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowAlgorithmChangedGenerator.java
index d74a3eb397e..e9f7ac63cb7 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowAlgorithmChangedGenerator.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowAlgorithmChangedGenerator.java
@@ -28,6 +28,7 @@ import
org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlAlgorithmC
import
org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
+import
org.apache.shardingsphere.shadow.metadata.nodepath.ShadowRuleNodePathProvider;
import org.apache.shardingsphere.shadow.rule.ShadowRule;
/**
@@ -59,6 +60,6 @@ public final class ShadowAlgorithmChangedGenerator implements
RuleItemConfigurat
@Override
public String getType() {
- return TYPE;
+ return ShadowRuleNodePathProvider.RULE_TYPE + "." +
ShadowRuleNodePathProvider.ALGORITHMS;
}
}
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowDataSourceChangedGenerator.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowDataSourceChangedGenerator.java
index 741759bbfb1..92768834a17 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowDataSourceChangedGenerator.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowDataSourceChangedGenerator.java
@@ -26,6 +26,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
import
org.apache.shardingsphere.shadow.api.config.datasource.ShadowDataSourceConfiguration;
+import
org.apache.shardingsphere.shadow.metadata.nodepath.ShadowRuleNodePathProvider;
import org.apache.shardingsphere.shadow.rule.ShadowRule;
import
org.apache.shardingsphere.shadow.yaml.config.datasource.YamlShadowDataSourceConfiguration;
@@ -34,8 +35,6 @@ import
org.apache.shardingsphere.shadow.yaml.config.datasource.YamlShadowDataSou
*/
public final class ShadowDataSourceChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShadowRuleConfiguration,
ShadowDataSourceConfiguration> {
- public static final String TYPE = "Shadow.DataSource";
-
@Override
public ShadowDataSourceConfiguration
swapRuleItemConfigurationFromEvent(final AlterRuleItemEvent event, final String
yamlContent) {
YamlShadowDataSourceConfiguration yamlConfig =
YamlEngine.unmarshal(yamlContent, YamlShadowDataSourceConfiguration.class);
@@ -61,6 +60,6 @@ public final class ShadowDataSourceChangedGenerator
implements RuleItemConfigura
@Override
public String getType() {
- return TYPE;
+ return ShadowRuleNodePathProvider.RULE_TYPE + "." +
ShadowRuleNodePathProvider.DATA_SOURCES;
}
}
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowTableChangedGenerator.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowTableChangedGenerator.java
index 253eddb546b..d6d17624fb8 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowTableChangedGenerator.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/subscriber/ShadowTableChangedGenerator.java
@@ -26,6 +26,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
import
org.apache.shardingsphere.shadow.api.config.table.ShadowTableConfiguration;
+import
org.apache.shardingsphere.shadow.metadata.nodepath.ShadowRuleNodePathProvider;
import org.apache.shardingsphere.shadow.rule.ShadowRule;
import
org.apache.shardingsphere.shadow.yaml.config.table.YamlShadowTableConfiguration;
import
org.apache.shardingsphere.shadow.yaml.swapper.table.YamlShadowTableConfigurationSwapper;
@@ -35,8 +36,6 @@ import
org.apache.shardingsphere.shadow.yaml.swapper.table.YamlShadowTableConfig
*/
public final class ShadowTableChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShadowRuleConfiguration,
ShadowTableConfiguration> {
- public static final String TYPE = "Shadow.Table";
-
@Override
public ShadowTableConfiguration swapRuleItemConfigurationFromEvent(final
AlterRuleItemEvent event, final String yamlContent) {
return new
YamlShadowTableConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShadowTableConfiguration.class));
@@ -59,6 +58,6 @@ public final class ShadowTableChangedGenerator implements
RuleItemConfigurationC
@Override
public String getType() {
- return TYPE;
+ return ShadowRuleNodePathProvider.RULE_TYPE + "." +
ShadowRuleNodePathProvider.TABLES;
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/event/ShardingRuleChangedEventCreator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/event/ShardingRuleChangedEventCreator.java
index 99fb271e375..c86182568cf 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/event/ShardingRuleChangedEventCreator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/event/ShardingRuleChangedEventCreator.java
@@ -23,18 +23,6 @@ import
org.apache.shardingsphere.mode.event.NamedRuleItemChangedEventCreator;
import org.apache.shardingsphere.mode.event.UniqueRuleItemChangedEventCreator;
import org.apache.shardingsphere.mode.spi.RuleChangedEventCreator;
import
org.apache.shardingsphere.sharding.metadata.nodepath.ShardingRuleNodePathProvider;
-import
org.apache.shardingsphere.sharding.subscriber.DefaultDatabaseShardingStrategyChangedGenerator;
-import
org.apache.shardingsphere.sharding.subscriber.DefaultKeyGenerateStrategyChangedGenerator;
-import
org.apache.shardingsphere.sharding.subscriber.DefaultShardingAuditorStrategyChangedGenerator;
-import
org.apache.shardingsphere.sharding.subscriber.DefaultShardingColumnChangedGenerator;
-import
org.apache.shardingsphere.sharding.subscriber.DefaultTableShardingStrategyChangedGenerator;
-import
org.apache.shardingsphere.sharding.subscriber.KeyGeneratorChangedGenerator;
-import
org.apache.shardingsphere.sharding.subscriber.ShardingAlgorithmChangedGenerator;
-import
org.apache.shardingsphere.sharding.subscriber.ShardingAuditorChangedGenerator;
-import
org.apache.shardingsphere.sharding.subscriber.ShardingAutoTableChangedGenerator;
-import
org.apache.shardingsphere.sharding.subscriber.ShardingCacheChangedGenerator;
-import
org.apache.shardingsphere.sharding.subscriber.ShardingTableChangedGenerator;
-import
org.apache.shardingsphere.sharding.subscriber.ShardingTableReferenceChangedGenerator;
/**
* Sharding rule changed event creator.
@@ -43,50 +31,12 @@ public final class ShardingRuleChangedEventCreator
implements RuleChangedEventCr
@Override
public GovernanceEvent create(final String databaseName, final
DataChangedEvent event, final String itemType, final String itemName) {
- return new NamedRuleItemChangedEventCreator().create(databaseName,
itemName, event, getNamedRuleItemConfigurationChangedGeneratorType(itemType));
+ return new NamedRuleItemChangedEventCreator().create(databaseName,
itemName, event, ShardingRuleNodePathProvider.RULE_TYPE + "." + itemType);
}
@Override
public GovernanceEvent create(final String databaseName, final
DataChangedEvent event, final String itemType) {
- return new UniqueRuleItemChangedEventCreator().create(databaseName,
event, getUniqueRuleItemConfigurationChangedGeneratorType(itemType));
- }
-
- private String getNamedRuleItemConfigurationChangedGeneratorType(final
String itemType) {
- switch (itemType) {
- case ShardingRuleNodePathProvider.TABLES:
- return ShardingTableChangedGenerator.TYPE;
- case ShardingRuleNodePathProvider.AUTO_TABLES:
- return ShardingAutoTableChangedGenerator.TYPE;
- case ShardingRuleNodePathProvider.BINDING_TABLES:
- return ShardingTableReferenceChangedGenerator.TYPE;
- case ShardingRuleNodePathProvider.ALGORITHMS:
- return ShardingAlgorithmChangedGenerator.TYPE;
- case ShardingRuleNodePathProvider.KEY_GENERATORS:
- return KeyGeneratorChangedGenerator.TYPE;
- case ShardingRuleNodePathProvider.AUDITORS:
- return ShardingAuditorChangedGenerator.TYPE;
- default:
- throw new UnsupportedOperationException(itemType);
- }
- }
-
- private String getUniqueRuleItemConfigurationChangedGeneratorType(final
String itemType) {
- switch (itemType) {
- case ShardingRuleNodePathProvider.DEFAULT_DATABASE_STRATEGY:
- return DefaultDatabaseShardingStrategyChangedGenerator.TYPE;
- case ShardingRuleNodePathProvider.DEFAULT_TABLE_STRATEGY:
- return DefaultTableShardingStrategyChangedGenerator.TYPE;
- case ShardingRuleNodePathProvider.DEFAULT_KEY_GENERATE_STRATEGY:
- return DefaultKeyGenerateStrategyChangedGenerator.TYPE;
- case ShardingRuleNodePathProvider.DEFAULT_AUDIT_STRATEGY:
- return DefaultShardingAuditorStrategyChangedGenerator.TYPE;
- case ShardingRuleNodePathProvider.DEFAULT_SHARDING_COLUMN:
- return DefaultShardingColumnChangedGenerator.TYPE;
- case ShardingRuleNodePathProvider.SHARDING_CACHE:
- return ShardingCacheChangedGenerator.TYPE;
- default:
- throw new UnsupportedOperationException(itemType);
- }
+ return new UniqueRuleItemChangedEventCreator().create(databaseName,
event, ShardingRuleNodePathProvider.RULE_TYPE + "." + itemType);
}
@Override
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/nodepath/ShardingRuleNodePathProvider.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/nodepath/ShardingRuleNodePathProvider.java
index a911d3d5e0c..8c3e97bf7a2 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/nodepath/ShardingRuleNodePathProvider.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/nodepath/ShardingRuleNodePathProvider.java
@@ -27,6 +27,8 @@ import java.util.Arrays;
*/
public final class ShardingRuleNodePathProvider implements
RuleNodePathProvider {
+ public static final String RULE_TYPE = "sharding";
+
public static final String TABLES = "tables";
public static final String AUTO_TABLES = "auto_tables";
@@ -53,7 +55,7 @@ public final class ShardingRuleNodePathProvider implements
RuleNodePathProvider
private static final String DEFAULT_STRATEGIES_PREFIX =
"default_strategies.";
- private static final RuleNodePath INSTANCE = new RuleNodePath("sharding",
+ private static final RuleNodePath INSTANCE = new RuleNodePath(RULE_TYPE,
Arrays.asList(TABLES, AUTO_TABLES, BINDING_TABLES, ALGORITHMS,
KEY_GENERATORS, AUDITORS),
Arrays.asList(DEFAULT_STRATEGIES_PREFIX +
DEFAULT_DATABASE_STRATEGY, DEFAULT_STRATEGIES_PREFIX + DEFAULT_TABLE_STRATEGY,
DEFAULT_STRATEGIES_PREFIX + DEFAULT_KEY_GENERATE_STRATEGY,
DEFAULT_STRATEGIES_PREFIX + DEFAULT_AUDIT_STRATEGY, DEFAULT_STRATEGIES_PREFIX +
DEFAULT_SHARDING_COLUMN,
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultDatabaseShardingStrategyChangedGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultDatabaseShardingStrategyChangedGenerator.java
index d9a3c0e6b4e..61b0294628e 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultDatabaseShardingStrategyChangedGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultDatabaseShardingStrategyChangedGenerator.java
@@ -24,6 +24,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.strategy.sharding.ShardingStrategyConfiguration;
+import
org.apache.shardingsphere.sharding.metadata.nodepath.ShardingRuleNodePathProvider;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import
org.apache.shardingsphere.sharding.yaml.config.strategy.sharding.YamlShardingStrategyConfiguration;
import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingStrategyConfigurationSwapper;
@@ -33,8 +34,6 @@ import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingStra
*/
public final class DefaultDatabaseShardingStrategyChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShardingRuleConfiguration,
ShardingStrategyConfiguration> {
- public static final String TYPE =
"Sharding.DefaultDatabaseShardingStrategy";
-
@Override
public ShardingStrategyConfiguration
swapRuleItemConfigurationFromEvent(final AlterRuleItemEvent event, final String
yamlContent) {
return new
YamlShardingStrategyConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingStrategyConfiguration.class));
@@ -57,6 +56,6 @@ public final class
DefaultDatabaseShardingStrategyChangedGenerator implements Ru
@Override
public String getType() {
- return TYPE;
+ return ShardingRuleNodePathProvider.RULE_TYPE + "." +
ShardingRuleNodePathProvider.DEFAULT_DATABASE_STRATEGY;
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultKeyGenerateStrategyChangedGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultKeyGenerateStrategyChangedGenerator.java
index c085484dfa0..f09d0111915 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultKeyGenerateStrategyChangedGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultKeyGenerateStrategyChangedGenerator.java
@@ -24,6 +24,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.strategy.keygen.KeyGenerateStrategyConfiguration;
+import
org.apache.shardingsphere.sharding.metadata.nodepath.ShardingRuleNodePathProvider;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import
org.apache.shardingsphere.sharding.yaml.config.strategy.keygen.YamlKeyGenerateStrategyConfiguration;
import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlKeyGenerateStrategyConfigurationSwapper;
@@ -33,8 +34,6 @@ import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlKeyGenerateS
*/
public final class DefaultKeyGenerateStrategyChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShardingRuleConfiguration,
KeyGenerateStrategyConfiguration> {
- public static final String TYPE = "Sharding.DefaultKeyGenerateStrategy";
-
@Override
public KeyGenerateStrategyConfiguration
swapRuleItemConfigurationFromEvent(final AlterRuleItemEvent event, final String
yamlContent) {
return new
YamlKeyGenerateStrategyConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlKeyGenerateStrategyConfiguration.class));
@@ -57,6 +56,6 @@ public final class DefaultKeyGenerateStrategyChangedGenerator
implements RuleIte
@Override
public String getType() {
- return TYPE;
+ return ShardingRuleNodePathProvider.RULE_TYPE + "." +
ShardingRuleNodePathProvider.DEFAULT_KEY_GENERATE_STRATEGY;
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingAuditorStrategyChangedGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingAuditorStrategyChangedGenerator.java
index c8ce85dff4d..93c2666eda7 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingAuditorStrategyChangedGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingAuditorStrategyChangedGenerator.java
@@ -24,6 +24,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.strategy.audit.ShardingAuditStrategyConfiguration;
+import
org.apache.shardingsphere.sharding.metadata.nodepath.ShardingRuleNodePathProvider;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import
org.apache.shardingsphere.sharding.yaml.config.strategy.audit.YamlShardingAuditStrategyConfiguration;
import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingAuditStrategyConfigurationSwapper;
@@ -33,8 +34,6 @@ import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingAudi
*/
public final class DefaultShardingAuditorStrategyChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShardingRuleConfiguration,
ShardingAuditStrategyConfiguration> {
- public static final String TYPE =
"Sharding.DefaultShardingAuditorStrategy";
-
@Override
public ShardingAuditStrategyConfiguration
swapRuleItemConfigurationFromEvent(final AlterRuleItemEvent event, final String
yamlContent) {
return new
YamlShardingAuditStrategyConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingAuditStrategyConfiguration.class));
@@ -57,6 +56,6 @@ public final class
DefaultShardingAuditorStrategyChangedGenerator implements Rul
@Override
public String getType() {
- return TYPE;
+ return ShardingRuleNodePathProvider.RULE_TYPE + "." +
ShardingRuleNodePathProvider.DEFAULT_AUDIT_STRATEGY;
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingColumnChangedGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingColumnChangedGenerator.java
index 33caa6fc4db..5f0c4ebfa1f 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingColumnChangedGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultShardingColumnChangedGenerator.java
@@ -22,6 +22,7 @@ import
org.apache.shardingsphere.infra.rule.event.rule.alter.AlterRuleItemEvent;
import org.apache.shardingsphere.infra.rule.event.rule.drop.DropRuleItemEvent;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
+import
org.apache.shardingsphere.sharding.metadata.nodepath.ShardingRuleNodePathProvider;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
/**
@@ -29,8 +30,6 @@ import org.apache.shardingsphere.sharding.rule.ShardingRule;
*/
public final class DefaultShardingColumnChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShardingRuleConfiguration, String> {
- public static final String TYPE = "Sharding.DefaultShardingColumn";
-
@Override
public String swapRuleItemConfigurationFromEvent(final AlterRuleItemEvent
event, final String yamlContent) {
return yamlContent;
@@ -53,6 +52,6 @@ public final class DefaultShardingColumnChangedGenerator
implements RuleItemConf
@Override
public String getType() {
- return TYPE;
+ return ShardingRuleNodePathProvider.RULE_TYPE + "." +
ShardingRuleNodePathProvider.DEFAULT_SHARDING_COLUMN;
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultTableShardingStrategyChangedGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultTableShardingStrategyChangedGenerator.java
index 44c014538f4..dce02747e65 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultTableShardingStrategyChangedGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/DefaultTableShardingStrategyChangedGenerator.java
@@ -24,6 +24,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.strategy.sharding.ShardingStrategyConfiguration;
+import
org.apache.shardingsphere.sharding.metadata.nodepath.ShardingRuleNodePathProvider;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import
org.apache.shardingsphere.sharding.yaml.config.strategy.sharding.YamlShardingStrategyConfiguration;
import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingStrategyConfigurationSwapper;
@@ -33,8 +34,6 @@ import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingStra
*/
public final class DefaultTableShardingStrategyChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShardingRuleConfiguration,
ShardingStrategyConfiguration> {
- public static final String TYPE = "Sharding.DefaultTableShardingStrategy";
-
@Override
public ShardingStrategyConfiguration
swapRuleItemConfigurationFromEvent(final AlterRuleItemEvent event, final String
yamlContent) {
return new
YamlShardingStrategyConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingStrategyConfiguration.class));
@@ -57,6 +56,6 @@ public final class
DefaultTableShardingStrategyChangedGenerator implements RuleI
@Override
public String getType() {
- return TYPE;
+ return ShardingRuleNodePathProvider.RULE_TYPE + "." +
ShardingRuleNodePathProvider.DEFAULT_TABLE_STRATEGY;
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/KeyGeneratorChangedGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/KeyGeneratorChangedGenerator.java
index e01ef4e6f69..d014ea1daef 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/KeyGeneratorChangedGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/KeyGeneratorChangedGenerator.java
@@ -28,6 +28,7 @@ import
org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlAlgorithmC
import
org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
+import
org.apache.shardingsphere.sharding.metadata.nodepath.ShardingRuleNodePathProvider;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
/**
@@ -35,8 +36,6 @@ import org.apache.shardingsphere.sharding.rule.ShardingRule;
*/
public final class KeyGeneratorChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShardingRuleConfiguration,
AlgorithmConfiguration> {
- public static final String TYPE = "Sharding.KeyGenerator";
-
@Override
public AlgorithmConfiguration swapRuleItemConfigurationFromEvent(final
AlterRuleItemEvent event, final String yamlContent) {
return new
YamlAlgorithmConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlAlgorithmConfiguration.class));
@@ -59,6 +58,6 @@ public final class KeyGeneratorChangedGenerator implements
RuleItemConfiguration
@Override
public String getType() {
- return TYPE;
+ return ShardingRuleNodePathProvider.RULE_TYPE + "." +
ShardingRuleNodePathProvider.KEY_GENERATORS;
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAlgorithmChangedGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAlgorithmChangedGenerator.java
index 726d8e45b39..28c36b27b44 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAlgorithmChangedGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAlgorithmChangedGenerator.java
@@ -28,6 +28,7 @@ import
org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlAlgorithmC
import
org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
+import
org.apache.shardingsphere.sharding.metadata.nodepath.ShardingRuleNodePathProvider;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
/**
@@ -35,8 +36,6 @@ import org.apache.shardingsphere.sharding.rule.ShardingRule;
*/
public final class ShardingAlgorithmChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShardingRuleConfiguration,
AlgorithmConfiguration> {
- public static final String TYPE = "Sharding.Algorithm";
-
@Override
public AlgorithmConfiguration swapRuleItemConfigurationFromEvent(final
AlterRuleItemEvent event, final String yamlContent) {
return new
YamlAlgorithmConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlAlgorithmConfiguration.class));
@@ -59,6 +58,6 @@ public final class ShardingAlgorithmChangedGenerator
implements RuleItemConfigur
@Override
public String getType() {
- return TYPE;
+ return ShardingRuleNodePathProvider.RULE_TYPE + "." +
ShardingRuleNodePathProvider.ALGORITHMS;
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAuditorChangedGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAuditorChangedGenerator.java
index 9f8f4e8845d..281b342ddcd 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAuditorChangedGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAuditorChangedGenerator.java
@@ -28,6 +28,7 @@ import
org.apache.shardingsphere.infra.yaml.config.pojo.algorithm.YamlAlgorithmC
import
org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
+import
org.apache.shardingsphere.sharding.metadata.nodepath.ShardingRuleNodePathProvider;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
/**
@@ -35,8 +36,6 @@ import org.apache.shardingsphere.sharding.rule.ShardingRule;
*/
public final class ShardingAuditorChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShardingRuleConfiguration,
AlgorithmConfiguration> {
- public static final String TYPE = "Sharding.Auditor";
-
@Override
public AlgorithmConfiguration swapRuleItemConfigurationFromEvent(final
AlterRuleItemEvent event, final String yamlContent) {
return new
YamlAlgorithmConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlAlgorithmConfiguration.class));
@@ -59,6 +58,6 @@ public final class ShardingAuditorChangedGenerator implements
RuleItemConfigurat
@Override
public String getType() {
- return TYPE;
+ return ShardingRuleNodePathProvider.RULE_TYPE + "." +
ShardingRuleNodePathProvider.AUDITORS;
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAutoTableChangedGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAutoTableChangedGenerator.java
index f86ca3480ab..a750174c9c8 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAutoTableChangedGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingAutoTableChangedGenerator.java
@@ -26,6 +26,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration;
+import
org.apache.shardingsphere.sharding.metadata.nodepath.ShardingRuleNodePathProvider;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import
org.apache.shardingsphere.sharding.yaml.config.rule.YamlShardingAutoTableRuleConfiguration;
import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingAutoTableRuleConfigurationSwapper;
@@ -35,8 +36,6 @@ import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingAutoTabl
*/
public final class ShardingAutoTableChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShardingRuleConfiguration,
ShardingAutoTableRuleConfiguration> {
- public static final String TYPE = "Sharding.AutoTable";
-
@Override
public ShardingAutoTableRuleConfiguration
swapRuleItemConfigurationFromEvent(final AlterRuleItemEvent event, final String
yamlContent) {
return new
YamlShardingAutoTableRuleConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingAutoTableRuleConfiguration.class));
@@ -60,6 +59,6 @@ public final class ShardingAutoTableChangedGenerator
implements RuleItemConfigur
@Override
public String getType() {
- return TYPE;
+ return ShardingRuleNodePathProvider.RULE_TYPE + "." +
ShardingRuleNodePathProvider.AUTO_TABLES;
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheChangedGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheChangedGenerator.java
index 2d038c5a98c..af0c4aef1d1 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheChangedGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingCacheChangedGenerator.java
@@ -24,6 +24,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.cache.ShardingCacheConfiguration;
+import
org.apache.shardingsphere.sharding.metadata.nodepath.ShardingRuleNodePathProvider;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import
org.apache.shardingsphere.sharding.yaml.config.cache.YamlShardingCacheConfiguration;
import
org.apache.shardingsphere.sharding.yaml.swapper.cache.YamlShardingCacheConfigurationSwapper;
@@ -33,8 +34,6 @@ import
org.apache.shardingsphere.sharding.yaml.swapper.cache.YamlShardingCacheCo
*/
public final class ShardingCacheChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShardingRuleConfiguration,
ShardingCacheConfiguration> {
- public static final String TYPE = "Sharding.Cache";
-
@Override
public ShardingCacheConfiguration swapRuleItemConfigurationFromEvent(final
AlterRuleItemEvent event, final String yamlContent) {
return new
YamlShardingCacheConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlShardingCacheConfiguration.class));
@@ -57,6 +56,6 @@ public final class ShardingCacheChangedGenerator implements
RuleItemConfiguratio
@Override
public String getType() {
- return TYPE;
+ return ShardingRuleNodePathProvider.RULE_TYPE + "." +
ShardingRuleNodePathProvider.SHARDING_CACHE;
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableChangedGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableChangedGenerator.java
index 1c5dce08ba2..25820a5462e 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableChangedGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableChangedGenerator.java
@@ -26,6 +26,7 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
+import
org.apache.shardingsphere.sharding.metadata.nodepath.ShardingRuleNodePathProvider;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import
org.apache.shardingsphere.sharding.yaml.config.rule.YamlTableRuleConfiguration;
import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingTableRuleConfigurationSwapper;
@@ -35,8 +36,6 @@ import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingTableRul
*/
public final class ShardingTableChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShardingRuleConfiguration,
ShardingTableRuleConfiguration> {
- public static final String TYPE = "Sharding.Table";
-
@Override
public ShardingTableRuleConfiguration
swapRuleItemConfigurationFromEvent(final AlterRuleItemEvent event, final String
yamlContent) {
return new
YamlShardingTableRuleConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlTableRuleConfiguration.class));
@@ -60,6 +59,6 @@ public final class ShardingTableChangedGenerator implements
RuleItemConfiguratio
@Override
public String getType() {
- return TYPE;
+ return ShardingRuleNodePathProvider.RULE_TYPE + "." +
ShardingRuleNodePathProvider.TABLES;
}
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableReferenceChangedGenerator.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableReferenceChangedGenerator.java
index 40d59164754..9571bf4d9f2 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableReferenceChangedGenerator.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/subscriber/ShardingTableReferenceChangedGenerator.java
@@ -25,6 +25,7 @@ import
org.apache.shardingsphere.infra.rule.event.rule.drop.DropRuleItemEvent;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableReferenceRuleConfiguration;
+import
org.apache.shardingsphere.sharding.metadata.nodepath.ShardingRuleNodePathProvider;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingTableReferenceRuleConfigurationConverter;
@@ -33,8 +34,6 @@ import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingTableRef
*/
public final class ShardingTableReferenceChangedGenerator implements
RuleItemConfigurationChangedGenerator<ShardingRuleConfiguration,
ShardingTableReferenceRuleConfiguration> {
- public static final String TYPE = "Sharding.TableReference";
-
@Override
public ShardingTableReferenceRuleConfiguration
swapRuleItemConfigurationFromEvent(final AlterRuleItemEvent event, final String
yamlContent) {
return
YamlShardingTableReferenceRuleConfigurationConverter.convertToObject(yamlContent);
@@ -58,6 +57,6 @@ public final class ShardingTableReferenceChangedGenerator
implements RuleItemCon
@Override
public String getType() {
- return TYPE;
+ return ShardingRuleNodePathProvider.RULE_TYPE + "." +
ShardingRuleNodePathProvider.BINDING_TABLES;
}
}
diff --git
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/event/SingleRuleChangedEventCreator.java
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/event/SingleRuleChangedEventCreator.java
index 15c48ec1aee..8e88e8de81d 100644
---
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/event/SingleRuleChangedEventCreator.java
+++
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/event/SingleRuleChangedEventCreator.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.mode.event.DataChangedEvent;
import org.apache.shardingsphere.mode.event.UniqueRuleItemChangedEventCreator;
import org.apache.shardingsphere.mode.spi.RuleChangedEventCreator;
import
org.apache.shardingsphere.single.metadata.nodepath.SingleRuleNodePathProvider;
-import org.apache.shardingsphere.single.subscriber.SingleTableChangedGenerator;
/**
* Single rule changed event creator.
@@ -31,14 +30,7 @@ public final class SingleRuleChangedEventCreator implements
RuleChangedEventCrea
@Override
public GovernanceEvent create(final String databaseName, final
DataChangedEvent event, final String itemType) {
- return new UniqueRuleItemChangedEventCreator().create(databaseName,
event, getRuleItemConfigurationChangedGeneratorType(itemType));
- }
-
- private String getRuleItemConfigurationChangedGeneratorType(final String
itemType) {
- if (itemType.equals(SingleRuleNodePathProvider.TABLES)) {
- return SingleTableChangedGenerator.TYPE;
- }
- throw new UnsupportedOperationException(itemType);
+ return new UniqueRuleItemChangedEventCreator().create(databaseName,
event, SingleRuleNodePathProvider.RULE_TYPE + "." + itemType);
}
@Override
diff --git
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/metadata/nodepath/SingleRuleNodePathProvider.java
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/metadata/nodepath/SingleRuleNodePathProvider.java
index adbd2431028..2c2b50fd86c 100644
---
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/metadata/nodepath/SingleRuleNodePathProvider.java
+++
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/metadata/nodepath/SingleRuleNodePathProvider.java
@@ -27,9 +27,11 @@ import java.util.Collections;
*/
public final class SingleRuleNodePathProvider implements RuleNodePathProvider {
+ public static final String RULE_TYPE = "single";
+
public static final String TABLES = "tables";
- private static final RuleNodePath INSTANCE = new RuleNodePath("single",
Collections.emptyList(), Collections.singleton(TABLES));
+ private static final RuleNodePath INSTANCE = new RuleNodePath(RULE_TYPE,
Collections.emptyList(), Collections.singleton(TABLES));
@Override
public RuleNodePath getRuleNodePath() {
diff --git
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/subscriber/SingleTableChangedGenerator.java
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/subscriber/SingleTableChangedGenerator.java
index bdf9e6d064a..72089f4b85e 100644
---
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/subscriber/SingleTableChangedGenerator.java
+++
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/subscriber/SingleTableChangedGenerator.java
@@ -23,6 +23,7 @@ import
org.apache.shardingsphere.infra.rule.event.rule.drop.DropRuleItemEvent;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import
org.apache.shardingsphere.mode.subsciber.RuleItemConfigurationChangedGenerator;
import org.apache.shardingsphere.single.api.config.SingleRuleConfiguration;
+import
org.apache.shardingsphere.single.metadata.nodepath.SingleRuleNodePathProvider;
import org.apache.shardingsphere.single.rule.SingleRule;
import
org.apache.shardingsphere.single.yaml.config.pojo.YamlSingleRuleConfiguration;
import
org.apache.shardingsphere.single.yaml.config.swapper.YamlSingleRuleConfigurationSwapper;
@@ -32,8 +33,6 @@ import
org.apache.shardingsphere.single.yaml.config.swapper.YamlSingleRuleConfig
*/
public final class SingleTableChangedGenerator implements
RuleItemConfigurationChangedGenerator<SingleRuleConfiguration,
SingleRuleConfiguration> {
- public static final String TYPE = "Single.Table";
-
@Override
public SingleRuleConfiguration swapRuleItemConfigurationFromEvent(final
AlterRuleItemEvent event, final String yamlContent) {
return new
YamlSingleRuleConfigurationSwapper().swapToObject(YamlEngine.unmarshal(yamlContent,
YamlSingleRuleConfiguration.class));
@@ -59,6 +58,6 @@ public final class SingleTableChangedGenerator implements
RuleItemConfigurationC
@Override
public String getType() {
- return TYPE;
+ return SingleRuleNodePathProvider.RULE_TYPE + "." +
SingleRuleNodePathProvider.TABLES;
}
}