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