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