From d5349a6e5eba28f448a943d007a6719a09e76129 Mon Sep 17 00:00:00 2001 From: Aleksey Kulikov Date: Wed, 21 May 2025 19:08:55 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-843 --- .../common/rules/ValidateSymbolsRule.java | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/ValidateSymbolsRule.java b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/ValidateSymbolsRule.java index 3de684663..bf2e62896 100644 --- a/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/ValidateSymbolsRule.java +++ b/clearing-parent/clearing-validation/src/main/java/ru/spcex/clearing/validation/common/rules/ValidateSymbolsRule.java @@ -103,26 +103,28 @@ public final class ValidateSymbolsRule implements IValidationRule currAllowedSymbols = new HashSet<>(); - while (matcher.find()) { - String part = matcher.group(); - if (part.length() == 3 && part.charAt(1) == '-') { - char start = part.charAt(0); - char end = part.charAt(2); - if (start > end) { - log.warn("Invalid character range: {}, skipped", part); - continue; + for (ValidationSymbols symbols : validationSymbols) { + Matcher matcher = rangePattern.matcher(symbols.getSymbols()); + Set currAllowedSymbols = new HashSet<>(); + while (matcher.find()) { + String part = matcher.group(); + if (part.length() == 3 && part.charAt(1) == '-') { + char start = part.charAt(0); + char end = part.charAt(2); + if (start > end) { + log.warn("Invalid character range: {}, skipped", part); + continue; + } + for (char c = start; c <= end; c++) { + currAllowedSymbols.add(c); + } + } else { + currAllowedSymbols.add(part.charAt(0)); } - for (char c = start; c <= end; c++) { - currAllowedSymbols.add(c); - } - } else { - currAllowedSymbols.add(part.charAt(0)); } + allowedSymbols.set(currAllowedSymbols); + allowedSymbolsHash.set(hash); } - allowedSymbols.set(currAllowedSymbols); - allowedSymbolsHash.set(hash); } }