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

sunnianjun 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 a045635dc80 Refactor YamlReadwriteSplittingRuleConfigurationSwapper 
(#30901)
a045635dc80 is described below

commit a045635dc80ba539e07ebc7a15bfef4064820a59
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Apr 15 20:20:19 2024 +0800

    Refactor YamlReadwriteSplittingRuleConfigurationSwapper (#30901)
    
    * Refactor YamlReadwriteSplittingRuleConfigurationSwapper
    
    * Refactor YamlReadwriteSplittingRuleConfigurationSwapper
---
 ...amlReadwriteSplittingRuleConfigurationSwapper.java | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

diff --git 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/YamlReadwriteSplittingRuleConfigurationSwapper.java
 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/YamlReadwriteSplittingRuleConfigurationSwapper.java
index c8bd31f75ad..feccff89f82 100644
--- 
a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/YamlReadwriteSplittingRuleConfigurationSwapper.java
+++ 
b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/yaml/swapper/YamlReadwriteSplittingRuleConfigurationSwapper.java
@@ -29,8 +29,8 @@ import 
org.apache.shardingsphere.readwritesplitting.yaml.config.YamlReadwriteSpl
 import 
org.apache.shardingsphere.readwritesplitting.yaml.config.rule.YamlReadwriteSplittingDataSourceRuleConfiguration;
 
 import java.util.Collection;
+import java.util.Collections;
 import java.util.LinkedHashMap;
-import java.util.LinkedList;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.stream.Collectors;
@@ -38,9 +38,7 @@ import java.util.stream.Collectors;
 /**
  * YAML readwrite-splitting rule configuration swapper.
  */
-public final class YamlReadwriteSplittingRuleConfigurationSwapper
-        implements
-            
YamlRuleConfigurationSwapper<YamlReadwriteSplittingRuleConfiguration, 
ReadwriteSplittingRuleConfiguration> {
+public final class YamlReadwriteSplittingRuleConfigurationSwapper implements 
YamlRuleConfigurationSwapper<YamlReadwriteSplittingRuleConfiguration, 
ReadwriteSplittingRuleConfiguration> {
     
     private final YamlAlgorithmConfigurationSwapper algorithmSwapper = new 
YamlAlgorithmConfigurationSwapper();
     
@@ -66,14 +64,11 @@ public final class 
YamlReadwriteSplittingRuleConfigurationSwapper
     
     @Override
     public ReadwriteSplittingRuleConfiguration swapToObject(final 
YamlReadwriteSplittingRuleConfiguration yamlConfig) {
-        Collection<ReadwriteSplittingDataSourceRuleConfiguration> dataSources 
= new LinkedList<>();
-        for (Entry<String, YamlReadwriteSplittingDataSourceRuleConfiguration> 
entry : yamlConfig.getDataSources().entrySet()) {
-            dataSources.add(swapToObject(entry.getKey(), entry.getValue()));
-        }
-        Map<String, AlgorithmConfiguration> loadBalancerMap = new 
LinkedHashMap<>(yamlConfig.getLoadBalancers().entrySet().size(), 1F);
-        if (null != yamlConfig.getLoadBalancers()) {
-            yamlConfig.getLoadBalancers().forEach((key, value) -> 
loadBalancerMap.put(key, algorithmSwapper.swapToObject(value)));
-        }
+        Collection<ReadwriteSplittingDataSourceRuleConfiguration> dataSources 
= yamlConfig.getDataSources().entrySet().stream()
+                .map(entry -> swapToObject(entry.getKey(), 
entry.getValue())).collect(Collectors.toList());
+        Map<String, AlgorithmConfiguration> loadBalancerMap = null == 
yamlConfig.getLoadBalancers()
+                ? Collections.emptyMap()
+                : 
yamlConfig.getLoadBalancers().entrySet().stream().collect(Collectors.toMap(Entry::getKey,
 entry -> algorithmSwapper.swapToObject(entry.getValue())));
         return new ReadwriteSplittingRuleConfiguration(dataSources, 
loadBalancerMap);
     }
     

Reply via email to