refactor: улучшение качества кода
This commit is contained in:
@@ -27,7 +27,7 @@ import java.util.TreeMap;
|
||||
* Файла нет — работают настройки по умолчанию, и сервис поднимается без него.
|
||||
*/
|
||||
@Component
|
||||
public class SystemsConfig {
|
||||
public final class SystemsConfig {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(SystemsConfig.class);
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ import java.util.concurrent.TimeUnit;
|
||||
* библиотеке — это ровно тот класс проблем, из-за которого модели второй
|
||||
* ступени понадобилась отдельная настройка сборки.
|
||||
*/
|
||||
public class AdaptiveConcurrencyLimiter {
|
||||
public final class AdaptiveConcurrencyLimiter {
|
||||
|
||||
private static final long DEFAULT_ADJUST_WINDOW_NANOS = TimeUnit.MILLISECONDS.toNanos(20);
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ import ru.pdguard.detect.PdTypes;
|
||||
import ru.pdguard.detect.RuleRegistry;
|
||||
import ru.pdguard.detect.Span;
|
||||
import ru.pdguard.mask.MaskContext;
|
||||
import ru.pdguard.mask.MaskMode;
|
||||
import ru.pdguard.mask.Masker;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -271,6 +272,9 @@ public class Pipeline {
|
||||
|
||||
/** Замаскированный текст вместе с таблицей обратной замены. */
|
||||
public record Masked(String text, Map<String, String> restorations) {
|
||||
public Masked {
|
||||
restorations = Map.copyOf(restorations);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -283,7 +287,7 @@ public class Pipeline {
|
||||
*/
|
||||
public Masked maskWithRestorations(String text, SystemPolicy policy) {
|
||||
SystemPolicy reversible = new SystemPolicy(policy.name(), policy.enabled(), policy.demask(),
|
||||
ru.pdguard.mask.MaskMode.TOKEN, policy.types(), policy.requireCompanion(), policy.key());
|
||||
MaskMode.TOKEN, policy.types(), policy.requireCompanion(), policy.key());
|
||||
List<Span> spans = findPersonalData(text, reversible);
|
||||
if (spans.isEmpty()) {
|
||||
return new Masked(text, Map.of());
|
||||
|
||||
@@ -12,6 +12,8 @@ import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Общие приёмы чтения словарей и внешних файлов.
|
||||
@@ -24,6 +26,8 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
final class ResourceLoader {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(ResourceLoader.class);
|
||||
|
||||
private ResourceLoader() {
|
||||
}
|
||||
|
||||
@@ -90,8 +94,7 @@ final class ResourceLoader {
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// Битый файл не должен ронять работу: остаётся прежнее значение.
|
||||
java.util.logging.Logger.getLogger(ResourceLoader.class.getName())
|
||||
.fine("Не удалось перечитать файл " + path + ": " + e.getMessage());
|
||||
LOG.warn("Не удалось перечитать файл {}", path, e);
|
||||
}
|
||||
return state.current;
|
||||
}
|
||||
|
||||
@@ -31,6 +31,11 @@ import java.util.regex.Pattern;
|
||||
public record Rule(String type, Pattern pattern, int priority, List<Integer> groups,
|
||||
Predicate<String> validator, Pattern veto, Pattern context, List<String> anchors) {
|
||||
|
||||
public Rule {
|
||||
groups = List.copyOf(groups);
|
||||
anchors = List.copyOf(anchors);
|
||||
}
|
||||
|
||||
/**
|
||||
* Флаги компиляции для всех правил.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user