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 <zhangli...@apache.org>
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();
     }

Reply via email to