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));
}