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

[shardingsphere] branch master updated: refactor for MetaDataChangedEvent (#7813)

This is an automated email from the ASF dual-hosted git repository.

menghaoran 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 2f4efe2  refactor for MetaDataChangedEvent (#7813)
2f4efe2 is described below

commit 2f4efe2d95e2fffe6789f4fbcfd04213373e8d24
Author: kimmking <ki...@163.com>
AuthorDate: Fri Oct 16 18:55:10 2020 +0800

    refactor for MetaDataChangedEvent (#7813)
---
 .../governance/core/event/model/metadata/MetaDataChangedEvent.java   | 5 +----
 .../governance/core/config/listener/SchemaChangedListener.java       | 2 +-
 .../governance/context/schema/GovernanceSchemaContexts.java          | 2 +-
 .../governance/context/schema/GovernanceSchemaContextsTest.java      | 4 ++--
 4 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/event/model/metadata/MetaDataChangedEvent.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/event/model/metadata/MetaDataChangedEvent.java
index 6131c1c..3a038fa 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/event/model/metadata/MetaDataChangedEvent.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/event/model/metadata/MetaDataChangedEvent.java
@@ -22,8 +22,6 @@ import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.governance.core.event.model.GovernanceEvent;
 import org.apache.shardingsphere.infra.metadata.model.logic.LogicSchemaMetaData;
 
-import java.util.Collection;
-
 /**
  * Meta data changed event.
  */
@@ -31,8 +29,7 @@ import java.util.Collection;
 @Getter
 public final class MetaDataChangedEvent implements GovernanceEvent {
 
-    // TODO Confirm whether it must be a collection
-    private final Collection<String> schemaNames;
+    private final String schemaName;
 
     private final LogicSchemaMetaData logicSchemaMetaData;
 }
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/main/java/org/apache/shardingsphere/governance/core/config/listener/SchemaChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/main/java/org/apache/shardingsphere/governance/core/config/listener/SchemaChangedListener.java
index 7b6f5b1..b082b5e 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/main/java/org/apache/shardingsphere/governance/core/config/listener/SchemaChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/main/java/org/apache/shardingsphere/governance/core/config/listener/SchemaChangedListener.java
@@ -143,6 +143,6 @@ public final class SchemaChangedListener extends PostGovernanceRepositoryEventLi
     
     private GovernanceEvent createMetaDataChangedEvent(final String schemaName, final DataChangedEvent event) {
         LogicSchemaMetaData logicSchemaMetaData = new LogicSchemaMetaDataYamlSwapper().swapToObject(YamlEngine.unmarshal(event.getValue(), YamlLogicSchemaMetaData.class));
-        return new MetaDataChangedEvent(Collections.singleton(schemaName), logicSchemaMetaData);
+        return new MetaDataChangedEvent(schemaName, logicSchemaMetaData);
     }
 }
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/main/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContexts.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/main/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContexts.java
index a658808..54b9634 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/main/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContexts.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/main/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContexts.java
@@ -220,7 +220,7 @@ public final class GovernanceSchemaContexts implements SchemaContexts {
         for (Entry<String, ShardingSphereSchema> entry : schemaContexts.getSchemas().entrySet()) {
             String schemaName = entry.getKey();
             ShardingSphereSchema oldSchema = entry.getValue();
-            ShardingSphereSchema newSchema = event.getSchemaNames().contains(schemaName) ? getChangedShardingSphereSchema(oldSchema, event.getLogicSchemaMetaData(), schemaName) : oldSchema;
+            ShardingSphereSchema newSchema = event.getSchemaName().equals(schemaName) ? getChangedShardingSphereSchema(oldSchema, event.getLogicSchemaMetaData(), schemaName) : oldSchema;
             newSchemas.put(schemaName, newSchema);
         }
         schemaContexts = new StandardSchemaContexts(newSchemas, schemaContexts.getSqlParserEngine(), schemaContexts.getExecutorKernel(), 
diff --git a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/test/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContextsTest.java b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/test/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContextsTest.java
index 1cf71b6..7fd12cf 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/test/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContextsTest.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-context/src/test/java/org/apache/shardingsphere/governance/context/schema/GovernanceSchemaContextsTest.java
@@ -191,7 +191,7 @@ public final class GovernanceSchemaContextsTest {
     
     @Test
     public void assertMetaDataChanged() {
-        MetaDataChangedEvent event = new MetaDataChangedEvent(Collections.singletonList("schema_changed"), mock(LogicSchemaMetaData.class));
+        MetaDataChangedEvent event = new MetaDataChangedEvent("schema_changed", mock(LogicSchemaMetaData.class));
         governanceSchemaContexts.renew(event);
         assertTrue(governanceSchemaContexts.getSchemas().containsKey("schema"));
         assertFalse(governanceSchemaContexts.getSchemas().containsKey("schema_changed"));
@@ -199,7 +199,7 @@ public final class GovernanceSchemaContextsTest {
     
     @Test
     public void assertMetaDataChangedWithExistSchema() {
-        MetaDataChangedEvent event = new MetaDataChangedEvent(Collections.singletonList("schema"), mock(LogicSchemaMetaData.class));
+        MetaDataChangedEvent event = new MetaDataChangedEvent("schema", mock(LogicSchemaMetaData.class));
         governanceSchemaContexts.renew(event);
         assertThat(governanceSchemaContexts.getSchemas().get("schema"), not(schema));
     }