This is an automated email from the ASF dual-hosted git repository. duanzhengqiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push: new e785816 Add addressingDataSources in reg center (#8123) e785816 is described below commit e785816d1d267911e8cfdcd430b052bce976fd47 Author: Liang Zhang <terrym...@163.com> AuthorDate: Tue Nov 10 23:56:16 2020 +0800 Add addressingDataSources in reg center (#8123) --- .../governance/core/yaml/config/schema/YamlTableMetaData.java | 3 +++ .../governance/core/yaml/swapper/SchemaYamlSwapper.java | 5 ++++- .../governance/core/yaml/swapper/SchemaYamlSwapperTest.java | 7 +++++++ .../src/test/resources/yaml/schema.yaml | 3 +++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/schema/YamlTableMetaData.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/schema/YamlTableMetaData.java index 6125b32..ee4bb60 100644 --- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/schema/YamlTableMetaData.java +++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/schema/YamlTableMetaData.java @@ -21,6 +21,7 @@ import lombok.Getter; import lombok.Setter; import org.apache.shardingsphere.infra.yaml.config.YamlConfiguration; +import java.util.Collection; import java.util.Map; /** @@ -33,4 +34,6 @@ public final class YamlTableMetaData implements YamlConfiguration { private Map<String, YamlColumnMetaData> columns; private Map<String, YamlIndexMetaData> indexes; + + private Collection<String> addressingDataSources; } diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/yaml/swapper/SchemaYamlSwapper.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/yaml/swapper/SchemaYamlSwapper.java index 10fe6ce..8b9c131 100644 --- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/yaml/swapper/SchemaYamlSwapper.java +++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/yaml/swapper/SchemaYamlSwapper.java @@ -60,7 +60,9 @@ public final class SchemaYamlSwapper implements YamlSwapper<YamlSchema, Sharding } private TableMetaData convertTable(final YamlTableMetaData table) { - return new TableMetaData(convertColumns(table.getColumns()), convertIndexes(table.getIndexes())); + TableMetaData result = new TableMetaData(convertColumns(table.getColumns()), convertIndexes(table.getIndexes())); + result.getAddressingDataSources().addAll(table.getAddressingDataSources()); + return result; } private Collection<IndexMetaData> convertIndexes(final Map<String, YamlIndexMetaData> indexes) { @@ -83,6 +85,7 @@ public final class SchemaYamlSwapper implements YamlSwapper<YamlSchema, Sharding YamlTableMetaData result = new YamlTableMetaData(); result.setColumns(convertYamlColumns(table.getColumns())); result.setIndexes(convertYamlIndexes(table.getIndexes())); + result.setAddressingDataSources(table.getAddressingDataSources()); return result; } diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/java/org/apache/shardingsphere/governance/core/yaml/swapper/SchemaYamlSwapperTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/java/org/apache/shardingsphere/governance/core/yaml/swapper/SchemaYamlSwapperTest.java index ea43734..6c3d44f 100644 --- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/java/org/apache/shardingsphere/governance/core/yaml/swapper/SchemaYamlSwapperTest.java +++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/java/org/apache/shardingsphere/governance/core/yaml/swapper/SchemaYamlSwapperTest.java @@ -33,6 +33,7 @@ import java.util.stream.Collectors; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; public final class SchemaYamlSwapperTest { @@ -46,6 +47,9 @@ public final class SchemaYamlSwapperTest { assertThat(yamlSchema.getTables().keySet(), is(Collections.singleton("t_order"))); assertThat(yamlSchema.getTables().get("t_order").getIndexes().keySet(), is(Collections.singleton("primary"))); assertThat(yamlSchema.getTables().get("t_order").getColumns().keySet(), is(Collections.singleton("id"))); + assertThat(yamlSchema.getTables().get("t_order").getAddressingDataSources().size(), is(2)); + assertTrue(yamlSchema.getTables().get("t_order").getAddressingDataSources().contains("ds_0")); + assertTrue(yamlSchema.getTables().get("t_order").getAddressingDataSources().contains("ds_1")); } @Test @@ -56,6 +60,9 @@ public final class SchemaYamlSwapperTest { assertThat(schema.get("t_order").getIndexes().keySet(), is(Collections.singleton("primary"))); assertThat(schema.getAllColumnNames("t_order").size(), is(1)); assertThat(schema.get("t_order").getColumns().keySet(), is(Collections.singleton("id"))); + assertThat(schema.get("t_order").getAddressingDataSources().size(), is(2)); + assertTrue(schema.get("t_order").getAddressingDataSources().contains("ds_0")); + assertTrue(schema.get("t_order").getAddressingDataSources().contains("ds_1")); } @SneakyThrows({URISyntaxException.class, IOException.class}) diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/resources/yaml/schema.yaml b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/resources/yaml/schema.yaml index ec02090..32d485f 100644 --- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/resources/yaml/schema.yaml +++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/resources/yaml/schema.yaml @@ -27,3 +27,6 @@ tables: indexes: primary: name: PRIMARY + addressingDataSources: + - ds_0 + - ds_1