You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by GitBox <gi...@apache.org> on 2020/03/20 09:47:48 UTC

[GitHub] [incubator-shardingsphere] kimmking commented on a change in pull request #4863: shadingRule lambda modify.

kimmking commented on a change in pull request #4863: shadingRule lambda modify.
URL: https://github.com/apache/incubator-shardingsphere/pull/4863#discussion_r395528765
 
 

 ##########
 File path: sharding-core/sharding-core-common/src/main/java/org/apache/shardingsphere/core/rule/ShardingRule.java
 ##########
 @@ -85,36 +85,29 @@ public ShardingRule(final ShardingRuleConfiguration shardingRuleConfig, final Co
     }
     
     private Collection<TableRule> createTableRules(final ShardingRuleConfiguration shardingRuleConfig) {
-        Collection<TableRuleConfiguration> tableRuleConfigurations = shardingRuleConfig.getTableRuleConfigs();
-        Collection<TableRule> result = new ArrayList<>(tableRuleConfigurations.size());
-        for (TableRuleConfiguration each : tableRuleConfigurations) {
-            result.add(new TableRule(each, shardingDataSourceNames, getDefaultGenerateKeyColumn(shardingRuleConfig)));
-        }
-        return result;
+        return shardingRuleConfig.getTableRuleConfigs().stream()
+        .map(each -> new TableRule(each, shardingDataSourceNames, getDefaultGenerateKeyColumn(shardingRuleConfig)))
+        .collect(Collectors.toList());
     }
     
     private String getDefaultGenerateKeyColumn(final ShardingRuleConfiguration shardingRuleConfig) {
-        return null == shardingRuleConfig.getDefaultKeyGeneratorConfig() ? null : shardingRuleConfig.getDefaultKeyGeneratorConfig().getColumn();
+        return Optional.ofNullable(shardingRuleConfig.getDefaultKeyGeneratorConfig()).map(KeyGeneratorConfiguration::getColumn).orElse(null);
     }
     
     private Collection<BindingTableRule> createBindingTableRules(final Collection<String> bindingTableGroups) {
-        Collection<BindingTableRule> result = new ArrayList<>(bindingTableGroups.size());
-        for (String each : bindingTableGroups) {
-            result.add(createBindingTableRule(each));
-        }
-        return result;
+        return bindingTableGroups.stream().map(this::createBindingTableRule).collect(Collectors.toList());
     }
     
     private BindingTableRule createBindingTableRule(final String bindingTableGroup) {
-        List<TableRule> tableRules = new LinkedList<>();
-        for (String each : Splitter.on(",").trimResults().splitToList(bindingTableGroup)) {
-            tableRules.add(getTableRule(each));
-        }
+        List<TableRule> tableRules = Splitter.on(",").trimResults()
+                .splitToList(bindingTableGroup).stream()
 
 Review comment:
   one line is better.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services