You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2020/11/10 16:06:15 UTC

[shardingsphere] branch master updated: Add addressingDataSources in reg center (#8123)

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 <te...@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