From 18a54e8d6671018fab374836f5ddd96706b27d9e Mon Sep 17 00:00:00 2001 From: zhangting Date: Fri, 5 Jul 2024 16:36:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=87=E5=AE=9A=E8=A1=A8=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=B8=AD=E9=85=8D=E7=BD=AE=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E8=A1=A8=E7=9A=84=E6=A0=A1=E9=AA=8C=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datachecker/check/config/RuleConfig.java | 1 + .../datachecker/check/modules/rule/RuleParser.java | 14 ++++++++++++++ .../datachecker/common/entry/enums/RuleType.java | 6 +++++- .../extract/service/RuleAdapterService.java | 4 ++-- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/datachecker-check/src/main/java/org/opengauss/datachecker/check/config/RuleConfig.java b/datachecker-check/src/main/java/org/opengauss/datachecker/check/config/RuleConfig.java index d041b47..afa2914 100644 --- a/datachecker-check/src/main/java/org/opengauss/datachecker/check/config/RuleConfig.java +++ b/datachecker-check/src/main/java/org/opengauss/datachecker/check/config/RuleConfig.java @@ -40,6 +40,7 @@ import java.util.Map; @ConfigurationProperties(prefix = "rules", ignoreInvalidFields = true) public class RuleConfig { private boolean enable; + private String whiteList; @TableRule private List table; @RowRule diff --git a/datachecker-check/src/main/java/org/opengauss/datachecker/check/modules/rule/RuleParser.java b/datachecker-check/src/main/java/org/opengauss/datachecker/check/modules/rule/RuleParser.java index bc008f5..f2b60f6 100644 --- a/datachecker-check/src/main/java/org/opengauss/datachecker/check/modules/rule/RuleParser.java +++ b/datachecker-check/src/main/java/org/opengauss/datachecker/check/modules/rule/RuleParser.java @@ -21,6 +21,7 @@ import org.opengauss.datachecker.common.entry.common.Rule; import org.opengauss.datachecker.common.entry.enums.RuleType; import org.springframework.util.Assert; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -43,6 +44,7 @@ public class RuleParser { Assert.notNull(config, "the rule config cannot be empty"); if (config.isEnable()) { Map> rules = new HashMap<>(); + parseWhiteRules(rules, config.getWhiteList()); parseTableRules(rules, config.getTable()); parseRowRules(rules, config.getRow()); parseColumnRules(rules, config.getColumn()); @@ -51,6 +53,18 @@ public class RuleParser { return new HashMap<>(); } + private void parseWhiteRules(Map> rules, String white) { + String[] tables = white.split(","); + List whiteRuleConfig = new ArrayList<>(); + for (String table : tables) { + Rule rule = new Rule(); + rule.setName("white"); + rule.setText(table); + whiteRuleConfig.add(rule); + } + putRules(rules, RuleType.WHITE, whiteRuleConfig); + } + private void parseTableRules(Map> rules, List tableRuleConfig) { putRules(rules, RuleType.TABLE, tableRuleConfig); } diff --git a/datachecker-common/src/main/java/org/opengauss/datachecker/common/entry/enums/RuleType.java b/datachecker-common/src/main/java/org/opengauss/datachecker/common/entry/enums/RuleType.java index 6eb57de..38e3804 100644 --- a/datachecker-common/src/main/java/org/opengauss/datachecker/common/entry/enums/RuleType.java +++ b/datachecker-common/src/main/java/org/opengauss/datachecker/common/entry/enums/RuleType.java @@ -11,6 +11,10 @@ import lombok.Getter; */ @Getter public enum RuleType implements IEnum { + /** + * white + */ + WHITE("white"), /** * table */ @@ -34,6 +38,6 @@ public enum RuleType implements IEnum { /** * DataSourceType api description */ - public static final String API_DESCRIPTION = "RuleType [TABLE ,ROW, COLUMN]"; + public static final String API_DESCRIPTION = "RuleType [WHITE, TABLE ,ROW, COLUMN]"; } diff --git a/datachecker-extract/src/main/java/org/opengauss/datachecker/extract/service/RuleAdapterService.java b/datachecker-extract/src/main/java/org/opengauss/datachecker/extract/service/RuleAdapterService.java index 72b6c7e..dfc587c 100644 --- a/datachecker-extract/src/main/java/org/opengauss/datachecker/extract/service/RuleAdapterService.java +++ b/datachecker-extract/src/main/java/org/opengauss/datachecker/extract/service/RuleAdapterService.java @@ -64,7 +64,7 @@ public class RuleAdapterService { * @param tableList tableList */ public List executeTableRule(List tableList) { - final List rules = RULES.get(RuleType.TABLE); + final List rules = RULES.get(RuleType.WHITE); if (CollectionUtils.isEmpty(rules)) { return tableList; } @@ -79,7 +79,7 @@ public class RuleAdapterService { * @return filter result */ public boolean filterTableByRule(String tableName) { - return tableRuleAdapterService.executeTableRule(RULES.get(RuleType.TABLE), tableName); + return tableRuleAdapterService.executeTableRule(RULES.get(RuleType.WHITE), tableName); } /** -- Gitee