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 d077d9c1473 Remove usage of RepositoryTupleSwapper (#31117)
d077d9c1473 is described below

commit d077d9c1473ad8ef8b5b44ba5c9473b34ba1f766
Author: Liang Zhang <[email protected]>
AuthorDate: Sun May 5 11:39:18 2024 +0800

    Remove usage of RepositoryTupleSwapper (#31117)
    
    * Remove RepositoryTupleSwapper.getRuleTypeName()
    
    * Remove usage of RepositoryTupleSwapper
---
 .../database/type/DropDatabaseRuleOperator.java    |  6 +----
 .../database/rule/DatabaseRulePersistService.java  | 26 ++++++++--------------
 .../config/global/GlobalRulePersistService.java    | 13 ++++-------
 3 files changed, 14 insertions(+), 31 deletions(-)

diff --git 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/DropDatabaseRuleOperator.java
 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/DropDatabaseRuleOperator.java
index 9a59766e797..b8adc50a369 100644
--- 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/DropDatabaseRuleOperator.java
+++ 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/engine/update/rdl/rule/engine/database/type/DropDatabaseRuleOperator.java
@@ -28,12 +28,10 @@ import 
org.apache.shardingsphere.infra.instance.mode.ModeContextManager;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
 import 
org.apache.shardingsphere.infra.rule.attribute.datasource.StaticDataSourceRuleAttribute;
-import org.apache.shardingsphere.infra.spi.type.ordered.OrderedSPILoader;
 import 
org.apache.shardingsphere.infra.yaml.config.pojo.rule.YamlRuleConfiguration;
 import 
org.apache.shardingsphere.infra.yaml.config.pojo.rule.annotation.RepositoryTupleEntity;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.rule.YamlRuleConfigurationSwapperEngine;
 import org.apache.shardingsphere.mode.manager.ContextManager;
-import org.apache.shardingsphere.mode.spi.RepositoryTupleSwapper;
 
 import java.util.Collection;
 import java.util.Collections;
@@ -68,9 +66,7 @@ public final class DropDatabaseRuleOperator implements 
DatabaseRuleOperator {
         RuleConfiguration toBeAlteredRuleConfig = 
executor.buildToBeAlteredRuleConfiguration(sqlStatement);
         if (null != toBeAlteredRuleConfig && ((DatabaseRuleConfiguration) 
toBeAlteredRuleConfig).isEmpty()) {
             YamlRuleConfiguration yamlRuleConfig = new 
YamlRuleConfigurationSwapperEngine().swapToYamlRuleConfiguration(currentRuleConfig);
-            OrderedSPILoader.getServices(RepositoryTupleSwapper.class, 
Collections.singleton(yamlRuleConfig)).values().stream().findFirst()
-                    .ifPresent(optional -> 
modeContextManager.removeRuleConfiguration(database.getName(),
-                            
Objects.requireNonNull(yamlRuleConfig.getClass().getAnnotation(RepositoryTupleEntity.class)).value()));
+            modeContextManager.removeRuleConfiguration(database.getName(), 
Objects.requireNonNull(yamlRuleConfig.getClass().getAnnotation(RepositoryTupleEntity.class)).value());
             return Collections.emptyList();
         }
         return modeContextManager.alterRuleConfiguration(database.getName(), 
toBeAlteredRuleConfig);
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/rule/DatabaseRulePersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/rule/DatabaseRulePersistService.java
index 53cc1656261..3f8aabf611c 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/rule/DatabaseRulePersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/database/rule/DatabaseRulePersistService.java
@@ -20,7 +20,6 @@ package 
org.apache.shardingsphere.metadata.persist.service.config.database.rule;
 import com.google.common.base.Strings;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
-import org.apache.shardingsphere.infra.spi.type.ordered.OrderedSPILoader;
 import org.apache.shardingsphere.infra.util.yaml.datanode.RepositoryTuple;
 import 
org.apache.shardingsphere.infra.yaml.config.pojo.rule.YamlRuleConfiguration;
 import 
org.apache.shardingsphere.infra.yaml.config.pojo.rule.annotation.RepositoryTupleEntity;
@@ -31,13 +30,11 @@ import 
org.apache.shardingsphere.metadata.persist.service.config.RepositoryTuple
 import 
org.apache.shardingsphere.metadata.persist.service.config.database.DatabaseBasedPersistService;
 import org.apache.shardingsphere.mode.engine.AutoRepositoryTupleSwapperEngine;
 import org.apache.shardingsphere.mode.spi.PersistRepository;
-import org.apache.shardingsphere.mode.spi.RepositoryTupleSwapper;
 
 import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Map.Entry;
 import java.util.Objects;
 
 /**
@@ -56,15 +53,13 @@ public final class DatabaseRulePersistService implements 
DatabaseBasedPersistSer
         repositoryTuplePersistService = new 
RepositoryTuplePersistService(repository);
     }
     
-    @SuppressWarnings("rawtypes")
     @Override
     public void persist(final String databaseName, final 
Collection<RuleConfiguration> configs) {
-        Collection<YamlRuleConfiguration> yamlRuleConfigs = new 
YamlRuleConfigurationSwapperEngine().swapToYamlRuleConfigurations(configs);
         AutoRepositoryTupleSwapperEngine repositoryTupleSwapperEngine = new 
AutoRepositoryTupleSwapperEngine();
-        for (Entry<YamlRuleConfiguration, RepositoryTupleSwapper> entry : 
OrderedSPILoader.getServices(RepositoryTupleSwapper.class, 
yamlRuleConfigs).entrySet()) {
-            Collection<RepositoryTuple> repositoryTuples = 
repositoryTupleSwapperEngine.swapToRepositoryTuples(entry.getKey());
+        for (YamlRuleConfiguration each : new 
YamlRuleConfigurationSwapperEngine().swapToYamlRuleConfigurations(configs)) {
+            Collection<RepositoryTuple> repositoryTuples = 
repositoryTupleSwapperEngine.swapToRepositoryTuples(each);
             if (!repositoryTuples.isEmpty()) {
-                persistDataNodes(databaseName, 
Objects.requireNonNull(entry.getKey().getClass().getAnnotation(RepositoryTupleEntity.class)).value(),
 repositoryTuples);
+                persistDataNodes(databaseName, 
Objects.requireNonNull(each.getClass().getAnnotation(RepositoryTupleEntity.class)).value(),
 repositoryTuples);
             }
         }
     }
@@ -79,16 +74,15 @@ public final class DatabaseRulePersistService implements 
DatabaseBasedPersistSer
         
repository.delete(DatabaseRuleMetaDataNode.getDatabaseRuleNode(databaseName, 
name));
     }
     
-    @SuppressWarnings("rawtypes")
     @Override
     public Collection<MetaDataVersion> persistConfigurations(final String 
databaseName, final Collection<RuleConfiguration> configs) {
         Collection<MetaDataVersion> result = new LinkedList<>();
         AutoRepositoryTupleSwapperEngine repositoryTupleSwapperEngine = new 
AutoRepositoryTupleSwapperEngine();
         Collection<YamlRuleConfiguration> yamlRuleConfigs = new 
YamlRuleConfigurationSwapperEngine().swapToYamlRuleConfigurations(configs);
-        for (Entry<YamlRuleConfiguration, RepositoryTupleSwapper> entry : 
OrderedSPILoader.getServices(RepositoryTupleSwapper.class, 
yamlRuleConfigs).entrySet()) {
-            Collection<RepositoryTuple> repositoryTuples = 
repositoryTupleSwapperEngine.swapToRepositoryTuples(entry.getKey());
+        for (YamlRuleConfiguration each : yamlRuleConfigs) {
+            Collection<RepositoryTuple> repositoryTuples = 
repositoryTupleSwapperEngine.swapToRepositoryTuples(each);
             if (!repositoryTuples.isEmpty()) {
-                result.addAll(persistDataNodes(databaseName, 
Objects.requireNonNull(entry.getKey().getClass().getAnnotation(RepositoryTupleEntity.class)).value(),
 repositoryTuples));
+                result.addAll(persistDataNodes(databaseName, 
Objects.requireNonNull(each.getClass().getAnnotation(RepositoryTupleEntity.class)).value(),
 repositoryTuples));
             }
         }
         return result;
@@ -108,20 +102,18 @@ public final class DatabaseRulePersistService implements 
DatabaseBasedPersistSer
         return result;
     }
     
-    @SuppressWarnings("rawtypes")
     @Override
     public Collection<MetaDataVersion> deleteConfigurations(final String 
databaseName, final Collection<RuleConfiguration> configs) {
         Collection<MetaDataVersion> result = new LinkedList<>();
         AutoRepositoryTupleSwapperEngine repositoryTupleSwapperEngine = new 
AutoRepositoryTupleSwapperEngine();
-        Collection<YamlRuleConfiguration> yamlRuleConfigs = new 
YamlRuleConfigurationSwapperEngine().swapToYamlRuleConfigurations(configs);
-        for (Entry<YamlRuleConfiguration, RepositoryTupleSwapper> entry : 
OrderedSPILoader.getServices(RepositoryTupleSwapper.class, 
yamlRuleConfigs).entrySet()) {
-            Collection<RepositoryTuple> repositoryTuples = 
repositoryTupleSwapperEngine.swapToRepositoryTuples(entry.getKey());
+        for (YamlRuleConfiguration each : new 
YamlRuleConfigurationSwapperEngine().swapToYamlRuleConfigurations(configs)) {
+            Collection<RepositoryTuple> repositoryTuples = 
repositoryTupleSwapperEngine.swapToRepositoryTuples(each);
             if (repositoryTuples.isEmpty()) {
                 continue;
             }
             List<RepositoryTuple> newRepositoryTuples = new 
LinkedList<>(repositoryTuples);
             Collections.reverse(newRepositoryTuples);
-            result.addAll(deleteDataNodes(databaseName, 
Objects.requireNonNull(entry.getKey().getClass().getAnnotation(RepositoryTupleEntity.class)).value(),
 newRepositoryTuples));
+            result.addAll(deleteDataNodes(databaseName, 
Objects.requireNonNull(each.getClass().getAnnotation(RepositoryTupleEntity.class)).value(),
 newRepositoryTuples));
         }
         return result;
     }
diff --git 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/GlobalRulePersistService.java
 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/GlobalRulePersistService.java
index 6a0d55663a0..05934f4d728 100644
--- 
a/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/GlobalRulePersistService.java
+++ 
b/kernel/metadata/core/src/main/java/org/apache/shardingsphere/metadata/persist/service/config/global/GlobalRulePersistService.java
@@ -20,22 +20,19 @@ package 
org.apache.shardingsphere.metadata.persist.service.config.global;
 import com.google.common.base.Strings;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import org.apache.shardingsphere.infra.metadata.version.MetaDataVersion;
-import org.apache.shardingsphere.infra.spi.type.ordered.OrderedSPILoader;
 import org.apache.shardingsphere.infra.util.yaml.datanode.RepositoryTuple;
 import 
org.apache.shardingsphere.infra.yaml.config.pojo.rule.YamlRuleConfiguration;
 import 
org.apache.shardingsphere.infra.yaml.config.swapper.rule.YamlRuleConfigurationSwapperEngine;
-import org.apache.shardingsphere.mode.engine.AutoRepositoryTupleSwapperEngine;
-import org.apache.shardingsphere.mode.spi.RepositoryTupleSwapper;
-import 
org.apache.shardingsphere.metadata.persist.service.config.RepositoryTupleSwapperEngine;
 import org.apache.shardingsphere.metadata.persist.node.GlobalNode;
 import 
org.apache.shardingsphere.metadata.persist.service.config.RepositoryTuplePersistService;
+import 
org.apache.shardingsphere.metadata.persist.service.config.RepositoryTupleSwapperEngine;
 import 
org.apache.shardingsphere.metadata.persist.service.version.MetaDataVersionPersistService;
+import org.apache.shardingsphere.mode.engine.AutoRepositoryTupleSwapperEngine;
 import org.apache.shardingsphere.mode.spi.PersistRepository;
 
 import java.util.Collection;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Map.Entry;
 import java.util.Optional;
 
 /**
@@ -57,14 +54,12 @@ public final class GlobalRulePersistService implements 
GlobalPersistService<Coll
         repositoryTuplePersistService = new 
RepositoryTuplePersistService(repository);
     }
     
-    @SuppressWarnings("rawtypes")
     @Override
     public void persist(final Collection<RuleConfiguration> globalRuleConfigs) 
{
         Collection<MetaDataVersion> metaDataVersions = new LinkedList<>();
         AutoRepositoryTupleSwapperEngine repositoryTupleSwapperEngine = new 
AutoRepositoryTupleSwapperEngine();
-        Collection<YamlRuleConfiguration> yamlGlobalRuleConfigs = new 
YamlRuleConfigurationSwapperEngine().swapToYamlRuleConfigurations(globalRuleConfigs);
-        for (Entry<YamlRuleConfiguration, RepositoryTupleSwapper> entry : 
OrderedSPILoader.getServices(RepositoryTupleSwapper.class, 
yamlGlobalRuleConfigs).entrySet()) {
-            Collection<RepositoryTuple> repositoryTuples = 
repositoryTupleSwapperEngine.swapToRepositoryTuples(entry.getKey());
+        for (YamlRuleConfiguration each : new 
YamlRuleConfigurationSwapperEngine().swapToYamlRuleConfigurations(globalRuleConfigs))
 {
+            Collection<RepositoryTuple> repositoryTuples = 
repositoryTupleSwapperEngine.swapToRepositoryTuples(each);
             if (!repositoryTuples.isEmpty()) {
                 metaDataVersions.addAll(persistTuples(repositoryTuples));
             }

Reply via email to