This is an automated email from the ASF dual-hosted git repository.
zhaojinchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 50f476f0265 Improve swap DatabaseRule to YamlDataNode (#26061)
50f476f0265 is described below
commit 50f476f02659b3239b93bd55e471c2b3c8e45a1d
Author: ChenJiaHao <[email protected]>
AuthorDate: Tue Jun 6 12:44:13 2023 +0800
Improve swap DatabaseRule to YamlDataNode (#26061)
---
.../NewYamlEncryptRuleConfigurationSwapper.java | 5 +--
.../NewYamlMaskRuleConfigurationSwapper.java | 5 +--
...ReadwriteSplittingRuleConfigurationSwapper.java | 30 ++++++++++++-
...writeSplittingRuleConfigurationSwapperTest.java | 2 +-
.../NewYamlShadowRuleConfigurationSwapper.java | 19 +++++---
.../table/YamlShadowTableConfigurationSwapper.java | 4 +-
.../NewYamlShardingRuleConfigurationSwapper.java | 51 ++++++++++++++++------
7 files changed, 86 insertions(+), 30 deletions(-)
diff --git
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/yaml/swapper/NewYamlEncryptRuleConfigurationSwapper.java
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/yaml/swapper/NewYamlEncryptRuleConfigurationSwapper.java
index 92e6cccc4e4..e544f0283ad 100644
---
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/yaml/swapper/NewYamlEncryptRuleConfigurationSwapper.java
+++
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/yaml/swapper/NewYamlEncryptRuleConfigurationSwapper.java
@@ -39,7 +39,6 @@ import java.util.Map.Entry;
*/
public final class NewYamlEncryptRuleConfigurationSwapper implements
NewYamlRuleConfigurationSwapper<EncryptRuleConfiguration> {
- // TODO to be used
private final YamlEncryptTableRuleConfigurationSwapper tableSwapper = new
YamlEncryptTableRuleConfigurationSwapper();
private final YamlAlgorithmConfigurationSwapper algorithmSwapper = new
YamlAlgorithmConfigurationSwapper();
@@ -48,10 +47,10 @@ public final class NewYamlEncryptRuleConfigurationSwapper
implements NewYamlRule
public Collection<YamlDataNode> swapToDataNodes(final
EncryptRuleConfiguration data) {
Collection<YamlDataNode> result = new LinkedHashSet<>();
for (EncryptTableRuleConfiguration each : data.getTables()) {
- result.add(new
YamlDataNode(EncryptNodeConverter.getTableNamePath(each.getName()),
YamlEngine.marshal(each)));
+ result.add(new
YamlDataNode(EncryptNodeConverter.getTableNamePath(each.getName()),
YamlEngine.marshal(tableSwapper.swapToYamlConfiguration(each))));
}
for (Entry<String, AlgorithmConfiguration> entry :
data.getEncryptors().entrySet()) {
- result.add(new
YamlDataNode(EncryptNodeConverter.getEncryptorPath(entry.getKey()),
YamlEngine.marshal(entry.getValue())));
+ result.add(new
YamlDataNode(EncryptNodeConverter.getEncryptorPath(entry.getKey()),
YamlEngine.marshal(algorithmSwapper.swapToYamlConfiguration(entry.getValue()))));
}
return result;
}
diff --git
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/yaml/swapper/NewYamlMaskRuleConfigurationSwapper.java
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/yaml/swapper/NewYamlMaskRuleConfigurationSwapper.java
index 7b813c94ddf..272048b5310 100644
---
a/features/mask/core/src/main/java/org/apache/shardingsphere/mask/yaml/swapper/NewYamlMaskRuleConfigurationSwapper.java
+++
b/features/mask/core/src/main/java/org/apache/shardingsphere/mask/yaml/swapper/NewYamlMaskRuleConfigurationSwapper.java
@@ -39,7 +39,6 @@ import java.util.Map.Entry;
*/
public final class NewYamlMaskRuleConfigurationSwapper implements
NewYamlRuleConfigurationSwapper<MaskRuleConfiguration> {
- // TODO to be used
private final YamlMaskTableRuleConfigurationSwapper tableSwapper = new
YamlMaskTableRuleConfigurationSwapper();
private final YamlAlgorithmConfigurationSwapper algorithmSwapper = new
YamlAlgorithmConfigurationSwapper();
@@ -48,10 +47,10 @@ public final class NewYamlMaskRuleConfigurationSwapper
implements NewYamlRuleCon
public Collection<YamlDataNode> swapToDataNodes(final
MaskRuleConfiguration data) {
Collection<YamlDataNode> result = new LinkedHashSet<>();
for (MaskTableRuleConfiguration each : data.getTables()) {
- result.add(new
YamlDataNode(MaskNodeConverter.getTableNamePath(each.getName()),
YamlEngine.marshal(each)));
+ result.add(new
YamlDataNode(MaskNodeConverter.getTableNamePath(each.getName()),
YamlEngine.marshal(tableSwapper.swapToYamlConfiguration(each))));
}
for (Entry<String, AlgorithmConfiguration> entry :
data.getMaskAlgorithms().entrySet()) {
- result.add(new
YamlDataNode(MaskNodeConverter.getMaskAlgorithmNamePath(entry.getKey()),
YamlEngine.marshal(entry.getValue())));
+ result.add(new
YamlDataNode(MaskNodeConverter.getMaskAlgorithmNamePath(entry.getKey()),
YamlEngine.marshal(algorithmSwapper.swapToYamlConfiguration(entry.getValue()))));
}
return result;
}
diff --git
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/NewYamlReadwriteSplittingRuleConfigurationSwapper.java
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/NewYamlReadwriteSplittingRuleConfigurationSwapper.java
index 723d0bb9e1b..e46f319e026 100644
---
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/NewYamlReadwriteSplittingRuleConfigurationSwapper.java
+++
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/NewYamlReadwriteSplittingRuleConfigurationSwapper.java
@@ -17,14 +17,18 @@
package org.apache.shardingsphere.readwritesplitting.yaml.swapper;
+import com.google.common.base.Strings;
import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import org.apache.shardingsphere.infra.util.yaml.datanode.YamlDataNode;
+import
org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
import
org.apache.shardingsphere.infra.yaml.config.swapper.rule.NewYamlRuleConfigurationSwapper;
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.constant.ReadwriteSplittingOrder;
import
org.apache.shardingsphere.readwritesplitting.metadata.converter.ReadwriteSplittingNodeConverter;
+import
org.apache.shardingsphere.readwritesplitting.yaml.config.rule.YamlReadwriteSplittingDataSourceRuleConfiguration;
import java.util.Collections;
import java.util.Collection;
@@ -37,24 +41,46 @@ import java.util.Map.Entry;
*/
public final class NewYamlReadwriteSplittingRuleConfigurationSwapper
implements NewYamlRuleConfigurationSwapper<ReadwriteSplittingRuleConfiguration>
{
+ private final YamlAlgorithmConfigurationSwapper algorithmSwapper = new
YamlAlgorithmConfigurationSwapper();
+
@Override
public Collection<YamlDataNode> swapToDataNodes(final
ReadwriteSplittingRuleConfiguration data) {
Collection<YamlDataNode> result = new LinkedHashSet<>();
for (ReadwriteSplittingDataSourceRuleConfiguration each :
data.getDataSources()) {
- result.add(new
YamlDataNode(ReadwriteSplittingNodeConverter.getGroupNamePath(each.getName()),
YamlEngine.marshal(each)));
+ result.add(new
YamlDataNode(ReadwriteSplittingNodeConverter.getGroupNamePath(each.getName()),
YamlEngine.marshal(swapToYamlConfiguration(each))));
}
for (Entry<String, AlgorithmConfiguration> entry :
data.getLoadBalancers().entrySet()) {
- result.add(new
YamlDataNode(ReadwriteSplittingNodeConverter.getLoadBalancerPath(entry.getKey()),
YamlEngine.marshal(entry.getValue())));
+ result.add(new
YamlDataNode(ReadwriteSplittingNodeConverter.getLoadBalancerPath(entry.getKey()),
YamlEngine.marshal(algorithmSwapper.swapToYamlConfiguration(entry.getValue()))));
}
return result;
}
+ private YamlReadwriteSplittingDataSourceRuleConfiguration
swapToYamlConfiguration(final ReadwriteSplittingDataSourceRuleConfiguration
dataSourceRuleConfig) {
+ YamlReadwriteSplittingDataSourceRuleConfiguration result = new
YamlReadwriteSplittingDataSourceRuleConfiguration();
+
result.setWriteDataSourceName(dataSourceRuleConfig.getWriteDataSourceName());
+
result.setReadDataSourceNames(dataSourceRuleConfig.getReadDataSourceNames());
+
result.setTransactionalReadQueryStrategy(dataSourceRuleConfig.getTransactionalReadQueryStrategy().name());
+ result.setLoadBalancerName(dataSourceRuleConfig.getLoadBalancerName());
+ return result;
+ }
+
@Override
public ReadwriteSplittingRuleConfiguration swapToObject(final
Collection<YamlDataNode> dataNodes) {
// TODO
return new
ReadwriteSplittingRuleConfiguration(Collections.emptyList(),
Collections.emptyMap());
}
+ private ReadwriteSplittingDataSourceRuleConfiguration swapToObject(final
String name, final YamlReadwriteSplittingDataSourceRuleConfiguration
yamlDataSourceRuleConfig) {
+ return new ReadwriteSplittingDataSourceRuleConfiguration(name,
yamlDataSourceRuleConfig.getWriteDataSourceName(),
yamlDataSourceRuleConfig.getReadDataSourceNames(),
+ getTransactionalReadQueryStrategy(yamlDataSourceRuleConfig),
yamlDataSourceRuleConfig.getLoadBalancerName());
+ }
+
+ private TransactionalReadQueryStrategy
getTransactionalReadQueryStrategy(final
YamlReadwriteSplittingDataSourceRuleConfiguration yamlDataSourceRuleConfig) {
+ return
Strings.isNullOrEmpty(yamlDataSourceRuleConfig.getTransactionalReadQueryStrategy())
+ ? TransactionalReadQueryStrategy.DYNAMIC
+ :
TransactionalReadQueryStrategy.valueOf(yamlDataSourceRuleConfig.getTransactionalReadQueryStrategy());
+ }
+
@Override
public Class<ReadwriteSplittingRuleConfiguration> getTypeClass() {
return ReadwriteSplittingRuleConfiguration.class;
diff --git
a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/NewYamlReadwriteSplittingRuleConfigurationSwapperTest.java
b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/NewYamlReadwriteSplittingRuleConfigurationSwapperTest.java
index 1e2ea03f32e..72aceb7eff5 100644
---
a/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/NewYamlReadwriteSplittingRuleConfigurationSwapperTest.java
+++
b/features/readwrite-splitting/core/src/test/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/NewYamlReadwriteSplittingRuleConfigurationSwapperTest.java
@@ -48,7 +48,7 @@ class NewYamlReadwriteSplittingRuleConfigurationSwapperTest {
@Test
void assertSwapToDataNodesLoadBalancers() {
ReadwriteSplittingRuleConfiguration config = new
ReadwriteSplittingRuleConfiguration(Collections.singleton(new
ReadwriteSplittingDataSourceRuleConfiguration("group_0",
- "write_ds", Arrays.asList("read_ds_0", "read_ds_1"), null)),
Collections.singletonMap("random", new AlgorithmConfiguration("random", new
Properties())));
+ "write_ds", Arrays.asList("read_ds_0", "read_ds_1"),
"random")), Collections.singletonMap("random", new
AlgorithmConfiguration("random", new Properties())));
Collection<YamlDataNode> result = swapper.swapToDataNodes(config);
assertThat(result.size(), is(2));
Iterator<YamlDataNode> iterator = result.iterator();
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/yaml/swapper/NewYamlShadowRuleConfigurationSwapper.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/yaml/swapper/NewYamlShadowRuleConfigurationSwapper.java
index 0e2bac362f6..633612f2a32 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/yaml/swapper/NewYamlShadowRuleConfigurationSwapper.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/yaml/swapper/NewYamlShadowRuleConfigurationSwapper.java
@@ -23,11 +23,12 @@ import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import org.apache.shardingsphere.infra.util.yaml.datanode.YamlDataNode;
import
org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
import
org.apache.shardingsphere.infra.yaml.config.swapper.rule.NewYamlRuleConfigurationSwapper;
-import org.apache.shardingsphere.shadow.metadata.converter.ShadowNodeConverter;
import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
import
org.apache.shardingsphere.shadow.api.config.datasource.ShadowDataSourceConfiguration;
import
org.apache.shardingsphere.shadow.api.config.table.ShadowTableConfiguration;
import org.apache.shardingsphere.shadow.constant.ShadowOrder;
+import org.apache.shardingsphere.shadow.metadata.converter.ShadowNodeConverter;
+import
org.apache.shardingsphere.shadow.yaml.config.datasource.YamlShadowDataSourceConfiguration;
import
org.apache.shardingsphere.shadow.yaml.swapper.table.YamlShadowTableConfigurationSwapper;
import java.util.Collection;
@@ -40,7 +41,6 @@ import java.util.Map.Entry;
*/
public final class NewYamlShadowRuleConfigurationSwapper implements
NewYamlRuleConfigurationSwapper<ShadowRuleConfiguration> {
- // TODO to be used
private final YamlShadowTableConfigurationSwapper
tableConfigurationSwapper = new YamlShadowTableConfigurationSwapper();
private final YamlAlgorithmConfigurationSwapper algorithmSwapper = new
YamlAlgorithmConfigurationSwapper();
@@ -49,20 +49,27 @@ public final class NewYamlShadowRuleConfigurationSwapper
implements NewYamlRuleC
public Collection<YamlDataNode> swapToDataNodes(final
ShadowRuleConfiguration data) {
Collection<YamlDataNode> result = new LinkedHashSet<>();
for (ShadowDataSourceConfiguration each : data.getDataSources()) {
- result.add(new
YamlDataNode(ShadowNodeConverter.getDataSourcePath(each.getName()),
YamlEngine.marshal(each)));
+ result.add(new
YamlDataNode(ShadowNodeConverter.getDataSourcePath(each.getName()),
YamlEngine.marshal(swapToDataSourceYamlConfiguration(each))));
}
for (Entry<String, ShadowTableConfiguration> entry :
data.getTables().entrySet()) {
- result.add(new
YamlDataNode(ShadowNodeConverter.getTableNamePath(entry.getKey()),
YamlEngine.marshal(entry.getValue())));
+ result.add(new
YamlDataNode(ShadowNodeConverter.getTableNamePath(entry.getKey()),
YamlEngine.marshal(tableConfigurationSwapper.swapToYamlConfiguration(entry.getValue()))));
}
for (Entry<String, AlgorithmConfiguration> entry :
data.getShadowAlgorithms().entrySet()) {
- result.add(new
YamlDataNode(ShadowNodeConverter.getShadowAlgorithmPath(entry.getKey()),
YamlEngine.marshal(entry.getValue())));
+ result.add(new
YamlDataNode(ShadowNodeConverter.getShadowAlgorithmPath(entry.getKey()),
YamlEngine.marshal(algorithmSwapper.swapToYamlConfiguration(entry.getValue()))));
}
if (!Strings.isNullOrEmpty(data.getDefaultShadowAlgorithmName())) {
- result.add(new
YamlDataNode(ShadowNodeConverter.getDefaultShadowAlgorithmPath(),
YamlEngine.marshal(data.getDefaultShadowAlgorithmName())));
+ result.add(new
YamlDataNode(ShadowNodeConverter.getDefaultShadowAlgorithmPath(),
data.getDefaultShadowAlgorithmName()));
}
return result;
}
+ private YamlShadowDataSourceConfiguration
swapToDataSourceYamlConfiguration(final ShadowDataSourceConfiguration data) {
+ YamlShadowDataSourceConfiguration result = new
YamlShadowDataSourceConfiguration();
+ result.setProductionDataSourceName(data.getProductionDataSourceName());
+ result.setShadowDataSourceName(data.getShadowDataSourceName());
+ return result;
+ }
+
@Override
public ShadowRuleConfiguration swapToObject(final Collection<YamlDataNode>
dataNodes) {
// TODO to be completed
diff --git
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/yaml/swapper/table/YamlShadowTableConfigurationSwapper.java
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/yaml/swapper/table/YamlShadowTableConfigurationSwapper.java
index d597966c034..83a4141153b 100644
---
a/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/yaml/swapper/table/YamlShadowTableConfigurationSwapper.java
+++
b/features/shadow/core/src/main/java/org/apache/shardingsphere/shadow/yaml/swapper/table/YamlShadowTableConfigurationSwapper.java
@@ -31,8 +31,8 @@ public final class YamlShadowTableConfigurationSwapper
implements YamlConfigurat
@Override
public YamlShadowTableConfiguration swapToYamlConfiguration(final
ShadowTableConfiguration data) {
YamlShadowTableConfiguration result = new
YamlShadowTableConfiguration();
- result.setDataSourceNames(data.getDataSourceNames());
- result.setShadowAlgorithmNames(data.getShadowAlgorithmNames());
+ result.setDataSourceNames(new LinkedList<>(data.getDataSourceNames()));
+ result.setShadowAlgorithmNames(new
LinkedList<>(data.getShadowAlgorithmNames()));
return result;
}
diff --git
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/NewYamlShardingRuleConfigurationSwapper.java
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/NewYamlShardingRuleConfigurationSwapper.java
index 2762355e6f5..b173c2e8e23 100644
---
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/NewYamlShardingRuleConfigurationSwapper.java
+++
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/yaml/swapper/NewYamlShardingRuleConfigurationSwapper.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.sharding.yaml.swapper;
import org.apache.shardingsphere.infra.config.algorithm.AlgorithmConfiguration;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import org.apache.shardingsphere.infra.util.yaml.datanode.YamlDataNode;
+import
org.apache.shardingsphere.infra.yaml.config.swapper.algorithm.YamlAlgorithmConfigurationSwapper;
import
org.apache.shardingsphere.infra.yaml.config.swapper.rule.NewYamlRuleConfigurationSwapper;
import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
import
org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration;
@@ -27,6 +28,13 @@ import
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableReference
import
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableRuleConfiguration;
import org.apache.shardingsphere.sharding.constant.ShardingOrder;
import
org.apache.shardingsphere.sharding.metadata.converter.ShardingNodeConverter;
+import
org.apache.shardingsphere.sharding.yaml.swapper.cache.YamlShardingCacheConfigurationSwapper;
+import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingAutoTableRuleConfigurationSwapper;
+import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingTableReferenceRuleConfigurationConverter;
+import
org.apache.shardingsphere.sharding.yaml.swapper.rule.YamlShardingTableRuleConfigurationSwapper;
+import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlKeyGenerateStrategyConfigurationSwapper;
+import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingAuditStrategyConfigurationSwapper;
+import
org.apache.shardingsphere.sharding.yaml.swapper.strategy.YamlShardingStrategyConfigurationSwapper;
import java.util.Collection;
import java.util.LinkedHashSet;
@@ -38,31 +46,44 @@ import java.util.Map.Entry;
*/
public final class NewYamlShardingRuleConfigurationSwapper implements
NewYamlRuleConfigurationSwapper<ShardingRuleConfiguration> {
+ private final YamlShardingTableRuleConfigurationSwapper tableSwapper = new
YamlShardingTableRuleConfigurationSwapper();
+
+ private final YamlShardingAutoTableRuleConfigurationSwapper
autoTableYamlSwapper = new YamlShardingAutoTableRuleConfigurationSwapper();
+
+ private final YamlShardingStrategyConfigurationSwapper
shardingStrategySwapper = new YamlShardingStrategyConfigurationSwapper();
+
+ private final YamlKeyGenerateStrategyConfigurationSwapper
keyGenerateStrategySwapper = new YamlKeyGenerateStrategyConfigurationSwapper();
+
+ private final YamlShardingAuditStrategyConfigurationSwapper
auditStrategySwapper = new YamlShardingAuditStrategyConfigurationSwapper();
+
+ private final YamlAlgorithmConfigurationSwapper algorithmSwapper = new
YamlAlgorithmConfigurationSwapper();
+
+ private final YamlShardingCacheConfigurationSwapper
shardingCacheYamlSwapper = new YamlShardingCacheConfigurationSwapper();
+
@Override
public Collection<YamlDataNode> swapToDataNodes(final
ShardingRuleConfiguration data) {
Collection<YamlDataNode> result = new LinkedHashSet<>();
- // TODO swap rule to YAML configuration before YamlEngine.marshal
swapTableRules(data, result);
swapStrategies(data, result);
swapAlgorithms(data, result);
if (null != data.getDefaultShardingColumn()) {
- result.add(new
YamlDataNode(ShardingNodeConverter.getDefaultShardingColumnPath(),
YamlEngine.marshal(data.getDefaultShardingColumn())));
+ result.add(new
YamlDataNode(ShardingNodeConverter.getDefaultShardingColumnPath(),
data.getDefaultShardingColumn()));
}
if (null != data.getShardingCache()) {
- result.add(new
YamlDataNode(ShardingNodeConverter.getShardingCachePath(),
YamlEngine.marshal(data.getShardingCache())));
+ result.add(new
YamlDataNode(ShardingNodeConverter.getShardingCachePath(),
YamlEngine.marshal(shardingCacheYamlSwapper.swapToYamlConfiguration(data.getShardingCache()))));
}
return result;
}
private void swapTableRules(final ShardingRuleConfiguration data, final
Collection<YamlDataNode> result) {
for (ShardingTableRuleConfiguration each : data.getTables()) {
- result.add(new
YamlDataNode(ShardingNodeConverter.getTableNamePath(each.getLogicTable()),
YamlEngine.marshal(each)));
+ result.add(new
YamlDataNode(ShardingNodeConverter.getTableNamePath(each.getLogicTable()),
YamlEngine.marshal(tableSwapper.swapToYamlConfiguration(each))));
}
for (ShardingAutoTableRuleConfiguration each : data.getAutoTables()) {
- result.add(new
YamlDataNode(ShardingNodeConverter.getAutoTableNamePath(each.getLogicTable()),
YamlEngine.marshal(each)));
+ result.add(new
YamlDataNode(ShardingNodeConverter.getAutoTableNamePath(each.getLogicTable()),
YamlEngine.marshal(autoTableYamlSwapper.swapToYamlConfiguration(each))));
}
for (ShardingTableReferenceRuleConfiguration each :
data.getBindingTableGroups()) {
- result.add(new
YamlDataNode(ShardingNodeConverter.getBindingTableNamePath(each.getName()),
YamlEngine.marshal(each)));
+ result.add(new
YamlDataNode(ShardingNodeConverter.getBindingTableNamePath(each.getName()),
YamlShardingTableReferenceRuleConfigurationConverter.convertToYamlString(each)));
}
if (null != data.getBroadcastTables() &&
!data.getBroadcastTables().isEmpty()) {
result.add(new
YamlDataNode(ShardingNodeConverter.getBroadcastTablesPath(),
YamlEngine.marshal(data.getBroadcastTables())));
@@ -71,28 +92,32 @@ public final class NewYamlShardingRuleConfigurationSwapper
implements NewYamlRul
private void swapStrategies(final ShardingRuleConfiguration data, final
Collection<YamlDataNode> result) {
if (null != data.getDefaultDatabaseShardingStrategy()) {
- result.add(new
YamlDataNode(ShardingNodeConverter.getDefaultDatabaseStrategyPath(),
YamlEngine.marshal(data.getDefaultDatabaseShardingStrategy())));
+ result.add(new
YamlDataNode(ShardingNodeConverter.getDefaultDatabaseStrategyPath(),
+
YamlEngine.marshal(shardingStrategySwapper.swapToYamlConfiguration(data.getDefaultDatabaseShardingStrategy()))));
}
if (null != data.getDefaultTableShardingStrategy()) {
- result.add(new
YamlDataNode(ShardingNodeConverter.getDefaultTableStrategyPath(),
YamlEngine.marshal(data.getDefaultTableShardingStrategy())));
+ result.add(new
YamlDataNode(ShardingNodeConverter.getDefaultTableStrategyPath(),
+
YamlEngine.marshal(shardingStrategySwapper.swapToYamlConfiguration(data.getDefaultTableShardingStrategy()))));
}
if (null != data.getDefaultKeyGenerateStrategy()) {
- result.add(new
YamlDataNode(ShardingNodeConverter.getDefaultKeyGenerateStrategyPath(),
YamlEngine.marshal(data.getDefaultKeyGenerateStrategy())));
+ result.add(new
YamlDataNode(ShardingNodeConverter.getDefaultKeyGenerateStrategyPath(),
+
YamlEngine.marshal(keyGenerateStrategySwapper.swapToYamlConfiguration(data.getDefaultKeyGenerateStrategy()))));
}
if (null != data.getDefaultAuditStrategy()) {
- result.add(new
YamlDataNode(ShardingNodeConverter.getDefaultAuditStrategyPath(),
YamlEngine.marshal(data.getDefaultAuditStrategy())));
+ result.add(new
YamlDataNode(ShardingNodeConverter.getDefaultAuditStrategyPath(),
+
YamlEngine.marshal(auditStrategySwapper.swapToYamlConfiguration(data.getDefaultAuditStrategy()))));
}
}
private void swapAlgorithms(final ShardingRuleConfiguration data, final
Collection<YamlDataNode> result) {
for (Entry<String, AlgorithmConfiguration> each :
data.getShardingAlgorithms().entrySet()) {
- result.add(new
YamlDataNode(ShardingNodeConverter.getShardingAlgorithmPath(each.getKey()),
YamlEngine.marshal(each.getValue())));
+ result.add(new
YamlDataNode(ShardingNodeConverter.getShardingAlgorithmPath(each.getKey()),
YamlEngine.marshal(algorithmSwapper.swapToYamlConfiguration(each.getValue()))));
}
for (Entry<String, AlgorithmConfiguration> each :
data.getKeyGenerators().entrySet()) {
- result.add(new
YamlDataNode(ShardingNodeConverter.getKeyGeneratorPath(each.getKey()),
YamlEngine.marshal(each.getValue())));
+ result.add(new
YamlDataNode(ShardingNodeConverter.getKeyGeneratorPath(each.getKey()),
YamlEngine.marshal(algorithmSwapper.swapToYamlConfiguration(each.getValue()))));
}
for (Entry<String, AlgorithmConfiguration> each :
data.getAuditors().entrySet()) {
- result.add(new
YamlDataNode(ShardingNodeConverter.getAuditorPath(each.getKey()),
YamlEngine.marshal(each.getValue())));
+ result.add(new
YamlDataNode(ShardingNodeConverter.getAuditorPath(each.getKey()),
YamlEngine.marshal(algorithmSwapper.swapToYamlConfiguration(each.getValue()))));
}
}