You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2021/04/05 07:18:50 UTC
[shardingsphere] branch master updated: Simplfy
AuthorityRuleConfiguration (#9937)
This is an automated email from the ASF dual-hosted git repository.
panjuan 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 9697149 Simplfy AuthorityRuleConfiguration (#9937)
9697149 is described below
commit 969714916777266493f11859dce773aadfa26ee8
Author: Liang Zhang <te...@163.com>
AuthorDate: Mon Apr 5 15:18:27 2021 +0800
Simplfy AuthorityRuleConfiguration (#9937)
---
.../api/config/AuthorityRuleConfiguration.java | 4 +---
.../shardingsphere/authority/rule/AuthorityRule.java | 4 +---
.../yaml/config/YamlAuthorityRuleConfiguration.java | 5 +----
.../swapper/AuthorityRuleConfigurationYamlSwapper.java | 18 ++----------------
4 files changed, 5 insertions(+), 26 deletions(-)
diff --git a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-api/src/main/java/org/apache/shardingsphere/authority/api/config/AuthorityRuleConfiguration.java b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-api/src/main/java/org/apache/shardingsphere/authority/api/config/AuthorityRuleConfiguration.java
index ae1ac00..5a53460 100644
--- a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-api/src/main/java/org/apache/shardingsphere/authority/api/config/AuthorityRuleConfiguration.java
+++ b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-api/src/main/java/org/apache/shardingsphere/authority/api/config/AuthorityRuleConfiguration.java
@@ -22,8 +22,6 @@ import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.config.RuleConfiguration;
import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
-import java.util.Map;
-
/**
* Authority rule configuration.
*/
@@ -31,5 +29,5 @@ import java.util.Map;
@Getter
public final class AuthorityRuleConfiguration implements RuleConfiguration {
- private final Map<String, ShardingSphereAlgorithmConfiguration> privilegeLoaders;
+ private final ShardingSphereAlgorithmConfiguration privilegeLoader;
}
diff --git a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/rule/AuthorityRule.java b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/rule/AuthorityRule.java
index b047b74..6c1cd3d 100644
--- a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/rule/AuthorityRule.java
+++ b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/rule/AuthorityRule.java
@@ -17,7 +17,6 @@
package org.apache.shardingsphere.authority.rule;
-import com.google.common.base.Preconditions;
import org.apache.shardingsphere.authority.api.config.AuthorityRuleConfiguration;
import org.apache.shardingsphere.authority.spi.PrivilegeLoadAlgorithm;
import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmFactory;
@@ -43,8 +42,7 @@ public final class AuthorityRule implements ShardingSphereRule {
public AuthorityRule(final AuthorityRuleConfiguration config, final String schemaName, final DatabaseType databaseType,
final Collection<DataSource> dataSources, final Collection<ShardingSphereUser> users, final Collection<ShardingSphereRule> builtRules) {
- Preconditions.checkState(1 == config.getPrivilegeLoaders().size(), "Only support one privilege loader.");
- PrivilegeLoadAlgorithm privilegeLoader = ShardingSphereAlgorithmFactory.createAlgorithm(config.getPrivilegeLoaders().values().iterator().next(), PrivilegeLoadAlgorithm.class);
+ PrivilegeLoadAlgorithm privilegeLoader = ShardingSphereAlgorithmFactory.createAlgorithm(config.getPrivilegeLoader(), PrivilegeLoadAlgorithm.class);
Authentication authentication = null == AuthenticationContext.getInstance().getAuthentication() ? new DefaultAuthentication() : AuthenticationContext.getInstance().getAuthentication();
authentication.init(privilegeLoader.load(schemaName, databaseType, dataSources, builtRules, users));
AuthenticationContext.getInstance().init(authentication);
diff --git a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/yaml/config/YamlAuthorityRuleConfiguration.java b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/yaml/config/YamlAuthorityRuleConfiguration.java
index 9d3ca34..97113e2 100644
--- a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/yaml/config/YamlAuthorityRuleConfiguration.java
+++ b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/yaml/config/YamlAuthorityRuleConfiguration.java
@@ -23,9 +23,6 @@ import org.apache.shardingsphere.authority.api.config.AuthorityRuleConfiguration
import org.apache.shardingsphere.infra.yaml.config.YamlRuleConfiguration;
import org.apache.shardingsphere.infra.yaml.config.algorithm.YamlShardingSphereAlgorithmConfiguration;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
/**
* Authority rule configuration for YAML.
*/
@@ -33,7 +30,7 @@ import java.util.Map;
@Setter
public final class YamlAuthorityRuleConfiguration implements YamlRuleConfiguration {
- private Map<String, YamlShardingSphereAlgorithmConfiguration> privilegeLoaders = new LinkedHashMap<>();
+ private YamlShardingSphereAlgorithmConfiguration privilegeLoader;
@Override
public Class<AuthorityRuleConfiguration> getRuleConfigurationType() {
diff --git a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/yaml/swapper/AuthorityRuleConfigurationYamlSwapper.java b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/yaml/swapper/AuthorityRuleConfigurationYamlSwapper.java
index 7e1ff37..eef268e 100644
--- a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/yaml/swapper/AuthorityRuleConfigurationYamlSwapper.java
+++ b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/yaml/swapper/AuthorityRuleConfigurationYamlSwapper.java
@@ -20,15 +20,9 @@ package org.apache.shardingsphere.authority.yaml.swapper;
import org.apache.shardingsphere.authority.api.config.AuthorityRuleConfiguration;
import org.apache.shardingsphere.authority.constant.AuthorityOrder;
import org.apache.shardingsphere.authority.yaml.config.YamlAuthorityRuleConfiguration;
-import org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration;
-import org.apache.shardingsphere.infra.yaml.config.algorithm.YamlShardingSphereAlgorithmConfiguration;
import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapper;
import org.apache.shardingsphere.infra.yaml.swapper.algorithm.ShardingSphereAlgorithmConfigurationYamlSwapper;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
/**
* Authority rule configuration YAML swapper.
*/
@@ -39,21 +33,13 @@ public final class AuthorityRuleConfigurationYamlSwapper implements YamlRuleConf
@Override
public YamlAuthorityRuleConfiguration swapToYamlConfiguration(final AuthorityRuleConfiguration data) {
YamlAuthorityRuleConfiguration result = new YamlAuthorityRuleConfiguration();
- data.getPrivilegeLoaders().forEach((key, value) -> result.getPrivilegeLoaders().put(key, algorithmSwapper.swapToYamlConfiguration(value)));
+ result.setPrivilegeLoader(algorithmSwapper.swapToYamlConfiguration(data.getPrivilegeLoader()));
return result;
}
@Override
public AuthorityRuleConfiguration swapToObject(final YamlAuthorityRuleConfiguration yamlConfig) {
- return new AuthorityRuleConfiguration(swapAuthorityAlgorithm(yamlConfig));
- }
-
- private Map<String, ShardingSphereAlgorithmConfiguration> swapAuthorityAlgorithm(final YamlAuthorityRuleConfiguration yamlConfig) {
- Map<String, ShardingSphereAlgorithmConfiguration> result = new LinkedHashMap<>(yamlConfig.getPrivilegeLoaders().size(), 1);
- for (Entry<String, YamlShardingSphereAlgorithmConfiguration> entry : yamlConfig.getPrivilegeLoaders().entrySet()) {
- result.put(entry.getKey(), algorithmSwapper.swapToObject(entry.getValue()));
- }
- return result;
+ return new AuthorityRuleConfiguration(algorithmSwapper.swapToObject(yamlConfig.getPrivilegeLoader()));
}
@Override