From a62c94b34411abff6106c6d9239a1ec40f873d08 Mon Sep 17 00:00:00 2001 From: deiflaender Date: Wed, 15 Dec 2021 10:32:40 +0100 Subject: [PATCH] RED-3086: Fixed overlapping rule and dictionary entries --- .../redaction/utils/EntitySearchUtils.java | 2 ++ .../v1/server/RedactionIntegrationTest.java | 2 +- .../test/resources/dictionaries/CBI_address.txt | 8 ++++++++ .../files/new/just-a-document-20211215.pdf | Bin 0 -> 29990 bytes 4 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 redaction-service-v1/redaction-service-server-v1/src/test/resources/files/new/just-a-document-20211215.pdf diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/utils/EntitySearchUtils.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/utils/EntitySearchUtils.java index c3f110a9..76c7b335 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/utils/EntitySearchUtils.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/utils/EntitySearchUtils.java @@ -159,6 +159,8 @@ public class EntitySearchUtils { // HashSet keeps old value but we want the new. entities.removeAll(found); entities.addAll(found); + + removeEntitiesContainedInLarger(entities); } diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java index 46db8067..59781278 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java @@ -673,7 +673,7 @@ public class RedactionIntegrationTest { public void redactionTest() throws IOException { long start = System.currentTimeMillis(); - ClassPathResource pdfFileResource = new ClassPathResource("files/Metolachlor/S-Metolachlor_RAR_01_Volume_1_2018-09-06.pdf"); + ClassPathResource pdfFileResource = new ClassPathResource("files/new/just-a-document-20211215.pdf"); AnalyzeRequest request = prepareStorage(pdfFileResource.getInputStream()); request.setExcludedPages(Set.of(1)); diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/dictionaries/CBI_address.txt b/redaction-service-v1/redaction-service-server-v1/src/test/resources/dictionaries/CBI_address.txt index b6acc607..e896369d 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/resources/dictionaries/CBI_address.txt +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/dictionaries/CBI_address.txt @@ -1655,3 +1655,11 @@ Zyma SA, Nyon, Switzerland Mambo-Tox Ltd. Biomedical Sciences Building Bassett Crescent East Southampton SO16 7PX UK Syngenta Environmental Sciences Jealott’s Hill International Research Centre Bracknell, Berkshire RG42 6EY UK Test Ignored Hint CBI_ADDRESS +CTL +CTL - Central Toxicology Laboratory +CTL/P/3557 +CTL/P/3607 +CTL/P/S 161 +CTL/Pl4333 +CTL/with dictionary entry + diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/files/new/just-a-document-20211215.pdf b/redaction-service-v1/redaction-service-server-v1/src/test/resources/files/new/just-a-document-20211215.pdf new file mode 100644 index 0000000000000000000000000000000000000000..938b7a05e663aa840603b7c5853c2dcb2fe0609b GIT binary patch literal 29990 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 N)Fm4)`~R{o{|6{KQf~kN literal 0 HcmV?d00001