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:
[email protected]
With regards,
Apache Git Services