From f48bdb6267c31596410fd4a311e64cd75f07830a Mon Sep 17 00:00:00 2001 From: Philipp Schramm Date: Thu, 21 Jul 2022 12:38:07 +0200 Subject: [PATCH] RED-4510: Implemented Test class which generates and compares RedactionLogs --- .gitignore | 1 + .../redaction-service-server-v1/pom.xml | 7 + .../redaction/v1/server/RulesTest.java | 773 ++++++++++++++++++ .../src/test/resources/drools/testRules.drl | 431 ++++++++++ ...FSA_sanitisation_GFL_v1_withHighlights.pdf | Bin 0 -> 153667 bytes 5 files changed, 1212 insertions(+) create mode 100644 redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RulesTest.java create mode 100644 redaction-service-v1/redaction-service-server-v1/src/test/resources/drools/testRules.drl create mode 100644 redaction-service-v1/redaction-service-server-v1/src/test/resources/files/RulesTest/SYNGENTA_EFSA_sanitisation_GFL_v1_withHighlights.pdf diff --git a/.gitignore b/.gitignore index 6bb4bada..0365fa46 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ **/.DS_Store **/classpath-data.json **/dependencies-and-licenses-overview.txt +/redaction-service-v1/redaction-service-server-v1/src/test/resources/RedactionLog/ diff --git a/redaction-service-v1/redaction-service-server-v1/pom.xml b/redaction-service-v1/redaction-service-server-v1/pom.xml index 47a85da3..84ea2060 100644 --- a/redaction-service-v1/redaction-service-server-v1/pom.xml +++ b/redaction-service-v1/redaction-service-server-v1/pom.xml @@ -38,6 +38,13 @@ ${jackson.version} + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson.version} + test + + org.ahocorasick ahocorasick diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RulesTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RulesTest.java new file mode 100644 index 00000000..bd752544 --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RulesTest.java @@ -0,0 +1,773 @@ +package com.iqser.red.service.redaction.v1.server; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.when; + +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.nio.file.DirectoryStream; +import java.nio.file.FileSystems; +import java.nio.file.Files; +import java.nio.file.Path; +import java.time.OffsetDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; +import org.junit.After; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.kie.api.KieServices; +import org.kie.api.builder.KieBuilder; +import org.kie.api.builder.KieFileSystem; +import org.kie.api.builder.KieModule; +import org.kie.api.runtime.KieContainer; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.Primary; +import org.springframework.core.io.ClassPathResource; +import org.springframework.test.context.junit4.SpringRunner; + +import com.amazonaws.services.s3.AmazonS3; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.configuration.Colors; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.DictionaryEntry; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.type.Type; +import com.iqser.red.service.redaction.v1.model.AnalyzeRequest; +import com.iqser.red.service.redaction.v1.model.Change; +import com.iqser.red.service.redaction.v1.model.Engine; +import com.iqser.red.service.redaction.v1.model.ManualChange; +import com.iqser.red.service.redaction.v1.model.Rectangle; +import com.iqser.red.service.redaction.v1.model.RedactionLog; +import com.iqser.red.service.redaction.v1.model.RedactionLogComment; +import com.iqser.red.service.redaction.v1.model.RedactionLogEntry; +import com.iqser.red.service.redaction.v1.model.RedactionLogLegalBasis; +import com.iqser.red.service.redaction.v1.model.StructureAnalyzeRequest; +import com.iqser.red.service.redaction.v1.server.annotate.AnnotationService; +import com.iqser.red.service.redaction.v1.server.client.DictionaryClient; +import com.iqser.red.service.redaction.v1.server.client.LegalBasisClient; +import com.iqser.red.service.redaction.v1.server.client.RulesClient; +import com.iqser.red.service.redaction.v1.server.controller.RedactionController; +import com.iqser.red.service.redaction.v1.server.redaction.service.AnalyzeService; +import com.iqser.red.service.redaction.v1.server.redaction.service.ManualRedactionSurroundingTextService; +import com.iqser.red.service.redaction.v1.server.redaction.utils.ResourceLoader; +import com.iqser.red.service.redaction.v1.server.redaction.utils.TextNormalizationUtilities; +import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService; +import com.iqser.red.storage.commons.StorageAutoConfiguration; +import com.iqser.red.storage.commons.service.StorageService; + +import lombok.SneakyThrows; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +@Import(RulesTest.RedactionIntegrationTestConfiguration.class) +public class RulesTest { + + private static final String RULES_PATH = "drools/testRules.drl"; + private static final String RULES = loadFromClassPath(RULES_PATH); + private static final String VERTEBRATE = "vertebrate"; + private static final String ADDRESS = "CBI_address"; + private static final String AUTHOR = "CBI_author"; + private static final String SPONSOR = "CBI_sponsor"; + private static final String NO_REDACTION_INDICATOR = "no_redaction_indicator"; + private static final String REDACTION_INDICATOR = "redaction_indicator"; + private static final String HINT_ONLY = "hint_only"; + private static final String MUST_REDACT = "must_redact"; + private static final String PUBLISHED_INFORMATION = "published_information"; + private static final String TEST_METHOD = "test_method"; + private static final String PURITY = "purity"; + private static final String IMAGE = "image"; + private static final String LOGO = "logo"; + private static final String SIGNATURE = "signature"; + private static final String FORMULA = "formula"; + private static final String OCR = "ocr"; + private static final String DOSSIER_REDACTIONS = "dossier_redactions"; + private static final String IMPORTED_REDACTION = "imported_redaction"; + private static final String PII = "PII"; + + private static final String RESOURCES_PATH = "src/test/resources/"; + + private static final String REDACTION_LOG_PATH = RESOURCES_PATH + "RedactionLog/"; + private final static String TEST_DOSSIER_TEMPLATE_ID = "123"; + private final static String TEST_DOSSIER_ID = "123"; + private final Map> dictionary = new HashMap<>(); + private final Map> dossierDictionary = new HashMap<>(); + private final Map> falsePositive = new HashMap<>(); + private final Map> falseRecommendation = new HashMap<>(); + private final Map typeColorMap = new HashMap<>(); + private final Map hintTypeMap = new HashMap<>(); + private final Map caseInSensitiveMap = new HashMap<>(); + private final Map recommendationTypeMap = new HashMap<>(); + private final Map rankTypeMap = new HashMap<>(); + private final Colors colors = new Colors(); + private final Map reanalysisVersions = new HashMap<>(); + private final Set deleted = new HashSet<>(); + @Autowired + private RedactionController redactionController; + @Autowired + private AnnotationService annotationService; + @Autowired + private AnalyzeService analyzeService; + @Autowired + private ObjectMapper objectMapper; + @MockBean + private RulesClient rulesClient; + @MockBean + private DictionaryClient dictionaryClient; + @Autowired + private RedactionStorageService redactionStorageService; + @Autowired + private StorageService storageService; + @Autowired + private ManualRedactionSurroundingTextService manualRedactionSurroundingTextService; + @MockBean + private AmazonS3 amazonS3; + @MockBean + private RabbitTemplate rabbitTemplate; + @MockBean + private LegalBasisClient legalBasisClient; + private String TEST_FILE_ID = "123"; + + + private static String loadFromClassPath(String path) { + + URL resource = ResourceLoader.class.getClassLoader().getResource(path); + if (resource == null) { + throw new IllegalArgumentException("could not load classpath resource: drools/rules.drl"); + } + try (BufferedReader br = new BufferedReader(new InputStreamReader(resource.openStream(), StandardCharsets.UTF_8))) { + StringBuilder sb = new StringBuilder(); + String str; + while ((str = br.readLine()) != null) { + sb.append(str).append("\n"); + } + return sb.toString(); + } catch (IOException e) { + throw new IllegalArgumentException("could not load classpath resource: " + path, e); + } + } + + + @After + public void cleanupStorage() { + + if (this.storageService instanceof FileSystemBackedStorageService) { + ((FileSystemBackedStorageService) this.storageService).clearStorage(); + } + } + + + @Before + public void stubClients() { + + when(rulesClient.getVersion(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(0L); + when(rulesClient.getRules(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(JSONPrimitive.of(RULES)); + + loadDictionaryForTest(); + loadTypeForTest(); + when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(0L); + when(dictionaryClient.getAllTypesForDossierTemplate(TEST_DOSSIER_TEMPLATE_ID, false)).thenReturn(getTypeResponse()); + + when(dictionaryClient.getVersion(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(0L); + when(dictionaryClient.getAllTypesForDossier(TEST_DOSSIER_ID, false)).thenReturn(List.of(Type.builder() + .id(DOSSIER_REDACTIONS + ":" + TEST_DOSSIER_TEMPLATE_ID) + .type(DOSSIER_REDACTIONS) + .dossierTemplateId(TEST_DOSSIER_ID) + .hexColor("#ffe187") + .isHint(hintTypeMap.get(DOSSIER_REDACTIONS)) + .isCaseInsensitive(caseInSensitiveMap.get(DOSSIER_REDACTIONS)) + .isRecommendation(recommendationTypeMap.get(DOSSIER_REDACTIONS)) + .rank(rankTypeMap.get(DOSSIER_REDACTIONS)) + .build())); + + mockDictionaryCalls(null); + mockDictionaryCalls(0L); + + when(dictionaryClient.getColors(TEST_DOSSIER_TEMPLATE_ID)).thenReturn(colors); + } + + + private void loadDictionaryForTest() { + + dictionary.computeIfAbsent(AUTHOR, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/CBI_author.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(SPONSOR, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/CBI_sponsor.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(VERTEBRATE, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/vertebrate.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(ADDRESS, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/CBI_address.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(NO_REDACTION_INDICATOR, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/no_redaction_indicator.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(REDACTION_INDICATOR, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/redaction_indicator.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(HINT_ONLY, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/hint_only.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(MUST_REDACT, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/must_redact.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(PUBLISHED_INFORMATION, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/published_information.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(TEST_METHOD, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/test_method.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(PII, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/PII.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(PURITY, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/purity.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(IMAGE, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/empty.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(OCR, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/empty.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(LOGO, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/empty.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(SIGNATURE, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/empty.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dictionary.computeIfAbsent(FORMULA, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/empty.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dossierDictionary.computeIfAbsent(DOSSIER_REDACTIONS, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/dossier_redactions.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + dossierDictionary.put(IMPORTED_REDACTION, new ArrayList<>()); + + falsePositive.computeIfAbsent(PII, v -> new ArrayList<>()) + .addAll(ResourceLoader.load("dictionaries/PII_false_positive.txt").stream().map(this::cleanDictionaryEntry).collect(Collectors.toSet())); + + } + + + private void loadTypeForTest() { + + typeColorMap.put(VERTEBRATE, "#ff85f7"); + typeColorMap.put(ADDRESS, "#ffe187"); + typeColorMap.put(AUTHOR, "#ffe187"); + typeColorMap.put(SPONSOR, "#85ebff"); + typeColorMap.put(NO_REDACTION_INDICATOR, "#be85ff"); + typeColorMap.put(REDACTION_INDICATOR, "#caff85"); + typeColorMap.put(HINT_ONLY, "#abc0c4"); + typeColorMap.put(MUST_REDACT, "#fab4c0"); + typeColorMap.put(PUBLISHED_INFORMATION, "#85ebff"); + typeColorMap.put(TEST_METHOD, "#91fae8"); + typeColorMap.put(PII, "#66ccff"); + typeColorMap.put(PURITY, "#ffe187"); + typeColorMap.put(IMAGE, "#fcc5fb"); + typeColorMap.put(OCR, "#fcc5fb"); + typeColorMap.put(LOGO, "#ffe187"); + typeColorMap.put(FORMULA, "#ffe187"); + typeColorMap.put(SIGNATURE, "#ffe187"); + typeColorMap.put(IMPORTED_REDACTION, "#fcfbe6"); + + hintTypeMap.put(VERTEBRATE, true); + hintTypeMap.put(ADDRESS, false); + hintTypeMap.put(AUTHOR, false); + hintTypeMap.put(SPONSOR, false); + hintTypeMap.put(NO_REDACTION_INDICATOR, true); + hintTypeMap.put(REDACTION_INDICATOR, true); + hintTypeMap.put(HINT_ONLY, true); + hintTypeMap.put(MUST_REDACT, true); + hintTypeMap.put(PUBLISHED_INFORMATION, true); + hintTypeMap.put(TEST_METHOD, true); + hintTypeMap.put(PII, false); + hintTypeMap.put(PURITY, false); + hintTypeMap.put(IMAGE, true); + hintTypeMap.put(OCR, true); + hintTypeMap.put(FORMULA, false); + hintTypeMap.put(LOGO, false); + hintTypeMap.put(SIGNATURE, false); + hintTypeMap.put(DOSSIER_REDACTIONS, false); + hintTypeMap.put(IMPORTED_REDACTION, false); + + caseInSensitiveMap.put(VERTEBRATE, true); + caseInSensitiveMap.put(ADDRESS, false); + caseInSensitiveMap.put(AUTHOR, false); + caseInSensitiveMap.put(SPONSOR, false); + caseInSensitiveMap.put(NO_REDACTION_INDICATOR, true); + caseInSensitiveMap.put(REDACTION_INDICATOR, true); + caseInSensitiveMap.put(HINT_ONLY, true); + caseInSensitiveMap.put(MUST_REDACT, true); + caseInSensitiveMap.put(PUBLISHED_INFORMATION, true); + caseInSensitiveMap.put(TEST_METHOD, false); + caseInSensitiveMap.put(PII, false); + caseInSensitiveMap.put(PURITY, false); + caseInSensitiveMap.put(IMAGE, true); + caseInSensitiveMap.put(OCR, true); + caseInSensitiveMap.put(SIGNATURE, true); + caseInSensitiveMap.put(LOGO, true); + caseInSensitiveMap.put(FORMULA, true); + caseInSensitiveMap.put(DOSSIER_REDACTIONS, false); + caseInSensitiveMap.put(IMPORTED_REDACTION, false); + + recommendationTypeMap.put(VERTEBRATE, false); + recommendationTypeMap.put(ADDRESS, false); + recommendationTypeMap.put(AUTHOR, false); + recommendationTypeMap.put(SPONSOR, false); + recommendationTypeMap.put(NO_REDACTION_INDICATOR, false); + recommendationTypeMap.put(REDACTION_INDICATOR, false); + recommendationTypeMap.put(HINT_ONLY, false); + recommendationTypeMap.put(MUST_REDACT, false); + recommendationTypeMap.put(PUBLISHED_INFORMATION, false); + recommendationTypeMap.put(TEST_METHOD, false); + recommendationTypeMap.put(PII, false); + recommendationTypeMap.put(PURITY, false); + recommendationTypeMap.put(IMAGE, false); + recommendationTypeMap.put(OCR, false); + recommendationTypeMap.put(FORMULA, false); + recommendationTypeMap.put(SIGNATURE, false); + recommendationTypeMap.put(LOGO, false); + recommendationTypeMap.put(DOSSIER_REDACTIONS, false); + recommendationTypeMap.put(IMPORTED_REDACTION, false); + + rankTypeMap.put(PURITY, 155); + rankTypeMap.put(PII, 150); + rankTypeMap.put(ADDRESS, 140); + rankTypeMap.put(AUTHOR, 130); + rankTypeMap.put(SPONSOR, 120); + rankTypeMap.put(VERTEBRATE, 110); + rankTypeMap.put(MUST_REDACT, 100); + rankTypeMap.put(REDACTION_INDICATOR, 90); + rankTypeMap.put(NO_REDACTION_INDICATOR, 80); + rankTypeMap.put(PUBLISHED_INFORMATION, 70); + rankTypeMap.put(TEST_METHOD, 60); + rankTypeMap.put(HINT_ONLY, 50); + rankTypeMap.put(IMAGE, 30); + rankTypeMap.put(OCR, 29); + rankTypeMap.put(LOGO, 28); + rankTypeMap.put(SIGNATURE, 27); + rankTypeMap.put(FORMULA, 26); + rankTypeMap.put(DOSSIER_REDACTIONS, 200); + rankTypeMap.put(IMPORTED_REDACTION, 200); + + colors.setSkippedColor("#cccccc"); + colors.setRequestAddColor("#04b093"); + colors.setRequestRemoveColor("#04b093"); + } + + + private List getTypeResponse() { + + return typeColorMap.entrySet() + .stream() + .map(typeColor -> Type.builder() + .id(typeColor.getKey() + ":" + TEST_DOSSIER_TEMPLATE_ID) + .type(typeColor.getKey()) + .dossierTemplateId(TEST_DOSSIER_TEMPLATE_ID) + .hexColor(typeColor.getValue()) + .isHint(hintTypeMap.get(typeColor.getKey())) + .isCaseInsensitive(caseInSensitiveMap.get(typeColor.getKey())) + .isRecommendation(recommendationTypeMap.get(typeColor.getKey())) + .rank(rankTypeMap.get(typeColor.getKey())) + .build()) + + .collect(Collectors.toList()); + } + + + private void mockDictionaryCalls(Long version) { + + when(dictionaryClient.getDictionaryForType(VERTEBRATE + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(VERTEBRATE, false)); + when(dictionaryClient.getDictionaryForType(ADDRESS + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(ADDRESS, false)); + when(dictionaryClient.getDictionaryForType(AUTHOR + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(AUTHOR, false)); + when(dictionaryClient.getDictionaryForType(SPONSOR + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(SPONSOR, false)); + when(dictionaryClient.getDictionaryForType(NO_REDACTION_INDICATOR + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(NO_REDACTION_INDICATOR, false)); + when(dictionaryClient.getDictionaryForType(REDACTION_INDICATOR + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(REDACTION_INDICATOR, false)); + when(dictionaryClient.getDictionaryForType(HINT_ONLY + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(HINT_ONLY, false)); + when(dictionaryClient.getDictionaryForType(MUST_REDACT + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(MUST_REDACT, false)); + when(dictionaryClient.getDictionaryForType(PUBLISHED_INFORMATION + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(PUBLISHED_INFORMATION, false)); + when(dictionaryClient.getDictionaryForType(TEST_METHOD + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(TEST_METHOD, false)); + when(dictionaryClient.getDictionaryForType(PII + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(PII, false)); + when(dictionaryClient.getDictionaryForType(PURITY + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(PURITY, false)); + when(dictionaryClient.getDictionaryForType(IMAGE + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(IMAGE, false)); + when(dictionaryClient.getDictionaryForType(OCR + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(OCR, false)); + when(dictionaryClient.getDictionaryForType(LOGO + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(LOGO, false)); + when(dictionaryClient.getDictionaryForType(SIGNATURE + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(SIGNATURE, false)); + when(dictionaryClient.getDictionaryForType(FORMULA + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(FORMULA, false)); + when(dictionaryClient.getDictionaryForType(DOSSIER_REDACTIONS + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(DOSSIER_REDACTIONS, true)); + when(dictionaryClient.getDictionaryForType(IMPORTED_REDACTION + ":" + TEST_DOSSIER_TEMPLATE_ID, version)).thenReturn(getDictionaryResponse(IMPORTED_REDACTION, true)); + + } + + + private String cleanDictionaryEntry(String entry) { + + return TextNormalizationUtilities.removeHyphenLineBreaks(entry).replaceAll("\\n", " "); + } + + + private Type getDictionaryResponse(String type, boolean isDossierDictionary) { + + return Type.builder() + .id(type + ":" + TEST_DOSSIER_TEMPLATE_ID) + .hexColor(typeColorMap.get(type)) + .entries(isDossierDictionary ? toDictionaryEntry(dossierDictionary.get(type)) : toDictionaryEntry(dictionary.get(type))) + .falsePositiveEntries(falsePositive.containsKey(type) ? toDictionaryEntry(falsePositive.get(type)) : new ArrayList<>()) + .falseRecommendationEntries(falseRecommendation.containsKey(type) ? toDictionaryEntry(falseRecommendation.get(type)) : new ArrayList<>()) + .isHint(hintTypeMap.get(type)) + .isCaseInsensitive(caseInSensitiveMap.get(type)) + .isRecommendation(recommendationTypeMap.get(type)) + .rank(rankTypeMap.get(type)) + .build(); + } + + + private List toDictionaryEntry(List entries) { + + List dictionaryEntries = new ArrayList<>(); + entries.forEach(entry -> dictionaryEntries.add(DictionaryEntry.builder() + .value(entry) + .version(reanalysisVersions.getOrDefault(entry, 0L)) + .deleted(deleted.contains(entry)) + .build())); + return dictionaryEntries; + } + + + /** + * Generates RedactionLog for given file and saves it here: REDACTION_LOG_PATH + */ + @Ignore + @Test + @SneakyThrows + public void generateRedactionLogForOneFile() { + + String fileName = "files/Compounds/31 A14111B - EU AIR3 - MCP Section 1 - Identity of the plant protection product.pdf"; + generateRedactionLog(fileName); + } + + + @SneakyThrows + public void generateRedactionLog(String fileName) { + + increaseTestFileId(); + + System.out.println("Generate RedactionLog as Json for " + fileName + " with fileId " + TEST_FILE_ID); + + loadNerForTest(); + + AnalyzeRequest request = prepareStorage(fileName); + analyzeService.analyzeDocumentStructure(new StructureAnalyzeRequest(request.getDossierId(), request.getFileId())); + analyzeService.analyze(request); + + RedactionLog redactionLog = redactionStorageService.getRedactionLog(TEST_DOSSIER_ID, TEST_FILE_ID); + + saveRedactionLogAsJson(redactionLog, fileName); + } + + + private void increaseTestFileId() { + + TEST_FILE_ID = Integer.toString(Integer.parseInt(TEST_FILE_ID) + 1); + } + + + @SneakyThrows + private void loadNerForTest() { + + ClassPathResource responseJson = new ClassPathResource("files/ner_response.json"); + var bytes = IOUtils.toByteArray(responseJson.getInputStream()); + storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.NER_ENTITIES), bytes); + } + + + @SneakyThrows + private AnalyzeRequest prepareStorage(String file) { + + ClassPathResource pdfFileResource = new ClassPathResource(file); + + return prepareStorage(pdfFileResource.getInputStream()); + } + + + @SneakyThrows + private void saveRedactionLogAsJson(RedactionLog redactionLog, String pdfFileName) { + + File pdfFile = new File(pdfFileName); + + String directory = REDACTION_LOG_PATH + pdfFile.getParentFile().getPath(); + File dr = new File(directory); + boolean created = dr.mkdirs(); + if (created) { + System.out.println("Directory was created"); + } + + String fileName = StringUtils.replace(pdfFile.getName(), ".pdf", ".json"); + File file = new File(directory, fileName); + + ObjectMapper mapper = new ObjectMapper(); + mapper.registerModule(new JavaTimeModule()); + mapper.writeValue(file, redactionLog); + + System.out.println("Saved RedactionLog for " + fileName + " here " + directory); + } + + + @SneakyThrows + private AnalyzeRequest prepareStorage(InputStream stream) { + + AnalyzeRequest request = AnalyzeRequest.builder() + .dossierTemplateId(TEST_DOSSIER_TEMPLATE_ID) + .dossierId(TEST_DOSSIER_ID) + .fileId(TEST_FILE_ID) + .lastProcessed(OffsetDateTime.now()) + .build(); + + var bytes = IOUtils.toByteArray(stream); + + storageService.storeObject(RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.ORIGIN), bytes); + + return request; + + } + + + /** + * Generates RedactionLog for all files and saves it here: REDACTION_LOG_PATH + */ + @Ignore + @Test + @SneakyThrows + public void generateRedactionLogForAllFiles() { + + Set files = getFileNames(new HashSet<>(), FileSystems.getDefault().getPath(RESOURCES_PATH)); + System.out.println("Will generate RedactionLog for " + files.size() + " files."); + TEST_FILE_ID = "1000"; + files.forEach(this::generateRedactionLog); + } + + + /** + * Analyses file and compares its RedactionLog with saved one from here: REDACTION_LOG_PATH. + * If RedactionLog Json does not exist, test will fail. + */ + @Ignore + @Test + @SneakyThrows + public void analyseFileAndCompareRedactionLog() { + + String fileName = "files/Compounds/28 A8637C - EU AIR3 - MCP Section 10 - Ecotoxicological studies on the plant protection product.pdf"; + analyseFileAndCompareRedactionLog(fileName); + } + + + @SneakyThrows + public void analyseFileAndCompareRedactionLog(String fileName) { + + increaseTestFileId(); + System.out.println("Analyse " + fileName + " with fileId " + TEST_FILE_ID + " and compare it with its saved RedactionLog"); + + RedactionLog savedRedactionLog = loadSavedRedactionLog(fileName); + + loadNerForTest(); + + AnalyzeRequest request = prepareStorage(fileName); + analyzeService.analyzeDocumentStructure(new StructureAnalyzeRequest(request.getDossierId(), request.getFileId())); + analyzeService.analyze(request); + + RedactionLog redactionLog = redactionStorageService.getRedactionLog(TEST_DOSSIER_ID, TEST_FILE_ID); + + assertThat(redactionLog.getAnalysisVersion()).isEqualTo(savedRedactionLog.getAnalysisVersion()); + assertThat(redactionLog.getAnalysisNumber()).isEqualTo(savedRedactionLog.getAnalysisNumber()); + assertThat(redactionLog.getDictionaryVersion()).isEqualTo(savedRedactionLog.getDictionaryVersion()); + assertThat(redactionLog.getDossierDictionaryVersion()).isEqualTo(savedRedactionLog.getDossierDictionaryVersion()); + assertThat(redactionLog.getRulesVersion()).isEqualTo(savedRedactionLog.getRulesVersion()); + assertThat(redactionLog.getLegalBasisVersion()).isEqualTo(savedRedactionLog.getLegalBasisVersion()); + + assertThat(redactionLog.getRedactionLogEntry().size()).isEqualTo(savedRedactionLog.getRedactionLogEntry().size()); + assertThat(redactionLog.getLegalBasis().size()).isEqualTo(savedRedactionLog.getLegalBasis().size()); + + for (RedactionLogLegalBasis redactionLegalBasis : redactionLog.getLegalBasis()) { + var savedRedactionLegalBasis = savedRedactionLog.getLegalBasis() + .stream() + .filter(lb -> lb.getName().equalsIgnoreCase(redactionLegalBasis.getName())) + .filter(lb -> lb.getDescription().equalsIgnoreCase(redactionLegalBasis.getDescription())) + .filter(lb -> lb.getReason().equalsIgnoreCase(redactionLegalBasis.getReason())) + .findFirst(); + assertThat(savedRedactionLegalBasis).isPresent(); + } + + for (RedactionLogEntry redactionLogEntry : redactionLog.getRedactionLogEntry()) { + var savedRedactionLogEntry = savedRedactionLog.getRedactionLogEntry().stream().filter(r -> r.getId().equalsIgnoreCase(redactionLogEntry.getId())).findFirst(); + assertThat(savedRedactionLogEntry).isPresent(); + assertThat(savedRedactionLogEntry.get().getId()).isEqualTo(redactionLogEntry.getId()); + assertThat(savedRedactionLogEntry.get().getType()).isEqualTo(redactionLogEntry.getType()); + assertThat(savedRedactionLogEntry.get().getValue()).isEqualTo(redactionLogEntry.getValue()); + assertThat(savedRedactionLogEntry.get().getReason()).isEqualTo(redactionLogEntry.getReason()); + assertThat(savedRedactionLogEntry.get().getMatchedRule()).isEqualTo(redactionLogEntry.getMatchedRule()); + assertThat(savedRedactionLogEntry.get().isRectangle()).isEqualTo(redactionLogEntry.isRectangle()); + assertThat(savedRedactionLogEntry.get().getLegalBasis()).isEqualTo(redactionLogEntry.getLegalBasis()); + assertThat(savedRedactionLogEntry.get().isImported()).isEqualTo(redactionLogEntry.isImported()); + assertThat(savedRedactionLogEntry.get().isRedacted()).isEqualTo(redactionLogEntry.isRedacted()); + assertThat(savedRedactionLogEntry.get().isHint()).isEqualTo(redactionLogEntry.isHint()); + assertThat(savedRedactionLogEntry.get().isRecommendation()).isEqualTo(redactionLogEntry.isRecommendation()); + assertThat(savedRedactionLogEntry.get().isFalsePositive()).isEqualTo(redactionLogEntry.isFalsePositive()); + assertThat(savedRedactionLogEntry.get().getSection()).isEqualTo(redactionLogEntry.getSection()); + assertThat(savedRedactionLogEntry.get().getColor()).isEqualTo(redactionLogEntry.getColor()); + assertThat(savedRedactionLogEntry.get().getSectionNumber()).isEqualTo(redactionLogEntry.getSectionNumber()); + assertThat(savedRedactionLogEntry.get().getTextBefore()).isEqualTo(redactionLogEntry.getTextBefore()); + assertThat(savedRedactionLogEntry.get().getTextAfter()).isEqualTo(redactionLogEntry.getTextAfter()); + assertThat(savedRedactionLogEntry.get().getStartOffset()).isEqualTo(redactionLogEntry.getStartOffset()); + assertThat(savedRedactionLogEntry.get().getEndOffset()).isEqualTo(redactionLogEntry.getEndOffset()); + assertThat(savedRedactionLogEntry.get().isImage()).isEqualTo(redactionLogEntry.isImage()); + assertThat(savedRedactionLogEntry.get().isImageHasTransparency()).isEqualTo(redactionLogEntry.isImageHasTransparency()); + assertThat(savedRedactionLogEntry.get().isDictionaryEntry()).isEqualTo(redactionLogEntry.isDictionaryEntry()); + assertThat(savedRedactionLogEntry.get().isDossierDictionaryEntry()).isEqualTo(redactionLogEntry.isDossierDictionaryEntry()); + assertThat(savedRedactionLogEntry.get().isExcluded()).isEqualTo(redactionLogEntry.isExcluded()); + assertThat(savedRedactionLogEntry.get().getSourceId()).isEqualTo(redactionLogEntry.getSourceId()); + + for (Rectangle rectangle : redactionLogEntry.getPositions()) { + var savedRectangle = savedRedactionLogEntry.get() + .getPositions() + .stream() + .filter(r -> r.getPage() == rectangle.getPage()) + .filter(r -> r.getTopLeft().getX() == rectangle.getTopLeft().getX()) + .filter(r -> r.getTopLeft().getY() == rectangle.getTopLeft().getY()) + .filter(r -> r.getHeight() == rectangle.getHeight()) + .filter(r -> r.getWidth() == rectangle.getWidth()) + .findFirst(); + assertThat(savedRectangle).isPresent(); + } + + for (RedactionLogComment comment : redactionLogEntry.getComments()) { + var savedComment = savedRedactionLogEntry.get().getComments().stream().filter(c -> c.getId() == comment.getId()).findFirst(); + assertThat(savedComment).isPresent(); + assertThat(savedComment.get().getId()).isEqualTo(comment.getId()); + assertThat(savedComment.get().getUser()).isEqualTo(comment.getUser()); + assertThat(savedComment.get().getText()).isEqualTo(comment.getText()); + assertThat(savedComment.get().getAnnotationId()).isEqualTo(comment.getAnnotationId()); + assertThat(savedComment.get().getFileId()).isEqualTo(comment.getFileId()); + + } + + for (Change change : redactionLogEntry.getChanges()) { + var savedChange = savedRedactionLogEntry.get() + .getChanges() + .stream() + .filter(c -> c.getAnalysisNumber() == change.getAnalysisNumber()) + .filter(c -> c.getType() == change.getType()) + .findFirst(); + assertThat(savedChange).isPresent(); + } + + for (ManualChange manualChange : redactionLogEntry.getManualChanges()) { + var savedManualChange = savedRedactionLogEntry.get() + .getManualChanges() + .stream() + .filter(m -> m.getAnnotationStatus() == manualChange.getAnnotationStatus()) + .filter(m -> m.getManualRedactionType() == manualChange.getManualRedactionType()) + .filter(m -> m.getUserId().equalsIgnoreCase(manualChange.getUserId())) + .filter(m -> m.getPropertyChanges() == manualChange.getPropertyChanges()) + .findFirst(); + assertThat(savedManualChange).isPresent(); + } + + assertThat(savedRedactionLogEntry.get().getEngines()).containsExactly(redactionLogEntry.getEngines().toArray(new Engine[0])); + + assertThat(savedRedactionLogEntry.get().getReference()).containsAll(redactionLogEntry.getReference()); + assertThat(savedRedactionLogEntry.get().getImportedRedactionIntersections()).containsAll(redactionLogEntry.getImportedRedactionIntersections()); + } + + } + + + @SneakyThrows + private RedactionLog loadSavedRedactionLog(String pdfFileName) { + + File pdfFile = new File(pdfFileName); + String directory = REDACTION_LOG_PATH + pdfFile.getParentFile().getPath(); + String fileName = StringUtils.replace(pdfFile.getName(), ".pdf", ".json"); + File file = new File(directory, fileName); + + ObjectMapper om = new ObjectMapper(); + om.registerModule(new JavaTimeModule()); + om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + + assertThat(file).exists(); + return om.readValue(file, RedactionLog.class); + } + + + /** + * Analyses all files and compares its RedactionLog with saved one from here: REDACTION_LOG_PATH + * If RedactionLogs Json does not exist, test will fail. + */ + @Ignore + @Test + @SneakyThrows + public void analyseAllFilesAndCompareRedactionLogs() { + + Set files = getFileNames(new HashSet<>(), FileSystems.getDefault().getPath(RESOURCES_PATH)); + System.out.println("Will analyse " + files.size() + " files and compare its RedactionLogs."); + TEST_FILE_ID = "5000"; + files.forEach(this::analyseFileAndCompareRedactionLog); + } + + + @SneakyThrows + private Set getFileNames(Set fileNames, Path dir) { + + try (DirectoryStream stream = Files.newDirectoryStream(dir)) { + for (Path path : stream) { + if (path.toFile().isDirectory()) { + getFileNames(fileNames, path); + } else if (StringUtils.endsWith(path.toAbsolutePath().toString(), ".pdf")) { + String absolutePath = path.toAbsolutePath().toString(); + int pos = StringUtils.indexOf(absolutePath, StringUtils.replace(RESOURCES_PATH, "/", "\\")) + 18; + fileNames.add(StringUtils.substring(absolutePath, pos)); + } + } + } + return fileNames; + } + + + @Configuration + @EnableAutoConfiguration(exclude = {RabbitAutoConfiguration.class, StorageAutoConfiguration.class}) + public static class RedactionIntegrationTestConfiguration { + + @Bean + public KieContainer kieContainer() { + + KieServices kieServices = KieServices.Factory.get(); + + KieFileSystem kieFileSystem = kieServices.newKieFileSystem(); + InputStream input = new ByteArrayInputStream(RULES.getBytes(StandardCharsets.UTF_8)); + kieFileSystem.write(RESOURCES_PATH + RULES_PATH, kieServices.getResources().newInputStreamResource(input)); + KieBuilder kieBuilder = kieServices.newKieBuilder(kieFileSystem); + kieBuilder.buildAll(); + KieModule kieModule = kieBuilder.getKieModule(); + + return kieServices.newKieContainer(kieModule.getReleaseId()); + } + + + @Bean + @Primary + public StorageService inmemoryStorage() { + + return new FileSystemBackedStorageService(); + } + + } + +} diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/drools/testRules.drl b/redaction-service-v1/redaction-service-server-v1/src/test/resources/drools/testRules.drl new file mode 100644 index 00000000..ad7726cd --- /dev/null +++ b/redaction-service-v1/redaction-service-server-v1/src/test/resources/drools/testRules.drl @@ -0,0 +1,431 @@ +package drools + +import com.iqser.red.service.redaction.v1.server.redaction.model.Section + +global Section section + + +// --------------------------------------- AI rules ------------------------------------------------------------------- + +rule "0: Add CBI_author from ai" + when + Section(aiMatchesType("CBI_author")) + then + section.addAiEntities("CBI_author", "CBI_author"); + end + +rule "0: Combine address parts from ai to CBI_address (org is mandatory)" + when + Section(aiMatchesType("ORG")) + then + section.combineAiTypes("ORG", "STREET,POSTAL,COUNTRY,CARDINAL,CITY,STATE", 20, "CBI_address", 3, false); + end + +rule "0: Combine address parts from ai to CBI_address (street is mandatory)" + when + Section(aiMatchesType("STREET")) + then + section.combineAiTypes("STREET", "ORG,POSTAL,COUNTRY,CARDINAL,CITY,STATE", 20, "CBI_address", 3, false); + end + +rule "0: Combine address parts from ai to CBI_address (city is mandatory)" + when + Section(aiMatchesType("CITY")) + then + section.combineAiTypes("CITY", "ORG,STREET,POSTAL,COUNTRY,CARDINAL,STATE", 20, "CBI_address", 3, false); + end + + +// --------------------------------------- CBI rules ------------------------------------------------------------------- + +rule "1: Redact CBI Authors (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && matchesType("CBI_author")) + then + section.redact("CBI_author", 1, "Author found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + end + +rule "2: Redact CBI Authors (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && matchesType("CBI_author")) + then + section.redact("CBI_author", 2, "Author found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + + +rule "3: Redact not CBI Address (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && matchesType("CBI_address")) + then + section.redactNot("CBI_address", 3, "Address found for non vertebrate study"); + section.ignoreRecommendations("CBI_address"); + end + +rule "4: Redact CBI Address (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && matchesType("CBI_address")) + then + section.redact("CBI_address", 4, "Address found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + + +rule "5: Do not redact genitive CBI_author" + when + Section(matchesType("CBI_author")) + then + section.expandToFalsePositiveByRegEx("CBI_author", "['’’'ʼˈ´`‘′ʻ’']s", false, 0); + end + + +rule "6: Redact Author(s) cells in Tables with Author(s) header (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && hasTableHeader("Author(s)") && !hasTableHeader("Vertebrate study Y/N")) + then + section.redactCell("Author(s)", 6, "CBI_author", false, "Author found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + end + +rule "7: Redact Author(s) cells in Tables with Author(s) header (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && hasTableHeader("Author(s)") && !hasTableHeader("Vertebrate study Y/N")) + then + section.redactCell("Author(s)", 7, "CBI_author", false, "Author found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + + +rule "8: Redact Author cells in Tables with Author header (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && hasTableHeader("Author") && !hasTableHeader("Vertebrate study Y/N")) + then + section.redactCell("Author", 8, "CBI_author", false, "Author found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + end + +rule "9: Redact Author cells in Tables with Author header (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && hasTableHeader("Author") && !hasTableHeader("Vertebrate study Y/N")) + then + section.redactCell("Author", 9, "CBI_author", false, "Author found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + + +rule "10: Redact and recommand Authors in Tables with Vertebrate study Y/N header (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && (rowEquals("Vertebrate study Y/N", "Y") || rowEquals("Vertebrate study Y/N", "Yes") || rowEquals("Vertebrate study Y/N", "N") || rowEquals("Vertebrate study Y/N", "No"))) + then + section.redactCell("Author(s)", 10, "CBI_author", true, "Author found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + end + +rule "11: Redact and recommand Authors in Tables with Vertebrate study Y/N header (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && (rowEquals("Vertebrate study Y/N", "Y") || rowEquals("Vertebrate study Y/N", "Yes") || rowEquals("Vertebrate study Y/N", "N") || rowEquals("Vertebrate study Y/N", "No"))) + then + section.redactCell("Author(s)", 11, "CBI_author", true, "Author found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + +/* Syngenta specific laboratory rule */ +rule "12: Recommend CTL/BL laboratory that start with BL or CTL" + when + Section(searchText.contains("CT") || searchText.contains("BL")) + then + section.addRecommendationByRegEx("((\\b((([Cc]T(([1ILli\\/])| L|~P))|(BL))[\\. ]?([\\dA-Ziltphz~\\/.:!]| ?[\\(',][Ppi](\\(e)?|([\\(-?']\\/))+( ?[\\(\\/\\dA-Znasieg]+)?)\\b( ?\\/? ?\\d+)?)|(\\bCT[L1i]\\b))", true, 0, "CBI_address"); + end + +rule "14: Redact and add recommendation for et al. author (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && searchText.contains("et al")) + then + section.redactAndRecommendByRegEx("\\b([A-ZÄÖÜ][^\\s\\.,]+( [A-ZÄÖÜ]{1,2}\\.?)?( ?[A-ZÄÖÜ]\\.?)?) et al\\.?", false, 1, "CBI_author", 14, "Author found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + end + +rule "15: Redact and add recommendation for et al. author (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && searchText.contains("et al")) + then + section.redactAndRecommendByRegEx("\\b([A-ZÄÖÜ][^\\s\\.,]+( [A-ZÄÖÜ]{1,2}\\.?)?( ?[A-ZÄÖÜ]\\.?)?) et al\\.?", false, 1, "CBI_author", 15, "Author found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + + +rule "16: Add recommendation for Addresses in Test Organism sections" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && searchText.contains("Species:") && searchText.contains("Source:")) + then + section.recommendLineAfter("Source:", "CBI_address"); + end + +rule "17: Add recommendation for Addresses in Test Animals sections" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && searchText.contains("Species") && searchText.contains("Source")) + then + section.recommendLineAfter("Source", "CBI_address"); + end + + +rule "18: Do not redact Names and Addresses if Published Information found" + when + Section(matchesType("published_information")) + then + section.redactNotAndReference("CBI_author","published_information", 18, "Published Information found"); + section.redactNotAndReference("CBI_address","published_information", 18, "Published Information found"); + end + + +// --------------------------------------- PII rules ------------------------------------------------------------------- + + +rule "19: Redacted PII Personal Identification Information (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && matchesType("PII")) + then + section.redact("PII", 19, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + end + +rule "20: Redacted PII Personal Identification Information (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && matchesType("PII")) + then + section.redact("PII", 20, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + + +rule "21: Redact Emails by RegEx (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && searchText.contains("@")) + then + section.redactByRegEx("\\b([A-Za-z0-9._%+\\-]+@[A-Za-z0-9.\\-]+\\.[A-Za-z\\-]{1,23}[A-Za-z])\\b", true, 1, "PII", 21, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + end + +rule "22: Redact Emails by RegEx (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && searchText.contains("@")) + then + section.redactByRegEx("\\b([A-Za-z0-9._%+\\-]+@[A-Za-z0-9.\\-]+\\.[A-Za-z\\-]{1,23}[A-Za-z])\\b", true, 1, "PII", 22, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + + +rule "23: Redact contact information (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && (text.contains("Contact point:") + || text.contains("Phone:") + || text.contains("Fax:") + || text.contains("Tel.:") + || text.contains("Tel:") + || text.contains("E-mail:") + || text.contains("Email:") + || text.contains("e-mail:") + || text.contains("E-mail address:") + || text.contains("Contact:") + || text.contains("Alternative contact:") + || text.contains("Telephone number:") + || text.contains("Telephone No:") + || text.contains("Fax number:") + || text.contains("Telephone:") + || text.contains("Phone No.") + || (text.contains("No:") && text.contains("Fax")) + || (text.contains("Contact:") && text.contains("Tel.:")) + || text.contains("European contact:") + )) + then + section.redactLineAfter("Contact point:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Phone:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Fax:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Tel.:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Tel:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("E-mail:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Email:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("e-mail:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("E-mail address:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Contact:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Alternative contact:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Telephone number:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Telephone No:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Fax number:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Telephone:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Phone No.", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactBetween("No:", "Fax", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactBetween("Contact:", "Tel.:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactLineAfter("European contact:", "PII", 23, true, "Personal information found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + end + +rule "24: Redact contact information (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && (text.contains("Contact point:") + || text.contains("Phone:") + || text.contains("Fax:") + || text.contains("Tel.:") + || text.contains("Tel:") + || text.contains("E-mail:") + || text.contains("Email:") + || text.contains("e-mail:") + || text.contains("E-mail address:") + || text.contains("Contact:") + || text.contains("Alternative contact:") + || text.contains("Telephone number:") + || text.contains("Telephone No:") + || text.contains("Fax number:") + || text.contains("Telephone:") + || text.contains("Phone No.") + || (text.contains("No:") && text.contains("Fax")) + || (text.contains("Contact:") && text.contains("Tel.:")) + || text.contains("European contact:") + )) + then + section.redactLineAfter("Contact point:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Phone:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Fax:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Tel.:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Tel:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("E-mail:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Email:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("e-mail:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("E-mail address:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Contact:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Alternative contact:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Telephone number:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Telephone No:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Fax number:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Telephone:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("Phone No.", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactBetween("No:", "Fax", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactBetween("Contact:", "Tel.:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + section.redactLineAfter("European contact:", "PII", 24, true, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + + +rule "25: Redact Phone and Fax by RegEx (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && ( + text.contains("Telephone") + || text.contains("Phone") + || text.contains("Ph.") + || text.contains("Fax") + || text.contains("Tel") + || text.contains("Ter") + || text.contains("Cell") + || text.contains("Mobile") + || text.contains("Fel") + || text.contains("Fer") + )) + then + section.redactByRegEx("\\b(telephone|phone|fax|tel|ter|cell|mobile|fel|fer)[:.\\s]{0,3}((\\(?\\+?[0-9])(\\(?[0-9\\/.\\-\\s]+\\)?)*([0-9]+\\)?))\\b", true, 2, "PII", 25, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + +rule "26: Redact Phone and Fax by RegEx (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && ( + text.contains("Telephone") + || text.contains("Phone") + || text.contains("Ph.") + || text.contains("Fax") + || text.contains("Tel") + || text.contains("Ter") + || text.contains("Cell") + || text.contains("Mobile") + || text.contains("Fel") + || text.contains("Fer") + )) + then + section.redactByRegEx("\\b(telephone|phone|fax|tel|ter|cell|mobile|fel|fer)[:.\\s]{0,3}((\\(?\\+?[0-9])(\\(?[0-9\\/.\\-\\s]+\\)?)*([0-9]+\\)?))\\b", true, 2, "PII", 26, "Personal information found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + + +rule "27: Redact AUTHOR(S) (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") + && searchText.contains("AUTHOR(S):") + && searchText.contains("COMPLETION DATE:") + && !searchText.contains("STUDY COMPLETION DATE:") + ) + then + section.redactLinesBetween("AUTHOR(S):", "COMPLETION DATE:", "PII", 27, true, "Author found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + end + +rule "28: Redact AUTHOR(S) (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") + && searchText.contains("AUTHOR(S):") + && searchText.contains("COMPLETION DATE:") + && !searchText.contains("STUDY COMPLETION DATE:") + ) + then + section.redactLinesBetween("AUTHOR(S):", "COMPLETION DATE:", "PII", 28, true, "AUTHOR(S) was found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + + +rule "29: Redact AUTHOR(S) (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") + && searchText.contains("AUTHOR(S):") + && searchText.contains("STUDY COMPLETION DATE:") + ) + then + section.redactLinesBetween("AUTHOR(S):", "STUDY COMPLETION DATE:", "PII", 29, true, "AUTHOR(S) was found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + end + +rule "30: Redact AUTHOR(S) (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") + && searchText.contains("AUTHOR(S):") + && searchText.contains("STUDY COMPLETION DATE:") + ) + then + section.redactLinesBetween("AUTHOR(S):", "STUDY COMPLETION DATE:", "PII", 30, true, "AUTHOR(S) was found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + + +rule "31: Redact PERFORMING LABORATORY (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") + && searchText.contains("PERFORMING LABORATORY:") + ) + then + section.redactBetween("PERFORMING LABORATORY:", "LABORATORY PROJECT ID:", "CBI_address", 31, true, "PERFORMING LABORATORY was found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + section.redactNot("CBI_address", 31, "Performing laboratory found for non vertebrate study"); + end + +rule "32: Redact PERFORMING LABORATORY (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") + && searchText.contains("PERFORMING LABORATORY:")) + then + section.redactBetween("PERFORMING LABORATORY:", "LABORATORY PROJECT ID:", "CBI_address", 32, true, "PERFORMING LABORATORY was found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + + +// --------------------------------------- other rules ------------------------------------------------------------------- + +rule "33: Purity Hint" + when + Section(searchText.toLowerCase().contains("purity")) + then + section.addHintAnnotationByRegEx("(purity ?( of|\\(.{1,20}\\))?( ?:)?) .{0,5}[\\d\\.]+( .{0,4}\\.)? ?%", true, 1, "hint_only"); + end + + +rule "34: Ignore dossier_redaction entries if confidentiality is not 'confidential'" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Confidentiality","confidential") && matchesType("dossier_redaction")); + then + section.ignore("dossier_redaction"); + end + + +rule "35: Redact signatures (Non vertebrate study)" + when + Section(!fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && matchesImageType("signature")) + then + section.redactImage("signature", 35, "Signature found", "Article 39(e)(3) of Regulation (EC) No 178/2002"); + end + +rule "36: Redact signatures (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && matchesImageType("signature")) + then + section.redactImage("signature", 36, "Signature found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end + + +rule "43: Redact Logos (Vertebrate study)" + when + Section(fileAttributeByLabelEqualsIgnoreCase("Vertebrate Study","Yes") && matchesImageType("logo")) + then + section.redactImage("logo", 43, "Logo found", "Article 39(e)(2) of Regulation (EC) No 178/2002"); + end diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/resources/files/RulesTest/SYNGENTA_EFSA_sanitisation_GFL_v1_withHighlights.pdf b/redaction-service-v1/redaction-service-server-v1/src/test/resources/files/RulesTest/SYNGENTA_EFSA_sanitisation_GFL_v1_withHighlights.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d822757f63bf46e9688024c4ca0d45b1b94757f7 GIT binary patch literal 153667 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

Q4|LCBX~A_b3(0MN-uY$7Sua(agOm!#`T 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�-H5vs1nwaSjXbCRzi7Gi@2=@V<3#lqRl0tywa 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 _OC>tZjje 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

^45f$%Gw8AxTSX8DmnYx3p&4Wl!r0W%6U3np@@ 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 GT>k^fcTjl% literal 0 HcmV?d00001