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.
*