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 b1c25f4  Refactor for ShardingTableRuleQueryResultSet (#13055)
b1c25f4 is described below

commit b1c25f4285d970998fd2b846530896f33893df0e
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Oct 15 11:36:08 2021 +0800

    Refactor for ShardingTableRuleQueryResultSet (#13055)
    
    * Refactor for ShardingTableRuleQueryResultSet
    
    * Refactor for ShardingTableRuleQueryResultSet
---
 .../query/ShardingTableRuleQueryResultSet.java     | 26 ++++++++++++----------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRuleQueryResultSet.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRuleQueryResultSet.java
index b819c28..ffd4fad 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRuleQueryResultSet.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-distsql/shardingsphere-sharding-distsql-handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRuleQueryResultSet.java
@@ -93,12 +93,14 @@ public final class ShardingTableRuleQueryResultSet 
implements DistSQLResultSet {
         result.add("");
         result.add(getDatabaseStrategyType(shardingTableRuleConfig));
         result.add(getDatabaseShardingColumn(shardingTableRuleConfig));
-        
result.add(getAlgorithmType(getDatabaseShardingStrategy(shardingTableRuleConfig)));
-        
result.add(getAlgorithmProps(getDatabaseShardingStrategy(shardingTableRuleConfig)));
+        Optional<ShardingStrategyConfiguration> databaseShardingStrategyConfig 
= getDatabaseShardingStrategy(shardingTableRuleConfig);
+        
result.add(databaseShardingStrategyConfig.map(this::getAlgorithmType).orElse(""));
+        
result.add(databaseShardingStrategyConfig.map(this::getAlgorithmProperties).orElse(""));
         
result.add(getTableStrategyType(shardingTableRuleConfig.getTableShardingStrategy()));
         
result.add(getTableShardingColumn(shardingTableRuleConfig.getTableShardingStrategy()));
-        
result.add(getAlgorithmType(getTableShardingStrategy(shardingTableRuleConfig.getTableShardingStrategy())));
-        
result.add(getAlgorithmProps(getTableShardingStrategy(shardingTableRuleConfig.getTableShardingStrategy())));
+        Optional<ShardingStrategyConfiguration> tableShardingStrategyConfig = 
getTableShardingStrategy(shardingTableRuleConfig.getTableShardingStrategy());
+        
result.add(tableShardingStrategyConfig.map(this::getAlgorithmType).orElse(""));
+        
result.add(tableShardingStrategyConfig.map(this::getAlgorithmProperties).orElse(""));
         
result.add(getKeyGenerateColumn(shardingTableRuleConfig.getKeyGenerateStrategy()));
         
result.add(getKeyGeneratorType(shardingTableRuleConfig.getKeyGenerateStrategy()));
         
result.add(getKeyGeneratorProps(shardingTableRuleConfig.getKeyGenerateStrategy()));
@@ -116,8 +118,9 @@ public final class ShardingTableRuleQueryResultSet 
implements DistSQLResultSet {
         result.add("");
         
result.add(getTableStrategyType(shardingAutoTableRuleConfig.getShardingStrategy()));
         
result.add(getTableShardingColumn(shardingAutoTableRuleConfig.getShardingStrategy()));
-        
result.add(getAlgorithmType(getTableShardingStrategy(shardingAutoTableRuleConfig.getShardingStrategy())));
-        
result.add(getAlgorithmProps(getTableShardingStrategy(shardingAutoTableRuleConfig.getShardingStrategy())));
+        Optional<ShardingStrategyConfiguration> tableShardingStrategyConfig = 
getTableShardingStrategy(shardingAutoTableRuleConfig.getShardingStrategy());
+        
result.add(tableShardingStrategyConfig.map(this::getAlgorithmType).orElse(""));
+        
result.add(tableShardingStrategyConfig.map(this::getAlgorithmProperties).orElse(""));
         
result.add(getKeyGenerateColumn(shardingAutoTableRuleConfig.getKeyGenerateStrategy()));
         
result.add(getKeyGeneratorType(shardingAutoTableRuleConfig.getKeyGenerateStrategy()));
         
result.add(getKeyGeneratorProps(shardingAutoTableRuleConfig.getKeyGenerateStrategy()));
@@ -145,14 +148,13 @@ public final class ShardingTableRuleQueryResultSet 
implements DistSQLResultSet {
         return "";
     }
     
-    private String getAlgorithmType(final 
Optional<ShardingStrategyConfiguration> databaseShardingStrategy) {
-        return databaseShardingStrategy.isPresent() && 
!(databaseShardingStrategy.get() instanceof NoneShardingStrategyConfiguration)
-                ? 
getAlgorithmConfiguration(databaseShardingStrategy.get().getShardingAlgorithmName()).getType()
 : "";
+    private String getAlgorithmType(final ShardingStrategyConfiguration 
databaseShardingStrategy) {
+        return databaseShardingStrategy instanceof 
NoneShardingStrategyConfiguration ? "" : 
getAlgorithmConfiguration(databaseShardingStrategy.getShardingAlgorithmName()).getType();
     }
     
-    private String getAlgorithmProps(final 
Optional<ShardingStrategyConfiguration> databaseShardingStrategy) {
-        return databaseShardingStrategy.isPresent() && 
!(databaseShardingStrategy.get() instanceof NoneShardingStrategyConfiguration)
-                ? 
PropertiesConverter.convert(getAlgorithmConfiguration(databaseShardingStrategy.get().getShardingAlgorithmName()).getProps())
 : "";
+    private String getAlgorithmProperties(final ShardingStrategyConfiguration 
databaseShardingStrategy) {
+        return databaseShardingStrategy instanceof 
NoneShardingStrategyConfiguration
+                ? "" : 
PropertiesConverter.convert(getAlgorithmConfiguration(databaseShardingStrategy.getShardingAlgorithmName()).getProps());
     }
     
     private Optional<ShardingStrategyConfiguration> 
getDatabaseShardingStrategy(final ShardingTableRuleConfiguration 
shardingTableRuleConfig) {

Reply via email to