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

zhangliang 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 bea4c9ad867 Refactor ShardingSphereMetaData (#28170)
bea4c9ad867 is described below

commit bea4c9ad867ece0cdfc8b8aedaf6f5fbcbc38be7
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Aug 18 23:16:26 2023 +0800

    Refactor ShardingSphereMetaData (#28170)
    
    * Refactor ShardingSphereMetaData
    
    * Refactor ShardingSphereMetaData
---
 .../apache/shardingsphere/infra/metadata/ShardingSphereMetaData.java | 2 +-
 .../shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java    | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaData.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaData.java
index f0c73d75af9..6b01992d6ee 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaData.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaData.java
@@ -123,6 +123,6 @@ public final class ShardingSphereMetaData {
         
database.getRuleMetaData().findRules(ResourceHeldRule.class).forEach(each -> 
each.closeStaleResource(databaseName));
         
database.getRuleMetaData().findSingleRule(StaticDataSourceContainedRule.class).ifPresent(StaticDataSourceContainedRule::cleanStorageNodeDataSources);
         Optional.ofNullable(database.getResourceMetaData())
-                .ifPresent(optional -> 
optional.getStorageUnitMetaData().getDataSources().values().forEach(each -> 
database.getResourceMetaData().close(each)));
+                .ifPresent(optional -> 
optional.getStorageUnitMetaData().getStorageUnits().values().forEach(each -> 
database.getResourceMetaData().close(each.getDataSource())));
     }
 }
diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
index 4ddea502a4d..da1846beea8 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/ShardingSphereMetaDataTest.java
@@ -23,6 +23,7 @@ import 
org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.instance.InstanceContext;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaData;
+import 
org.apache.shardingsphere.infra.metadata.database.resource.storage.StorageUnit;
 import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
 import org.apache.shardingsphere.infra.rule.identifier.type.ResourceHeldRule;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
@@ -89,7 +90,9 @@ class ShardingSphereMetaDataTest {
         ShardingSphereDatabase result = mock(ShardingSphereDatabase.class);
         when(result.getName()).thenReturn("foo_db");
         when(result.getResourceMetaData()).thenReturn(resourceMetaData);
-        
when(result.getResourceMetaData().getStorageUnitMetaData().getDataSources()).thenReturn(Collections.singletonMap("foo_db",
 dataSource));
+        StorageUnit storageUnit = mock(StorageUnit.class);
+        when(storageUnit.getDataSource()).thenReturn(dataSource);
+        
when(result.getResourceMetaData().getStorageUnitMetaData().getStorageUnits()).thenReturn(Collections.singletonMap("foo_db",
 storageUnit));
         when(result.getRuleMetaData()).thenReturn(new 
RuleMetaData(Collections.singleton(databaseResourceHeldRule)));
         return result;
     }

Reply via email to