From b14f3aa71057779cb3efa6113e6b9d66196d7b44 Mon Sep 17 00:00:00 2001 From: lmaldacker Date: Thu, 11 Feb 2021 14:06:01 +0100 Subject: [PATCH] purity III --- .../v1/server/redaction/model/Section.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/model/Section.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/model/Section.java index f53220ad..678e23c6 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/model/Section.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/model/Section.java @@ -140,7 +140,7 @@ public class Section { } - public void dismissByRegEx(String type, String pattern, boolean patternCaseInsensitive, int group) { + public void expandToHintAnnotationByRegEx(String type, String pattern, boolean patternCaseInsensitive, int group, String asType) { Pattern compiledPattern = Patterns.getCompiledPattern(pattern, patternCaseInsensitive); @@ -156,7 +156,7 @@ public class Section { while (matcher.find()) { String match = matcher.group(group); if (StringUtils.isNotBlank(match)) { - expanded.addAll(findEntities(entity.getWord() + match, type, false, entity.isRedaction(), 0, null, null)); + expanded.addAll(findEntities(entity.getWord() + match, asType, false, false, 0, null, null)); } } } @@ -166,6 +166,22 @@ public class Section { } + public void addHintAnnotationByRegEx(String pattern, boolean patternCaseInsensitive, int group, String asType) { + + Pattern compiledPattern = Patterns.getCompiledPattern(pattern, patternCaseInsensitive); + + Matcher matcher = compiledPattern.matcher(searchText); + + while (matcher.find()) { + String match = matcher.group(group); + if (StringUtils.isNotBlank(match)) { + Set found = findEntities(match.trim(), asType, false, false, 0, null, null); + EntitySearchUtils.addEntitiesWithHigherRank(entities, found, dictionary); + } + } + } + + public void redactIfPrecededBy(String prefix, String type, int ruleNumber, String reason, String legalBasis) { entities.forEach(entity -> {