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 a08e83bb3c2 Remove MaskDistSQLConstants (#30611)
a08e83bb3c2 is described below
commit a08e83bb3c2f355514223728c123b71980d1cd8f
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Mar 23 01:07:54 2024 +0800
Remove MaskDistSQLConstants (#30611)
* Remove MaskDistSQLConstants
* Refactor MaskImportRuleConfigurationProvider
---
.../handler/constant/MaskDistSQLConstants.java | 44 ----------------------
.../MaskImportRuleConfigurationProvider.java | 19 ++++------
.../MaskRuleConfigurationToDistSQLConverter.java | 23 ++++++++---
3 files changed, 25 insertions(+), 61 deletions(-)
diff --git
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/constant/MaskDistSQLConstants.java
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/constant/MaskDistSQLConstants.java
deleted file mode 100644
index d945ffb44f9..00000000000
---
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/constant/MaskDistSQLConstants.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.mask.distsql.handler.constant;
-
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
-/**
- * Mask DistSQL constants.
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class MaskDistSQLConstants {
-
- public static final String COMMA = ",";
-
- public static final String SEMI = ";";
-
- public static final String CREATE_MASK = "CREATE MASK RULE";
-
- public static final String MASK = " %s ("
- + System.lineSeparator()
- + "COLUMNS("
- + System.lineSeparator()
- + "%s"
- + System.lineSeparator()
- + "),";
-
- public static final String MASK_COLUMN = "(NAME=%s, %s)";
-}
diff --git
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskImportRuleConfigurationProvider.java
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskImportRuleConfigurationProvider.java
index 628ca2a59b7..02d1625452b 100644
---
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskImportRuleConfigurationProvider.java
+++
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskImportRuleConfigurationProvider.java
@@ -33,7 +33,6 @@ import org.apache.shardingsphere.mask.rule.MaskRule;
import org.apache.shardingsphere.mask.spi.MaskAlgorithm;
import java.util.Collection;
-import java.util.LinkedList;
import java.util.Map.Entry;
import java.util.stream.Collectors;
@@ -53,11 +52,6 @@ public final class MaskImportRuleConfigurationProvider
implements ImportRuleConf
checkMaskAlgorithmsExisted(maskRuleConfig, database.getName());
}
- @Override
- public DatabaseRule build(final ShardingSphereDatabase database, final
RuleConfiguration ruleConfig, final InstanceContext instanceContext) {
- return new MaskRule((MaskRuleConfiguration) ruleConfig);
- }
-
private void checkTables(final MaskRuleConfiguration currentRuleConfig,
final String databaseName) {
Collection<String> tableNames =
currentRuleConfig.getTables().stream().map(MaskTableRuleConfiguration::getName).collect(Collectors.toList());
Collection<String> duplicatedTables =
tableNames.stream().collect(Collectors.groupingBy(each -> each,
Collectors.counting())).entrySet().stream()
@@ -70,14 +64,17 @@ public final class MaskImportRuleConfigurationProvider
implements ImportRuleConf
}
private void checkMaskAlgorithmsExisted(final MaskRuleConfiguration
currentRuleConfig, final String databaseName) {
- Collection<MaskColumnRuleConfiguration> columns = new LinkedList<>();
- currentRuleConfig.getTables().forEach(each ->
columns.addAll(each.getColumns()));
- Collection<String> notExistedAlgorithms =
columns.stream().map(MaskColumnRuleConfiguration::getMaskAlgorithm).collect(Collectors.toList());
- Collection<String> maskAlgorithms =
currentRuleConfig.getMaskAlgorithms().keySet();
- notExistedAlgorithms.removeIf(maskAlgorithms::contains);
+ Collection<String> notExistedAlgorithms =
currentRuleConfig.getTables().stream()
+ .flatMap(each ->
each.getColumns().stream()).map(MaskColumnRuleConfiguration::getMaskAlgorithm).collect(Collectors.toList());
+
notExistedAlgorithms.removeIf(currentRuleConfig.getMaskAlgorithms().keySet()::contains);
ShardingSpherePreconditions.checkState(notExistedAlgorithms.isEmpty(),
() -> new MissingRequiredAlgorithmException(databaseName,
notExistedAlgorithms));
}
+ @Override
+ public DatabaseRule build(final ShardingSphereDatabase database, final
RuleConfiguration ruleConfig, final InstanceContext instanceContext) {
+ return new MaskRule((MaskRuleConfiguration) ruleConfig);
+ }
+
@Override
public Class<? extends RuleConfiguration> getType() {
return MaskRuleConfiguration.class;
diff --git
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskRuleConfigurationToDistSQLConverter.java
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskRuleConfigurationToDistSQLConverter.java
index 57f49942460..8add471ed30 100644
---
a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskRuleConfigurationToDistSQLConverter.java
+++
b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/provider/MaskRuleConfigurationToDistSQLConverter.java
@@ -23,7 +23,6 @@ import
org.apache.shardingsphere.infra.algorithm.core.config.AlgorithmConfigurat
import org.apache.shardingsphere.mask.api.config.MaskRuleConfiguration;
import
org.apache.shardingsphere.mask.api.config.rule.MaskColumnRuleConfiguration;
import
org.apache.shardingsphere.mask.api.config.rule.MaskTableRuleConfiguration;
-import
org.apache.shardingsphere.mask.distsql.handler.constant.MaskDistSQLConstants;
import java.util.Collection;
import java.util.Iterator;
@@ -34,21 +33,33 @@ import java.util.Map;
*/
public final class MaskRuleConfigurationToDistSQLConverter implements
RuleConfigurationToDistSQLConverter<MaskRuleConfiguration> {
+ private static final String CREATE_MASK = "CREATE MASK RULE";
+
+ private static final String MASK = " %s ("
+ + System.lineSeparator()
+ + "COLUMNS("
+ + System.lineSeparator()
+ + "%s"
+ + System.lineSeparator()
+ + "),";
+
+ private static final String MASK_COLUMN = "(NAME=%s, %s)";
+
@Override
public String convert(final MaskRuleConfiguration ruleConfig) {
if (ruleConfig.getTables().isEmpty()) {
return "";
}
- StringBuilder result = new
StringBuilder(MaskDistSQLConstants.CREATE_MASK);
+ StringBuilder result = new StringBuilder(CREATE_MASK);
Iterator<MaskTableRuleConfiguration> iterator =
ruleConfig.getTables().iterator();
while (iterator.hasNext()) {
MaskTableRuleConfiguration tableRuleConfig = iterator.next();
- result.append(String.format(MaskDistSQLConstants.MASK,
tableRuleConfig.getName(), getMaskColumns(tableRuleConfig.getColumns(),
ruleConfig.getMaskAlgorithms())));
+ result.append(String.format(MASK, tableRuleConfig.getName(),
getMaskColumns(tableRuleConfig.getColumns(), ruleConfig.getMaskAlgorithms())));
if (iterator.hasNext()) {
-
result.append(MaskDistSQLConstants.COMMA).append(System.lineSeparator());
+ result.append(",").append(System.lineSeparator());
}
}
-
result.append(MaskDistSQLConstants.SEMI).append(System.lineSeparator()).append(System.lineSeparator());
+
result.append(";").append(System.lineSeparator()).append(System.lineSeparator());
return result.toString();
}
@@ -57,7 +68,7 @@ public final class MaskRuleConfigurationToDistSQLConverter
implements RuleConfig
Iterator<MaskColumnRuleConfiguration> iterator =
columnRuleConfig.iterator();
if (iterator.hasNext()) {
MaskColumnRuleConfiguration column = iterator.next();
- result.append(String.format(MaskDistSQLConstants.MASK_COLUMN,
column.getLogicColumn(), getMaskAlgorithms(column, maskAlgorithms)));
+ result.append(String.format(MASK_COLUMN, column.getLogicColumn(),
getMaskAlgorithms(column, maskAlgorithms)));
}
return result.toString();
}