This is an automated email from the ASF dual-hosted git repository.
wuweijie 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 e3924e3 Decouple MetaDataContextsBuilder and Authority (#9939)
e3924e3 is described below
commit e3924e34032f80eb044927a4d14278a59054e2c9
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Apr 5 19:45:05 2021 +0800
Decouple MetaDataContextsBuilder and Authority (#9939)
* Decouple MetaDataContextsBuilder and Authority
* Fix test case
---
.../context/metadata/GovernanceMetaDataContextsTest.java | 3 +--
.../infra/context/metadata/MetaDataContextsBuilder.java | 12 ------------
2 files changed, 1 insertion(+), 14 deletions(-)
diff --git
a/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
b/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
index 1903039..d9c8023 100644
---
a/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
+++
b/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
@@ -36,7 +36,6 @@ import
org.apache.shardingsphere.infra.database.type.dialect.MySQLDatabaseType;
import org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import
org.apache.shardingsphere.infra.metadata.auth.builtin.DefaultAuthentication;
-import org.apache.shardingsphere.infra.metadata.auth.AuthenticationContext;
import
org.apache.shardingsphere.infra.metadata.auth.model.user.ShardingSphereUsers;
import
org.apache.shardingsphere.infra.metadata.resource.ShardingSphereResource;
import org.apache.shardingsphere.infra.metadata.schema.ShardingSphereSchema;
@@ -161,7 +160,7 @@ public final class GovernanceMetaDataContextsTest {
DefaultAuthentication authentication = new DefaultAuthentication();
UserRuleChangedEvent event = new
UserRuleChangedEvent(authentication.getAllUsers());
governanceMetaDataContexts.renew(event);
-
assertThat(AuthenticationContext.getInstance().getAuthentication().getAllUsers().size(),
is(authentication.getAuthentication().size()));
+ assertThat(governanceMetaDataContexts.getUsers().getUsers().size(),
is(authentication.getAuthentication().size()));
}
@Test
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsBuilder.java
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsBuilder.java
index 3576cc8..3e456dc 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsBuilder.java
+++
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsBuilder.java
@@ -27,10 +27,6 @@ import
org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.database.type.DatabaseTypeRegistry;
import org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
-import org.apache.shardingsphere.infra.metadata.auth.Authentication;
-import org.apache.shardingsphere.infra.metadata.auth.AuthenticationContext;
-import org.apache.shardingsphere.infra.metadata.auth.builder.PrivilegeBuilder;
-import
org.apache.shardingsphere.infra.metadata.auth.builtin.DefaultAuthentication;
import
org.apache.shardingsphere.infra.metadata.auth.model.user.ShardingSphereUser;
import
org.apache.shardingsphere.infra.metadata.auth.model.user.ShardingSphereUsers;
import
org.apache.shardingsphere.infra.metadata.resource.CachedDatabaseMetaData;
@@ -95,7 +91,6 @@ public final class MetaDataContextsBuilder {
for (String each : ruleConfigs.keySet()) {
mataDataMap.put(each, buildMetaData(each));
}
- AuthenticationContext.getInstance().init(buildAuthentication(users,
mataDataMap));
return new StandardMetaDataContexts(mataDataMap, executorEngine, new
ShardingSphereUsers(users), props);
}
@@ -156,11 +151,4 @@ public final class MetaDataContextsBuilder {
private ShardingSphereSchema buildSchema(final DatabaseType databaseType,
final Map<String, DataSource> dataSourceMap, final
Collection<ShardingSphereRule> rules) throws SQLException {
return SchemaBuilder.build(new SchemaBuilderMaterials(databaseType,
dataSourceMap, rules, props));
}
-
- private Authentication buildAuthentication(final
Collection<ShardingSphereUser> users, final Map<String, ShardingSphereMetaData>
metaDataMap) {
- DefaultAuthentication result = new DefaultAuthentication();
- DatabaseType databaseType = metaDataMap.isEmpty() ?
DatabaseTypeRegistry.getActualDatabaseType("MySQL") :
metaDataMap.values().iterator().next().getResource().getDatabaseType();
- result.init(PrivilegeBuilder.build(databaseType, metaDataMap.values(),
users));
- return result;
- }
}