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 78f5910054b Refactor RuleConfigurationToDistSQLConverter (#30608)
78f5910054b is described below

commit 78f5910054bcd3849684024d51934776b397a9fa
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Mar 22 17:05:12 2024 +0800

    Refactor RuleConfigurationToDistSQLConverter (#30608)
---
 ...=> BroadcastRuleConfigurationToDistSQLConverter.java} | 15 +++++----------
 ...uery.ral.convert.RuleConfigurationToDistSQLConverter} |  2 +-
 ...a => EncryptRuleConfigurationToDistSQLConverter.java} | 13 ++++---------
 ...uery.ral.convert.RuleConfigurationToDistSQLConverter} |  2 +-
 ...java => MaskRuleConfigurationToDistSQLConverter.java} | 13 ++++---------
 ...uery.ral.convert.RuleConfigurationToDistSQLConverter} |  2 +-
 ...iteSplittingRuleConfigurationToDistSQLConverter.java} | 13 ++++---------
 ...uery.ral.convert.RuleConfigurationToDistSQLConverter} |  2 +-
 ...va => ShadowRuleConfigurationToDistSQLConverter.java} | 13 ++++---------
 ...uery.ral.convert.RuleConfigurationToDistSQLConverter} |  2 +-
 ... => ShardingRuleConfigurationToDistSQLConverter.java} | 16 +++++++---------
 ...uery.ral.convert.RuleConfigurationToDistSQLConverter} |  2 +-
 ...der.java => RuleConfigurationToDistSQLConverter.java} | 10 ++++++----
 ...va => SingleRuleConfigurationToDistSQLConverter.java} | 15 +++++----------
 ...uery.ral.convert.RuleConfigurationToDistSQLConverter} |  2 +-
 .../ral/queryable/ConvertYamlConfigurationExecutor.java  |  5 +++--
 16 files changed, 49 insertions(+), 78 deletions(-)

diff --git 
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/provider/BroadcastConvertRuleConfigurationProvider.java
 
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/provider/BroadcastRuleConfigurationToDistSQLConverter.java
similarity index 77%
rename from 
features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/provider/BroadcastConvertRuleConfigurationProvider.java
rename to 
features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/provider/BroadcastRuleConfigurationToDistSQLConverter.java
index 233bcdf72a3..7244dcfb19f 100644
--- 
a/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/provider/BroadcastConvertRuleConfigurationProvider.java
+++ 
b/features/broadcast/distsql/handler/src/main/java/org/apache/shardingsphere/broadcast/distsql/handler/provider/BroadcastRuleConfigurationToDistSQLConverter.java
@@ -19,22 +19,17 @@ package 
org.apache.shardingsphere.broadcast.distsql.handler.provider;
 
 import 
org.apache.shardingsphere.broadcast.api.config.BroadcastRuleConfiguration;
 import 
org.apache.shardingsphere.broadcast.distsql.handler.constant.BroadcastDistSQLConstants;
-import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider;
-import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
+import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter;
 
 import java.util.Iterator;
 
 /**
- * Broadcast convert rule configuration provider.
+ * Broadcast rule configuration to DistSQL converter.
  */
