You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by me...@apache.org on 2021/03/21 04:41:32 UTC
[shardingsphere] branch master updated: Refactor PrivilegeBuilder
(#9756)
This is an automated email from the ASF dual-hosted git repository.
menghaoran 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 1dcb372 Refactor PrivilegeBuilder (#9756)
1dcb372 is described below
commit 1dcb372852c4a32ca7d5951a45f42d23a91211c0
Author: Liang Zhang <te...@163.com>
AuthorDate: Sun Mar 21 12:40:59 2021 +0800
Refactor PrivilegeBuilder (#9756)
* Refactor PrivilegeBuilder
* Refactor PrivilegeMerger
* Refactor PrivilegeBuilder
---
.../infra/metadata/auth/builder/PrivilegeBuilder.java | 4 ++--
.../infra/metadata/auth/builder/PrivilegeMerger.java | 11 ++++++-----
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/auth/builder/PrivilegeBuilder.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/auth/builder/PrivilegeBuilder.java
index 98c7a0e..f24e8b4 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/auth/builder/PrivilegeBuilder.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/auth/builder/PrivilegeBuilder.java
@@ -48,7 +48,7 @@ public final class PrivilegeBuilder {
private static final int CPU_CORES = Runtime.getRuntime().availableProcessors();
- private static final int FUTURE_GET_TIME_OUT_SECOND = 5;
+ private static final long FUTURE_GET_TIME_OUT_MILLISECONDS = 5000L;
/**
* Build privileges.
@@ -102,7 +102,7 @@ public final class PrivilegeBuilder {
}
futures.forEach(each -> {
try {
- each.get(FUTURE_GET_TIME_OUT_SECOND, TimeUnit.SECONDS).ifPresent(result::add);
+ each.get(FUTURE_GET_TIME_OUT_MILLISECONDS, TimeUnit.MILLISECONDS).ifPresent(result::add);
} catch (final InterruptedException | ExecutionException | TimeoutException ex) {
throw new IllegalStateException(String.format("Error while loading privilege with %s", each), ex);
}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/auth/builder/PrivilegeMerger.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/auth/builder/PrivilegeMerger.java
index 21134a4..49b4d43 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/auth/builder/PrivilegeMerger.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/auth/builder/PrivilegeMerger.java
@@ -28,6 +28,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+import java.util.Map.Entry;
/**
* Privilege merger.
@@ -36,7 +37,7 @@ import java.util.Map;
public final class PrivilegeMerger {
/**
- * Merge.
+ * Merge privilege.
*
* @param authentication authentication
* @param schemaName schema name
@@ -44,10 +45,10 @@ public final class PrivilegeMerger {
* @return privileges
*/
public static Map<ShardingSphereUser, ShardingSpherePrivilege> merge(final Map<ShardingSphereUser, Collection<ShardingSpherePrivilege>> authentication,
- final String schemaName, final Collection<ShardingSphereRule> rules) {
- Map<ShardingSphereUser, ShardingSpherePrivilege> result = new HashMap<>();
- for (ShardingSphereUser each : authentication.keySet()) {
- result.put(each, merge(each, authentication.get(each)));
+ final String schemaName, final Collection<ShardingSphereRule> rules) {
+ Map<ShardingSphereUser, ShardingSpherePrivilege> result = new HashMap<>(authentication.size(), 1);
+ for (Entry<ShardingSphereUser, Collection<ShardingSpherePrivilege>> entry : authentication.entrySet()) {
+ result.put(entry.getKey(), merge(entry.getKey(), entry.getValue()));
}
return result;
}