From a19403dea1730d6337f3eb5a397babf708ff9118 Mon Sep 17 00:00:00 2001 From: Corina Olariu Date: Thu, 9 May 2024 13:06:24 +0300 Subject: [PATCH] RED-9132 - Remove debug information from Paragraph/Location field - check the section value for regex expression to identify and remove the leading numbering - added junit test --- .../service/EntityLogConverterService.java | 14 ++++++-- .../EntityLogConverterServiceTest.java | 33 +++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/EntityLogConverterService.java b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/EntityLogConverterService.java index 6054f4a..02042b8 100644 --- a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/EntityLogConverterService.java +++ b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/EntityLogConverterService.java @@ -20,7 +20,6 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntryState; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntryType; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.ManualChange; -import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.ManualRedactionType; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.Position; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type.Type; import com.iqser.red.service.redaction.report.v1.server.client.DictionaryClient; @@ -39,6 +38,7 @@ import lombok.extern.slf4j.Slf4j; @RequiredArgsConstructor public class EntityLogConverterService { + private final static String numericalIdentifierPatternForSection = "^.*\\d\\s*+\\]\\:"; private final DossierClient dossierClient; private final DictionaryClient dictionaryClient; @@ -193,7 +193,7 @@ public class EntityLogConverterService { private String getSection(EntityLogEntry entry, Position position) { if (StringUtils.isNotBlank(entry.getSection())) { - return entry.getSection(); + return removeNumericalIdentifierPatternFromSection(entry.getSection()); } if (entry.getEntryType() == EntryType.IMAGE || entry.getEntryType() == EntryType.IMAGE_HINT) { @@ -208,6 +208,16 @@ public class EntityLogConverterService { } + public String removeNumericalIdentifierPatternFromSection(String section) { + + String[] sectionParts = section.split(numericalIdentifierPatternForSection); + if (sectionParts.length > 1) { + return sectionParts[1].trim(); + } + return section.trim(); + } + + private String checkTextForNull(String text) { if (text == null) { diff --git a/redaction-report-service-v1/redaction-report-service-server-v1/src/test/java/com/iqser/red/service/redaction/report/v1/server/service/EntityLogConverterServiceTest.java b/redaction-report-service-v1/redaction-report-service-server-v1/src/test/java/com/iqser/red/service/redaction/report/v1/server/service/EntityLogConverterServiceTest.java index f201f59..b0b11a3 100644 --- a/redaction-report-service-v1/redaction-report-service-server-v1/src/test/java/com/iqser/red/service/redaction/report/v1/server/service/EntityLogConverterServiceTest.java +++ b/redaction-report-service-v1/redaction-report-service-server-v1/src/test/java/com/iqser/red/service/redaction/report/v1/server/service/EntityLogConverterServiceTest.java @@ -86,4 +86,37 @@ public class EntityLogConverterServiceTest { assertFalse(reportEntries.get(0).isSkipped()); } + + @Test + public void testSection() { + + String sectionResult = "Paragraph"; + String section1 = "[1.1.1]: Paragraph"; + String section2 = "[1. 1.1]: Paragraph"; + String section3 = "[1,1.1]: Paragraph"; + String section4 = "[1,1,1]: Paragraph"; + String section5 = "[29]: Paragraph"; + String section6 = "[29 ]: Paragraph"; + String section7 = "[ 1, 1 . 2]: Paragraph"; + String section8 = "[ 29]: Paragraph"; + String section9 = "[ 1.1.1]: Paragraph"; + String section10 = "[ 29 ]: Paragraph"; + String section11 = "[ 1, 1. 1]: Paragraph"; + String section12 = " Paragraph"; + + assertEquals(entityLogConverterService.removeNumericalIdentifierPatternFromSection(section1), sectionResult); + assertEquals(entityLogConverterService.removeNumericalIdentifierPatternFromSection(section2), sectionResult); + assertEquals(entityLogConverterService.removeNumericalIdentifierPatternFromSection(section3), sectionResult); + assertEquals(entityLogConverterService.removeNumericalIdentifierPatternFromSection(section4), sectionResult); + assertEquals(entityLogConverterService.removeNumericalIdentifierPatternFromSection(section5), sectionResult); + assertEquals(entityLogConverterService.removeNumericalIdentifierPatternFromSection(section6), sectionResult); + assertEquals(entityLogConverterService.removeNumericalIdentifierPatternFromSection(section7), sectionResult); + assertEquals(entityLogConverterService.removeNumericalIdentifierPatternFromSection(section8), sectionResult); + assertEquals(entityLogConverterService.removeNumericalIdentifierPatternFromSection(section9), sectionResult); + assertEquals(entityLogConverterService.removeNumericalIdentifierPatternFromSection(section10), sectionResult); + assertEquals(entityLogConverterService.removeNumericalIdentifierPatternFromSection(section11), sectionResult); + assertEquals(entityLogConverterService.removeNumericalIdentifierPatternFromSection(section12), sectionResult); + + } + }