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 d0ea924  minor refactor for RQL (#10488)
d0ea924 is described below

commit d0ea9246c5c937fc6a37e0b43000a50fbbdad2c5
Author: Haoran Meng <[email protected]>
AuthorDate: Wed May 26 17:46:30 2021 +0800

    minor refactor for RQL (#10488)
    
    Co-authored-by: menghaoranss <[email protected]>
---
 .../rql/impl/DatabaseDiscoveryRulesQueryBackendHandler.java    | 10 ++++++++--
 .../rql/impl/ReadwriteSplittingRulesQueryBackendHandler.java   | 10 ++++++++--
 .../rql/impl/ShardingBindingTableRulesQueryBackendHandler.java |  2 +-
 .../impl/ShardingBroadcastTableRulesQueryBackendHandler.java   |  2 +-
 .../impl/DatabaseDiscoveryRulesQueryBackendHandlerTest.java    |  2 +-
 .../impl/ReadwriteSplittingRulesQueryBackendHandlerTest.java   |  4 ++--
 6 files changed, 21 insertions(+), 9 deletions(-)

diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandler.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandler.java
index 4fd1a79..fb035f9 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandler.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandler.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.proxy.backend.text.distsql.rql.impl;
 
+import com.google.common.base.Joiner;
 import com.google.common.collect.Maps;
 import 
org.apache.shardingsphere.dbdiscovery.api.config.DatabaseDiscoveryRuleConfiguration;
 import 
org.apache.shardingsphere.dbdiscovery.api.config.rule.DatabaseDiscoveryDataSourceRuleConfiguration;
@@ -37,7 +38,10 @@ import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Optional;
+import java.util.Properties;
+import java.util.stream.Collectors;
 
 /**
  * Backend handler for show database discovery rules.
@@ -82,8 +86,10 @@ public final class DatabaseDiscoveryRulesQueryBackendHandler 
extends SchemaRequi
     @Override
     public Collection<Object> getRowData() {
         DatabaseDiscoveryDataSourceRuleConfiguration ruleConfig = data.next();
-        return Arrays.asList(ruleConfig.getName(), 
ruleConfig.getDataSourceNames(),
+        Properties discoverProps = 
discoverTypes.get(ruleConfig.getDiscoveryTypeName()).getProps();
+        return Arrays.asList(ruleConfig.getName(), 
Joiner.on(",").join(ruleConfig.getDataSourceNames()),
                 discoverTypes.get(ruleConfig.getDiscoveryTypeName()).getType(),
-                
discoverTypes.get(ruleConfig.getDiscoveryTypeName()).getProps());
+                Objects.nonNull(discoverProps) ? 
Joiner.on(",").join(discoverProps.entrySet().stream()
+                        .map(each -> Joiner.on(":").join(each.getKey(), 
each.getValue())).collect(Collectors.toList())) : "");
     }
 }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandler.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandler.java
index 1b4d92e..c6dbce1 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandler.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandler.java
@@ -17,6 +17,7 @@
 
 package org.apache.shardingsphere.proxy.backend.text.distsql.rql.impl;
 
+import com.google.common.base.Joiner;
 import com.google.common.collect.Maps;
 import 
org.apache.shardingsphere.distsql.parser.statement.rql.show.ShowReadwriteSplittingRulesStatement;
 import 
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
@@ -37,7 +38,10 @@ import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Optional;
+import java.util.Properties;
+import java.util.stream.Collectors;
 
 /**
  * Backend handler for show readwrite splitting rules.
@@ -84,9 +88,11 @@ public final class 
ReadwriteSplittingRulesQueryBackendHandler extends SchemaRequ
     @Override
     public Collection<Object> getRowData() {
         ReadwriteSplittingDataSourceRuleConfiguration ruleConfig = data.next();
+        Properties loadBalancerProps = 
loadBalancers.get(ruleConfig.getLoadBalancerName()).getProps();
         return Arrays.asList(ruleConfig.getName(), 
ruleConfig.getAutoAwareDataSourceName(),
-                ruleConfig.getWriteDataSourceName(), 
ruleConfig.getReadDataSourceNames(),
+                ruleConfig.getWriteDataSourceName(), 
Joiner.on(",").join(ruleConfig.getReadDataSourceNames()),
                 loadBalancers.get(ruleConfig.getLoadBalancerName()).getType(),
-                
loadBalancers.get(ruleConfig.getLoadBalancerName()).getProps());
+                Objects.nonNull(loadBalancerProps) ? 
Joiner.on(",").join(loadBalancerProps.entrySet().stream()
+                        .map(each -> Joiner.on(":").join(each.getKey(), 
each.getValue())).collect(Collectors.toList())) : "");
     }
 }
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBindingTableRulesQueryBackendHandler.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBindingTableRulesQueryBackendHandler.java
index 3c79b3e..e05b476 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBindingTableRulesQueryBackendHandler.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBindingTableRulesQueryBackendHandler.java
@@ -57,7 +57,7 @@ public final class 
ShardingBindingTableRulesQueryBackendHandler extends SchemaRe
 
     private List<QueryHeader> getQueryHeader() {
         List<QueryHeader> result = new LinkedList<>();
-        result.add(new QueryHeader(schema, "", "shardingBindingTable", 
"shardingBindingTable", Types.CHAR, "CHAR", 255, 0, false, false, false, 
false));
+        result.add(new QueryHeader(schema, "", "shardingBindingTables", 
"shardingBindingTables", Types.CHAR, "CHAR", 255, 0, false, false, false, 
false));
         return result;
     }
     
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBroadcastTableRulesQueryBackendHandler.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBroadcastTableRulesQueryBackendHandler.java
index b8485ac..ab7077e 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBroadcastTableRulesQueryBackendHandler.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ShardingBroadcastTableRulesQueryBackendHandler.java
@@ -57,7 +57,7 @@ public final class 
ShardingBroadcastTableRulesQueryBackendHandler extends Schema
 
     private List<QueryHeader> getQueryHeader() {
         List<QueryHeader> result = new LinkedList<>();
-        result.add(new QueryHeader(schema, "", "shardingBroadcastTable", 
"shardingBroadcastTable", Types.CHAR, "CHAR", 255, 0, false, false, false, 
false));
+        result.add(new QueryHeader(schema, "", "shardingBroadcastTables", 
"shardingBroadcastTables", Types.CHAR, "CHAR", 255, 0, false, false, false, 
false));
         return result;
     }
     
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandlerTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandlerTest.java
index 7d6cf18..83091af 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandlerTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/DatabaseDiscoveryRulesQueryBackendHandlerTest.java
@@ -90,7 +90,7 @@ public final class 
DatabaseDiscoveryRulesQueryBackendHandlerTest {
         Collection<Object> rowData = handler.getRowData();
         assertThat(rowData.size(), is(4));
         assertTrue(rowData.contains("ms_group"));
-        assertTrue(rowData.contains(Arrays.asList("ds_0", "ds_1")));
+        assertTrue(rowData.contains("ds_0,ds_1"));
         assertTrue(rowData.contains("MGR"));
     }
 
diff --git 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandlerTest.java
 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandlerTest.java
index c30608e..c92fba3 100644
--- 
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandlerTest.java
+++ 
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/test/java/org/apache/shardingsphere/proxy/backend/text/distsql/rql/impl/ReadwriteSplittingRulesQueryBackendHandlerTest.java
@@ -92,9 +92,9 @@ public final class 
ReadwriteSplittingRulesQueryBackendHandlerTest {
         assertTrue(rowData.contains("pr_ds"));
         assertTrue(rowData.contains("ms_group"));
         assertTrue(rowData.contains("ds_primary"));
-        assertTrue(rowData.contains(Arrays.asList("ds_slave_0", 
"ds_slave_1")));
+        assertTrue(rowData.contains("ds_slave_0,ds_slave_1"));
         assertTrue(rowData.contains("random"));
-        assertTrue(rowData.contains(buildProps()));
+        assertTrue(rowData.contains("read_weight:2:1"));
     }
 
     private ReadwriteSplittingRuleConfiguration 
buildReadwriteSplittingRuleConfiguration() {

Reply via email to