-public final class BroadcastConvertRuleConfigurationProvider implements 
ConvertRuleConfigurationProvider {
+public final class BroadcastRuleConfigurationToDistSQLConverter implements 
RuleConfigurationToDistSQLConverter<BroadcastRuleConfiguration> {
     
     @Override
-    public String convert(final RuleConfiguration ruleConfig) {
-        return getBroadcastDistSQL((BroadcastRuleConfiguration) ruleConfig);
-    }
-    
-    private String getBroadcastDistSQL(final BroadcastRuleConfiguration 
ruleConfig) {
+    public String convert(final BroadcastRuleConfiguration ruleConfig) {
         if (ruleConfig.getTables().isEmpty()) {
             return "";
         }
@@ -52,7 +47,7 @@ public final class BroadcastConvertRuleConfigurationProvider 
implements ConvertR
     }
     
     @Override
-    public Class<? extends RuleConfiguration> getType() {
+    public Class<BroadcastRuleConfiguration> getType() {
         return BroadcastRuleConfiguration.class;
     }
 }
diff --git 
a/features/broadcast/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
 
b/features/broadcast/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
similarity index 95%
rename from 
features/broadcast/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
rename to 
features/broadcast/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
index 43fb0a80b70..00ea4265fdb 100644
--- 
a/features/broadcast/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
+++ 
b/features/broadcast/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.broadcast.distsql.handler.provider.BroadcastConvertRuleConfigurationProvider
+org.apache.shardingsphere.broadcast.distsql.handler.provider.BroadcastRuleConfigurationToDistSQLConverter
diff --git 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/provider/EncryptConvertRuleConfigurationProvider.java
 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/provider/EncryptRuleConfigurationToDistSQLConverter.java
similarity index 92%
rename from 
features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/provider/EncryptConvertRuleConfigurationProvider.java
rename to 
features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/provider/EncryptRuleConfigurationToDistSQLConverter.java
index ab9621bee64..b507d9ec66f 100644
--- 
a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/provider/EncryptConvertRuleConfigurationProvider.java
+++ 
b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/provider/EncryptRuleConfigurationToDistSQLConverter.java
@@ -19,30 +19,25 @@ package 
org.apache.shardingsphere.encrypt.distsql.handler.provider;
 
 import com.google.common.base.Strings;
 import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.AlgorithmDistSQLConverter;
-import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider;
+import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter;
 import org.apache.shardingsphere.encrypt.api.config.EncryptRuleConfiguration;
 import 
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnItemRuleConfiguration;
 import 
org.apache.shardingsphere.encrypt.api.config.rule.EncryptColumnRuleConfiguration;
 import 
org.apache.shardingsphere.encrypt.api.config.rule.EncryptTableRuleConfiguration;
 import 
org.apache.shardingsphere.encrypt.distsql.handler.constant.EncryptDistSQLConstants;
 import 
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
-import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.Map;
 
 /**
- * Encrypt convert rule configuration provider.
+ * Encrypt rule configuration to DistSQL converter.
  */
-public final class EncryptConvertRuleConfigurationProvider implements 
ConvertRuleConfigurationProvider {
+public final class EncryptRuleConfigurationToDistSQLConverter implements 
RuleConfigurationToDistSQLConverter<EncryptRuleConfiguration> {
     
     @Override
-    public String convert(final RuleConfiguration ruleConfig) {
-        return getEncryptDistSQL((EncryptRuleConfiguration) ruleConfig);
-    }
-    
-    private String getEncryptDistSQL(final EncryptRuleConfiguration 
ruleConfig) {
+    public String convert(final EncryptRuleConfiguration ruleConfig) {
         if (ruleConfig.getTables().isEmpty()) {
             return "";
         }
diff --git 
a/features/encrypt/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
 
b/features/encrypt/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
similarity index 95%
rename from 
features/encrypt/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
rename to 
features/encrypt/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
index 42003f17cdc..a59f72d2ce4 100644
--- 
a/features/encrypt/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
+++ 
b/features/encrypt/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.encrypt.distsql.handler.provider.EncryptConvertRuleConfigurationProvider
+org.apache.shardingsphere.encrypt.distsql.handler.provider.EncryptRuleConfigurationToDistSQLConverter
diff --git 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskConvertRuleConfigurationProvider.java
 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskRuleConfigurationToDistSQLConverter.java
similarity index 87%
rename from 
features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskConvertRuleConfigurationProvider.java
rename to 
features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskRuleConfigurationToDistSQLConverter.java
index 0c409c383f4..57f49942460 100644
--- 
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskConvertRuleConfigurationProvider.java
+++ 
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskRuleConfigurationToDistSQLConverter.java
@@ -18,9 +18,8 @@
 package org.apache.shardingsphere.mask.distsql.handler.provider;
 
 import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.AlgorithmDistSQLConverter;
-import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider;
+import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter;
 import 
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
-import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import org.apache.shardingsphere.mask.api.config.MaskRuleConfiguration;
 import 
org.apache.shardingsphere.mask.api.config.rule.MaskColumnRuleConfiguration;
 import 
org.apache.shardingsphere.mask.api.config.rule.MaskTableRuleConfiguration;
@@ -31,16 +30,12 @@ import java.util.Iterator;
 import java.util.Map;
 
 /**
- * Mask convert rule configuration provider.
+ * Mask rule configuration to DistSQL converter.
  */
-public final class MaskConvertRuleConfigurationProvider implements 
ConvertRuleConfigurationProvider {
+public final class MaskRuleConfigurationToDistSQLConverter implements 
RuleConfigurationToDistSQLConverter<MaskRuleConfiguration> {
     
     @Override
-    public String convert(final RuleConfiguration ruleConfig) {
-        return getMaskDistSQL((MaskRuleConfiguration) ruleConfig);
-    }
-    
-    private String getMaskDistSQL(final MaskRuleConfiguration ruleConfig) {
+    public String convert(final MaskRuleConfiguration ruleConfig) {
         if (ruleConfig.getTables().isEmpty()) {
             return "";
         }
diff --git 
a/features/mask/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
 
b/features/mask/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
similarity index 89%
rename from 
features/mask/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
rename to 
features/mask/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
index 3f0ac5166b5..b6594e750af 100644
--- 
a/features/mask/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
+++ 
b/features/mask/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.mask.distsql.handler.provider.MaskConvertRuleConfigurationProvider
+org.apache.shardingsphere.mask.distsql.handler.provider.MaskRuleConfigurationToDistSQLConverter
diff --git 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingConvertRuleConfigurationProvider.java
 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingRuleConfigurationToDistSQLConverter.java
similarity index 88%
rename from 
features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingConvertRuleConfigurationProvider.java
rename to 
features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingRuleConfigurationToDistSQLConverter.java
index 4400a23ddc3..65eaf2a7fbb 100644
--- 
a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingConvertRuleConfigurationProvider.java
+++ 
b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/provider/ReadwriteSplittingRuleConfigurationToDistSQLConverter.java
@@ -19,9 +19,8 @@ package 
org.apache.shardingsphere.readwritesplitting.distsql.handler.provider;
 
 import com.google.common.base.Strings;
 import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.AlgorithmDistSQLConverter;
-import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider;
+import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter;
 import 
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
-import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import 
org.apache.shardingsphere.readwritesplitting.api.ReadwriteSplittingRuleConfiguration;
 import 
org.apache.shardingsphere.readwritesplitting.api.rule.ReadwriteSplittingDataSourceRuleConfiguration;
 import 
org.apache.shardingsphere.readwritesplitting.distsql.handler.constant.ReadwriteSplittingDistSQLConstants;
@@ -31,16 +30,12 @@ import java.util.Iterator;
 import java.util.Map;
 
 /**
- * Readwrite-splitting convert rule configuration provider.
+ * Readwrite-splitting rule configuration to DistSQL converter.
  */
-public final class ReadwriteSplittingConvertRuleConfigurationProvider 
implements ConvertRuleConfigurationProvider {
+public final class ReadwriteSplittingRuleConfigurationToDistSQLConverter 
implements 
RuleConfigurationToDistSQLConverter<ReadwriteSplittingRuleConfiguration> {
     
     @Override
-    public String convert(final RuleConfiguration ruleConfig) {
-        return 
getReadWriteSplittingDistSQL((ReadwriteSplittingRuleConfiguration) ruleConfig);
-    }
-    
-    private String getReadWriteSplittingDistSQL(final 
ReadwriteSplittingRuleConfiguration ruleConfig) {
+    public String convert(final ReadwriteSplittingRuleConfiguration 
ruleConfig) {
         if (ruleConfig.getDataSources().isEmpty()) {
             return "";
         }
diff --git 
a/features/readwrite-splitting/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
 
b/features/readwrite-splitting/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
similarity index 93%
rename from 
features/readwrite-splitting/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
rename to 
features/readwrite-splitting/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
index fb5b48f2843..b02b48b8c34 100644
--- 
a/features/readwrite-splitting/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
+++ 
b/features/readwrite-splitting/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.readwritesplitting.distsql.handler.provider.ReadwriteSplittingConvertRuleConfigurationProvider
+org.apache.shardingsphere.readwritesplitting.distsql.handler.provider.ReadwriteSplittingRuleConfigurationToDistSQLConverter
diff --git 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/provider/ShadowConvertRuleConfigurationProvider.java
 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/provider/ShadowRuleConfigurationToDistSQLConverter.java
similarity index 89%
rename from 
features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/provider/ShadowConvertRuleConfigurationProvider.java
rename to 
features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/provider/ShadowRuleConfigurationToDistSQLConverter.java
index e0c39d84e0d..977cee4d51b 100644
--- 
a/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/provider/ShadowConvertRuleConfigurationProvider.java
+++ 
b/features/shadow/distsql/handler/src/main/java/org/apache/shardingsphere/shadow/distsql/handler/provider/ShadowRuleConfigurationToDistSQLConverter.java
@@ -18,9 +18,8 @@
 package org.apache.shardingsphere.shadow.distsql.handler.provider;
 
 import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.AlgorithmDistSQLConverter;
-import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider;
+import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter;
 import 
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
-import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import org.apache.shardingsphere.shadow.api.config.ShadowRuleConfiguration;
 import 
org.apache.shardingsphere.shadow.api.config.datasource.ShadowDataSourceConfiguration;
 import 
org.apache.shardingsphere.shadow.api.config.table.ShadowTableConfiguration;
@@ -31,16 +30,12 @@ import java.util.Iterator;
 import java.util.Map;
 
 /**
- * Shadow convert rule configuration provider.
+ * Shadow rule configuration to DistSQL converter.
  */
-public final class ShadowConvertRuleConfigurationProvider implements 
ConvertRuleConfigurationProvider {
+public final class ShadowRuleConfigurationToDistSQLConverter implements 
RuleConfigurationToDistSQLConverter<ShadowRuleConfiguration> {
     
     @Override
-    public String convert(final RuleConfiguration ruleConfig) {
-        return getShadowDistSQL((ShadowRuleConfiguration) ruleConfig);
-    }
-    
-    private String getShadowDistSQL(final ShadowRuleConfiguration ruleConfig) {
+    public String convert(final ShadowRuleConfiguration ruleConfig) {
         if (ruleConfig.getDataSources().isEmpty()) {
             return "";
         }
diff --git 
a/features/shadow/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
 
b/features/shadow/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
similarity index 95%
rename from 
features/shadow/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
rename to 
features/shadow/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
index bd07b3efc5b..67b50eb1485 100644
--- 
a/features/shadow/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
+++ 
b/features/shadow/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.shadow.distsql.handler.provider.ShadowConvertRuleConfigurationProvider
+org.apache.shardingsphere.shadow.distsql.handler.provider.ShadowRuleConfigurationToDistSQLConverter
diff --git 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/provider/ShardingConvertRuleConfigurationProvider.java
 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/provider/ShardingRuleConfigurationToDistSQLConverter.java
similarity index 95%
rename from 
features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/provider/ShardingConvertRuleConfigurationProvider.java
rename to 
features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/provider/ShardingRuleConfigurationToDistSQLConverter.java
index 6cef8a743f7..10a8672a7be 100644
--- 
a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/provider/ShardingConvertRuleConfigurationProvider.java
+++ 
b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/provider/ShardingRuleConfigurationToDistSQLConverter.java
@@ -19,9 +19,8 @@ package 
org.apache.shardingsphere.sharding.distsql.handler.provider;
 
 import com.google.common.base.Strings;
 import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.AlgorithmDistSQLConverter;
-import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider;
+import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter;
 import 
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfiguration;
-import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import 
org.apache.shardingsphere.sharding.api.config.rule.ShardingAutoTableRuleConfiguration;
 import 
org.apache.shardingsphere.sharding.api.config.rule.ShardingTableReferenceRuleConfiguration;
@@ -39,17 +38,16 @@ import java.util.Map;
 import java.util.Objects;
 
 /**
- * Sharding convert rule configuration provider.
+ * Sharding rule configuration to DistSQL converter.
  */
-public final class ShardingConvertRuleConfigurationProvider implements 
ConvertRuleConfigurationProvider {
+public final class ShardingRuleConfigurationToDistSQLConverter implements 
RuleConfigurationToDistSQLConverter<ShardingRuleConfiguration> {
     
     @Override
-    public String convert(final RuleConfiguration ruleConfig) {
+    public String convert(final ShardingRuleConfiguration ruleConfig) {
         StringBuilder result = new StringBuilder();
-        ShardingRuleConfiguration shardingRuleConfig = 
(ShardingRuleConfiguration) ruleConfig;
-        appendShardingTableRules(shardingRuleConfig, result);
-        appendShardingBindingTableRules(shardingRuleConfig, result);
-        appendDefaultShardingStrategy(shardingRuleConfig, result);
+        appendShardingTableRules(ruleConfig, result);
+        appendShardingBindingTableRules(ruleConfig, result);
+        appendDefaultShardingStrategy(ruleConfig, result);
         return result.toString();
     }
     
diff --git 
a/features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
 
b/features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
similarity index 95%
rename from 
features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
rename to 
features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
index 87db103ca0a..6deed119a2c 100644
--- 
a/features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
+++ 
b/features/sharding/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.sharding.distsql.handler.provider.ShardingConvertRuleConfigurationProvider
+org.apache.shardingsphere.sharding.distsql.handler.provider.ShardingRuleConfigurationToDistSQLConverter
diff --git 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/query/ral/convert/ConvertRuleConfigurationProvider.java
 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/query/ral/convert/RuleConfigurationToDistSQLConverter.java
similarity index 83%
rename from 
infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/query/ral/convert/ConvertRuleConfigurationProvider.java
rename to 
infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/query/ral/convert/RuleConfigurationToDistSQLConverter.java
index 405e33083bf..8d34d13e08b 100644
--- 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/query/ral/convert/ConvertRuleConfigurationProvider.java
+++ 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/query/ral/convert/RuleConfigurationToDistSQLConverter.java
@@ -22,10 +22,12 @@ import 
org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
 
 /**
- * Convert rule configuration provider.
+ * Rule configuration to DistSQL converter.
+ * 
+ * @param <T> type of rule configuration
  */
 @SingletonSPI
-public interface ConvertRuleConfigurationProvider extends TypedSPI {
+public interface RuleConfigurationToDistSQLConverter<T extends 
RuleConfiguration> extends TypedSPI {
     
     /**
      * Convert rule configuration to DistSQL.
@@ -33,8 +35,8 @@ public interface ConvertRuleConfigurationProvider extends 
TypedSPI {
      * @param ruleConfig rule configuration
      * @return DistSQL
      */
-    String convert(RuleConfiguration ruleConfig);
+    String convert(T ruleConfig);
     
     @Override
-    Class<? extends RuleConfiguration> getType();
+    Class<T> getType();
 }
diff --git 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/provider/SingleConvertRuleConfigurationProvider.java
 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/provider/SingleRuleConfigurationToDistSQLConverter.java
similarity index 78%
rename from 
kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/provider/SingleConvertRuleConfigurationProvider.java
rename to 
kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/provider/SingleRuleConfigurationToDistSQLConverter.java
index 2dbdd228324..d1f2759c6fb 100644
--- 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/provider/SingleConvertRuleConfigurationProvider.java
+++ 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/provider/SingleRuleConfigurationToDistSQLConverter.java
@@ -17,24 +17,19 @@
 
 package org.apache.shardingsphere.single.distsql.handler.provider;
 
-import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider;
-import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
+import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter;
 import org.apache.shardingsphere.single.api.config.SingleRuleConfiguration;
 import 
org.apache.shardingsphere.single.distsql.handler.constant.SingleDistSQLConstants;
 
 import java.util.Iterator;
 
 /**
- * Single convert rule configuration provider.
+ * Single rule configuration to DistSQL converter.
  */
-public final class SingleConvertRuleConfigurationProvider implements 
ConvertRuleConfigurationProvider {
+public final class SingleRuleConfigurationToDistSQLConverter implements 
RuleConfigurationToDistSQLConverter<SingleRuleConfiguration> {
     
     @Override
-    public String convert(final RuleConfiguration ruleConfig) {
-        return getSingleDistSQL((SingleRuleConfiguration) ruleConfig);
-    }
-    
-    private String getSingleDistSQL(final SingleRuleConfiguration ruleConfig) {
+    public String convert(final SingleRuleConfiguration ruleConfig) {
         if (ruleConfig.getTables().isEmpty()) {
             return "";
         }
@@ -52,7 +47,7 @@ public final class SingleConvertRuleConfigurationProvider 
implements ConvertRule
     }
     
     @Override
-    public Class<? extends RuleConfiguration> getType() {
+    public Class<SingleRuleConfiguration> getType() {
         return SingleRuleConfiguration.class;
     }
 }
diff --git 
a/kernel/single/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
 
b/kernel/single/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
similarity index 95%
rename from 
kernel/single/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
rename to 
kernel/single/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
index 05e84059a59..139f17aec47 100644
--- 
a/kernel/single/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider
+++ 
b/kernel/single/distsql/handler/src/main/resources/META-INF/services/org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter
@@ -15,4 +15,4 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.single.distsql.handler.provider.SingleConvertRuleConfigurationProvider
+org.apache.shardingsphere.single.distsql.handler.provider.SingleRuleConfigurationToDistSQLConverter
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationExecutor.java
index ac247905422..5acbc110f77 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/queryable/ConvertYamlConfigurationExecutor.java
@@ -21,7 +21,7 @@ import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
 import 
org.apache.shardingsphere.distsql.handler.engine.query.DistSQLQueryExecutor;
 import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.DistSQLScriptConstants;
-import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.ConvertRuleConfigurationProvider;
+import 
org.apache.shardingsphere.distsql.handler.engine.query.ral.convert.RuleConfigurationToDistSQLConverter;
 import 
org.apache.shardingsphere.distsql.statement.ral.queryable.convert.ConvertYamlConfigurationStatement;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import 
org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
@@ -77,11 +77,12 @@ public final class ConvertYamlConfigurationExecutor 
implements DistSQLQueryExecu
         return Collections.singleton(new 
LocalDataQueryResultRow(generateDistSQL(yamlConfig)));
     }
     
+    @SuppressWarnings("unchecked")
     private String generateDistSQL(final YamlProxyDatabaseConfiguration 
yamlConfig) {
         StringBuilder result = new StringBuilder();
         appendResourceDistSQL(yamlConfig, result);
         for (RuleConfiguration each : swapToRuleConfigs(yamlConfig).values()) {
-            
result.append(TypedSPILoader.getService(ConvertRuleConfigurationProvider.class, 
each.getClass()).convert(each));
+            
result.append(TypedSPILoader.getService(RuleConfigurationToDistSQLConverter.class,
 each.getClass()).convert(each));
         }
         return result.toString();
     }


Reply via email to