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 e510edbe0f3 Minor refactor for MetaDataImportExecutor and 
StandaloneContextManagerBuilder (#34990)
e510edbe0f3 is described below

commit e510edbe0f3476ab5fbaaf9e8a89f2d693100dc8
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Fri Mar 14 15:51:31 2025 +0800

    Minor refactor for MetaDataImportExecutor and 
StandaloneContextManagerBuilder (#34990)
---
 .../StandaloneContextManagerBuilder.java           |  4 ++--
 .../proxy/backend/util/MetaDataImportExecutor.java | 26 +++++++++++++---------
 2 files changed, 18 insertions(+), 12 deletions(-)

diff --git 
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
 
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
index 87ba37a632c..6f6a79c833d 100644
--- 
a/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
+++ 
b/mode/type/standalone/core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
@@ -43,10 +43,10 @@ public final class StandaloneContextManagerBuilder 
implements ContextManagerBuil
     @Override
     public ContextManager build(final ContextManagerBuilderParameter param, 
final EventBusContext eventBusContext) throws SQLException {
         PersistRepositoryConfiguration repositoryConfig = 
param.getModeConfiguration().getRepository();
-        StandalonePersistRepository repository = TypedSPILoader.getService(
-                StandalonePersistRepository.class, null == repositoryConfig ? 
null : repositoryConfig.getType(), null == repositoryConfig ? new Properties() 
: repositoryConfig.getProps());
         ComputeNodeInstanceContext computeNodeInstanceContext = new 
ComputeNodeInstanceContext(new 
ComputeNodeInstance(param.getInstanceMetaData()), param.getModeConfiguration(), 
eventBusContext);
         computeNodeInstanceContext.init(new StandaloneWorkerIdGenerator(), new 
StandaloneLockContext());
+        StandalonePersistRepository repository = TypedSPILoader.getService(
+                StandalonePersistRepository.class, null == repositoryConfig ? 
null : repositoryConfig.getType(), null == repositoryConfig ? new Properties() 
: repositoryConfig.getProps());
         MetaDataContexts metaDataContexts = new MetaDataContextsFactory(new 
MetaDataPersistFacade(repository), computeNodeInstanceContext).create(param);
         return new ContextManager(metaDataContexts, 
computeNodeInstanceContext, repository);
     }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/MetaDataImportExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/MetaDataImportExecutor.java
index 8ecf5eea812..c7286e529b3 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/MetaDataImportExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/util/MetaDataImportExecutor.java
@@ -27,7 +27,9 @@ import 
org.apache.shardingsphere.proxy.backend.config.yaml.YamlProxyServerConfig
 import org.apache.shardingsphere.proxy.backend.distsql.export.ExportedMetaData;
 
 import java.util.Collection;
-import java.util.LinkedList;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Map.Entry;
 
 /**
  * Metadata import executor.
@@ -52,13 +54,13 @@ public final class MetaDataImportExecutor {
      * @param exportedMetaData exported metadata
      */
     public void importClusterConfigurations(final ExportedMetaData 
exportedMetaData) {
-        Collection<YamlProxyDatabaseConfiguration> databaseConfigs = 
getYamlProxyDatabaseConfigurations(exportedMetaData);
-        importServerConfiguration(exportedMetaData);
-        importDatabaseConfigurations(databaseConfigs);
+        Map<String, YamlProxyDatabaseConfiguration> databaseConfigs = 
getYamlProxyDatabaseConfigurations(exportedMetaData);
+        YamlProxyServerConfiguration yamlServerConfig = 
getYamlServerConfig(exportedMetaData);
+        importServerConfiguration(yamlServerConfig);
+        importDatabaseConfigurations(databaseConfigs.values());
     }
     
-    private void importServerConfiguration(final ExportedMetaData 
exportedMetaData) {
-        YamlProxyServerConfiguration yamlServerConfig = 
YamlEngine.unmarshal(exportedMetaData.getRules() + System.lineSeparator() + 
exportedMetaData.getProps(), YamlProxyServerConfiguration.class);
+    private void importServerConfiguration(final YamlProxyServerConfiguration 
yamlServerConfig) {
         if (null == yamlServerConfig) {
             return;
         }
@@ -77,14 +79,18 @@ public final class MetaDataImportExecutor {
         
contextManager.getPersistServiceFacade().getModePersistServiceFacade().getMetaDataManagerPersistService().alterProperties(yamlServerConfig.getProps());
     }
     
-    private Collection<YamlProxyDatabaseConfiguration> 
getYamlProxyDatabaseConfigurations(final ExportedMetaData exportedMetaData) {
-        Collection<YamlProxyDatabaseConfiguration> result = new LinkedList<>();
-        for (String each : exportedMetaData.getDatabases().values()) {
-            result.add(YamlEngine.unmarshal(each, 
YamlProxyDatabaseConfiguration.class));
+    private Map<String, YamlProxyDatabaseConfiguration> 
getYamlProxyDatabaseConfigurations(final ExportedMetaData exportedMetaData) {
+        Map<String, YamlProxyDatabaseConfiguration> result = new 
LinkedHashMap<>();
+        for (Entry<String, String> entry : 
exportedMetaData.getDatabases().entrySet()) {
+            result.put(entry.getKey(), YamlEngine.unmarshal(entry.getValue(), 
YamlProxyDatabaseConfiguration.class));
         }
         return result;
     }
     
+    private YamlProxyServerConfiguration getYamlServerConfig(final 
ExportedMetaData exportedMetaData) {
+        return YamlEngine.unmarshal(exportedMetaData.getRules() + 
System.lineSeparator() + exportedMetaData.getProps(), 
YamlProxyServerConfiguration.class);
+    }
+    
     /**
      * Import database configurations.
      *

Reply via email to