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/11 04:57:28 UTC
[shardingsphere] branch master updated: Minor changes for code
format with Authority module (#10035)
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 2d1ec5f Minor changes for code format with Authority module (#10035)
2d1ec5f is described below
commit 2d1ec5f8d03fa66f1564bd42c35f28c5113f7eee
Author: Liang Zhang <te...@163.com>
AuthorDate: Sun Apr 11 12:56:59 2021 +0800
Minor changes for code format with Authority module (#10035)
* Update javadoc
* Update javadoc
* For code format
* Refactor StoragePrivilegeBuilder
---
.../natived/loader/StoragePrivilegeBuilder.java | 22 +++++++----------
.../natived/loader/StoragePrivilegeLoader.java | 8 +++----
.../loader/dialect/MySQLPrivilegeLoader.java | 8 +++----
.../loader/dialect/OraclePrivilegeLoader.java | 28 +++++++++++-----------
4 files changed, 30 insertions(+), 36 deletions(-)
diff --git a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/StoragePrivilegeBuilder.java b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/StoragePrivilegeBuilder.java
index ace60bc..b56ed65 100644
--- a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/StoragePrivilegeBuilder.java
+++ b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/StoragePrivilegeBuilder.java
@@ -73,6 +73,14 @@ public final class StoragePrivilegeBuilder {
return metaDataList.isEmpty() ? buildDefaultPrivileges(users) : buildWithMetaData(metaDataList, users);
}
+ private static Map<ShardingSphereUser, ShardingSpherePrivileges> buildDefaultPrivileges(final Collection<ShardingSphereUser> users) {
+ Map<ShardingSphereUser, ShardingSpherePrivileges> result = new LinkedHashMap<>(users.size(), 1);
+ ShardingSpherePrivileges privileges = new ShardingSpherePrivileges();
+ privileges.setSuperPrivilege();
+ users.forEach(each -> result.put(each, privileges));
+ return result;
+ }
+
private static Map<ShardingSphereUser, ShardingSpherePrivileges> buildWithMetaData(final Collection<ShardingSphereMetaData> metaDataList, final Collection<ShardingSphereUser> users) {
Map<ShardingSphereUser, ShardingSpherePrivileges> result = new LinkedHashMap<>();
for (ShardingSphereMetaData each : metaDataList) {
@@ -129,20 +137,6 @@ public final class StoragePrivilegeBuilder {
return result;
}
- /**
- * Build default privileges.
- *
- * @param users users
- * @return privileges
- */
- public static Map<ShardingSphereUser, ShardingSpherePrivileges> buildDefaultPrivileges(final Collection<ShardingSphereUser> users) {
- Map<ShardingSphereUser, ShardingSpherePrivileges> result = new LinkedHashMap<>(users.size(), 1);
- ShardingSpherePrivileges privileges = new ShardingSpherePrivileges();
- privileges.setSuperPrivilege();
- users.forEach(each -> result.put(each, privileges));
- return result;
- }
-
private static void fillPrivileges(final Map<ShardingSphereUser, Collection<ShardingSpherePrivileges>> userPrivilegeMap,
final Future<Map<ShardingSphereUser, ShardingSpherePrivileges>> future) throws InterruptedException, ExecutionException, TimeoutException {
for (Entry<ShardingSphereUser, ShardingSpherePrivileges> entry : future.get(FUTURE_GET_TIME_OUT_MILLISECONDS, TimeUnit.MILLISECONDS).entrySet()) {
diff --git a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/StoragePrivilegeLoader.java b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/StoragePrivilegeLoader.java
index 2aaa817..6fad532 100644
--- a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/StoragePrivilegeLoader.java
+++ b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/StoragePrivilegeLoader.java
@@ -32,11 +32,11 @@ import java.util.Map;
public interface StoragePrivilegeLoader extends TypedSPI {
/**
- * Load privilege.
+ * Load privilege from storage.
*
- * @param users users
- * @param dataSource data source
- * @return ShardingSphere privileges
+ * @param users users to be loaded
+ * @param dataSource target data source to be loaded
+ * @return map of user and privilege
* @throws SQLException SQL exception
*/
Map<ShardingSphereUser, ShardingSpherePrivileges> load(Collection<ShardingSphereUser> users, DataSource dataSource) throws SQLException;
diff --git a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/dialect/MySQLPrivilegeLoader.java b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/dialect/MySQLPrivilegeLoader.java
index 2508c69..249f8a5 100644
--- a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/dialect/MySQLPrivilegeLoader.java
+++ b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/dialect/MySQLPrivilegeLoader.java
@@ -42,13 +42,13 @@ import java.util.stream.Collectors;
* MySQL privilege loader.
*/
public final class MySQLPrivilegeLoader implements StoragePrivilegeLoader {
-
+
private static final String GLOBAL_PRIVILEGE_SQL = "SELECT * FROM mysql.user WHERE (user, host) in (%s)";
-
+
private static final String SCHEMA_PRIVILEGE_SQL = "SELECT * FROM mysql.db WHERE (user, host) in (%s)";
-
+
private static final String TABLE_PRIVILEGE_SQL = "SELECT Db, Table_name, Table_priv FROM mysql.tables_priv WHERE (user, host) in (%s)";
-
+
@Override
public Map<ShardingSphereUser, ShardingSpherePrivileges> load(final Collection<ShardingSphereUser> users, final DataSource dataSource) throws SQLException {
Map<ShardingSphereUser, ShardingSpherePrivileges> result = new LinkedHashMap<>();
diff --git a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/dialect/OraclePrivilegeLoader.java b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/dialect/OraclePrivilegeLoader.java
index da3bfa8..0b8f994 100644
--- a/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/dialect/OraclePrivilegeLoader.java
+++ b/shardingsphere-features/shardingsphere-authority/shardingsphere-authority-common/src/main/java/org/apache/shardingsphere/authority/provider/natived/loader/dialect/OraclePrivilegeLoader.java
@@ -44,11 +44,11 @@ import java.util.stream.Collectors;
* Oracle privilege loader.
*/
public final class OraclePrivilegeLoader implements StoragePrivilegeLoader {
-
+
private static final String SYS_PRIVILEGE_SQL = "SELECT GRANTEE, PRIVILEGE, ADMIN_OPTION, INHERITED FROM DBA_SYS_PRIVS WHERE GRANTEE IN (%s)";
-
+
private static final String TABLE_PRIVILEGE_SQL = "SELECT GRANTEE, TABLE_SCHEMA, TABLE_NAME, PRIVILEGE, GRANTABLE, INHERITED FROM ALL_TAB_PRIVS WHERE GRANTEE IN (%s)";
-
+
@Override
public Map<ShardingSphereUser, ShardingSpherePrivileges> load(final Collection<ShardingSphereUser> users, final DataSource dataSource) throws SQLException {
Map<ShardingSphereUser, ShardingSpherePrivileges> result = new LinkedHashMap<>();
@@ -57,7 +57,7 @@ public final class OraclePrivilegeLoader implements StoragePrivilegeLoader {
fillTablePrivileges(result, dataSource, users);
return result;
}
-
+
private void fillTablePrivileges(final Map<ShardingSphereUser, ShardingSpherePrivileges> userPrivilegeMap, final DataSource dataSource,
final Collection<ShardingSphereUser> users) throws SQLException {
Map<ShardingSphereUser, Map<String, Map<String, List<PrivilegeType>>>> privilegeCache = new HashMap<>();
@@ -71,7 +71,7 @@ public final class OraclePrivilegeLoader implements StoragePrivilegeLoader {
}
fillTablePrivileges(privilegeCache, userPrivilegeMap);
}
-
+
private void fillTablePrivileges(final Map<ShardingSphereUser, Map<String, Map<String, List<PrivilegeType>>>> privilegeCache,
final Map<ShardingSphereUser, ShardingSpherePrivileges> userPrivilegeMap) {
for (Entry<ShardingSphereUser, Map<String, Map<String, List<PrivilegeType>>>> entry : privilegeCache.entrySet()) {
@@ -87,7 +87,7 @@ public final class OraclePrivilegeLoader implements StoragePrivilegeLoader {
}
}
}
-
+
private void collectTablePrivileges(final Map<ShardingSphereUser, Map<String, Map<String, List<PrivilegeType>>>> privilegeCache, final ResultSet resultSet) throws SQLException {
String db = resultSet.getString("TABLE_SCHEMA");
String tableName = resultSet.getString("TABLE_NAME");
@@ -102,7 +102,7 @@ public final class OraclePrivilegeLoader implements StoragePrivilegeLoader {
.add(getPrivilegeType(privilegeType));
}
}
-
+
private void fillSysPrivileges(final Map<ShardingSphereUser, ShardingSpherePrivileges> userPrivilegeMap, final DataSource dataSource,
final Collection<ShardingSphereUser> users) throws SQLException {
Map<ShardingSphereUser, List<PrivilegeType>> privilegeCache = new HashMap<>();
@@ -116,13 +116,13 @@ public final class OraclePrivilegeLoader implements StoragePrivilegeLoader {
}
fillSysPrivileges(privilegeCache, userPrivilegeMap);
}
-
+
private void fillSysPrivileges(final Map<ShardingSphereUser, List<PrivilegeType>> privilegeCache, final Map<ShardingSphereUser, ShardingSpherePrivileges> userPrivilegeMap) throws SQLException {
for (Entry<ShardingSphereUser, List<PrivilegeType>> entry : privilegeCache.entrySet()) {
userPrivilegeMap.get(entry.getKey()).getAdministrativePrivileges().getPrivileges().addAll(entry.getValue());
}
}
-
+
private void collectSysPrivileges(final Map<ShardingSphereUser, List<PrivilegeType>> privilegeCache, final ResultSet resultSet) throws SQLException {
String privilegeType = resultSet.getString("PRIVILEGE");
String grantee = resultSet.getString("GRANTEE");
@@ -130,22 +130,22 @@ public final class OraclePrivilegeLoader implements StoragePrivilegeLoader {
.computeIfAbsent(new ShardingSphereUser(grantee, "", ""), k -> new ArrayList<>())
.add(getPrivilegeType(privilegeType));
}
-
+
private Optional<ShardingSphereUser> findShardingSphereUser(final Map<ShardingSphereUser, ShardingSpherePrivileges> userPrivilegeMap, final ResultSet resultSet) throws SQLException {
Grantee grantee = new Grantee(resultSet.getString("rolname"), "");
return userPrivilegeMap.keySet().stream().filter(each -> each.getGrantee().equals(grantee)).findFirst();
}
-
+
private String getSysPrivilegesSQL(final Collection<ShardingSphereUser> users) {
String userList = users.stream().map(each -> String.format("'%s'", each.getGrantee().getUsername())).collect(Collectors.joining(", "));
return String.format(SYS_PRIVILEGE_SQL, userList);
}
-
+
private String getTablePrivilegesSQL(final Collection<ShardingSphereUser> users) {
String userList = users.stream().map(each -> String.format("'%s'", each.getGrantee().getUsername())).collect(Collectors.joining(", "));
return String.format(TABLE_PRIVILEGE_SQL, userList);
}
-
+
private PrivilegeType getPrivilegeType(final String privilege) {
switch (privilege) {
case "SELECT":
@@ -181,7 +181,7 @@ public final class OraclePrivilegeLoader implements StoragePrivilegeLoader {
throw new UnsupportedOperationException(privilege);
}
}
-
+
@Override
public String getType() {
return "Oracle";