From 367f731b83a37931e6fbb74916f38a5ff7c37c54 Mon Sep 17 00:00:00 2001 From: aoezyetimoglu Date: Fri, 4 Feb 2022 12:13:41 +0100 Subject: [PATCH] RED-1414: Support new template for Syngenta Seeds division --- .../v1/server/service/PlaceholderService.java | 6 +- .../service/WordReportGenerationService.java | 88 ++++++++++++++---- .../report/v1/server/PlaceholderTest.java | 2 +- .../RedactionReportIntegrationTest.java | 52 ++++++++++- .../Seeds - New Justification Form.docx | Bin 0 -> 62603 bytes 5 files changed, 124 insertions(+), 24 deletions(-) create mode 100644 redaction-report-service-v1/redaction-report-service-server-v1/src/test/resources/templates/Seeds - New Justification Form.docx diff --git a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/PlaceholderService.java b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/PlaceholderService.java index bd0be22..4e9c79b 100644 --- a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/PlaceholderService.java +++ b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/PlaceholderService.java @@ -52,6 +52,10 @@ public class PlaceholderService { public static final String IUCLID_FUNCTION_PLACEHOLDER = "{{function.iuclidreport}}"; + public static final String SEEDS_FUNCTION_REDACTION_GROUPED_BY_JUSTIFICATION_PAGES_PLACEHOLDER = "{{function.seeds.redactionGroupedByJustification.pages}}"; + public static final String SEEDS_FUNCTION_JUSTIFICATION_PLACEHOLDER = "{{function.seeds.justification}}"; + + private final ReportTemplateClient reportTemplateClient; private final ReportStorageService reportStorageService; @@ -60,7 +64,7 @@ public class PlaceholderService { public List getGeneralPlaceholders() { - return List.of(FILE_NAME_PLACEHOLDER, PAGE_PLACEHOLDER, PARAGRAPH_PLACEHOLDER, JUSTIFICATION_PLACEHOLDER, EXCERPT_PLACEHOLDER, FORMAT_DATE_ISO_PLACEHOLDER, FORMAT_DATE_GER_PLACEHOLDER, FORMAT_DATE_ENG_PLACEHOLDER, FORMAT_TIME_ISO_PLACEHOLDER, DOSSIER_NAME_PLACEHOLDER, IUCLID_FUNCTION_PLACEHOLDER, REDACTION_VALUE_PLACEHOLDER, JUSTIFICATION_LEGAL_BASIS_PLACEHOLDER, JUSTIFICATION_TEXT_PLACEHOLDER); + return List.of(FILE_NAME_PLACEHOLDER, PAGE_PLACEHOLDER, PARAGRAPH_PLACEHOLDER, JUSTIFICATION_PLACEHOLDER, EXCERPT_PLACEHOLDER, FORMAT_DATE_ISO_PLACEHOLDER, FORMAT_DATE_GER_PLACEHOLDER, FORMAT_DATE_ENG_PLACEHOLDER, FORMAT_TIME_ISO_PLACEHOLDER, DOSSIER_NAME_PLACEHOLDER, IUCLID_FUNCTION_PLACEHOLDER, REDACTION_VALUE_PLACEHOLDER, JUSTIFICATION_LEGAL_BASIS_PLACEHOLDER, JUSTIFICATION_TEXT_PLACEHOLDER, SEEDS_FUNCTION_REDACTION_GROUPED_BY_JUSTIFICATION_PAGES_PLACEHOLDER, SEEDS_FUNCTION_JUSTIFICATION_PLACEHOLDER); } public Set getPlaceholdersOfTemplate(String dossierTemplateId, String reportTemplateId) { diff --git a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/WordReportGenerationService.java b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/WordReportGenerationService.java index 6c197a8..11d6bd0 100644 --- a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/WordReportGenerationService.java +++ b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/WordReportGenerationService.java @@ -20,24 +20,24 @@ import static com.iqser.red.service.redaction.report.v1.server.service.Placehold import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.PAGE_PLACEHOLDER; import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.PARAGRAPH_PLACEHOLDER; import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.REDACTION_VALUE_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.SEEDS_FUNCTION_JUSTIFICATION_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.SEEDS_FUNCTION_REDACTION_GROUPED_BY_JUSTIFICATION_PAGES_PLACEHOLDER; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.time.Instant; -import java.time.LocalDate; import java.time.OffsetDateTime; -import java.time.ZoneOffset; -import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; import java.util.Base64; +import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; import javax.imageio.ImageIO; @@ -136,7 +136,7 @@ public class WordReportGenerationService { for (ImagePlaceholder imagePlaceholder : imagePlaceholders) { replaceImagePlaceholders(doc, imagePlaceholder); } - addTableRows(doc, reportEntries, fileStatus.getFilename()); + addTableRows(doc, reportEntries, fileStatus.getFilename(), fileStatus, fileAttributePlaceholders); for (String placeholder : placeholders) { String placeholderValue = getPlaceholderValue(placeholder, dossier, fileStatus, fileAttributePlaceholders, dossierAttributesPlaceholder, reportEntries); if (placeholderValue != null) { @@ -169,7 +169,7 @@ public class WordReportGenerationService { private List getDefaultPlaceholders() { List defPlaceholders = new ArrayList<>(); - defPlaceholders.addAll(Arrays.asList(FILE_NAME_PLACEHOLDER, FORMAT_DATE_ISO_PLACEHOLDER, FORMAT_DATE_GER_PLACEHOLDER, FORMAT_DATE_ENG_PLACEHOLDER, FORMAT_TIME_ISO_PLACEHOLDER, DOSSIER_NAME_PLACEHOLDER, IUCLID_FUNCTION_PLACEHOLDER)); + defPlaceholders.addAll(Arrays.asList(FILE_NAME_PLACEHOLDER, FORMAT_DATE_ISO_PLACEHOLDER, FORMAT_DATE_GER_PLACEHOLDER, FORMAT_DATE_ENG_PLACEHOLDER, FORMAT_TIME_ISO_PLACEHOLDER, DOSSIER_NAME_PLACEHOLDER, IUCLID_FUNCTION_PLACEHOLDER, SEEDS_FUNCTION_REDACTION_GROUPED_BY_JUSTIFICATION_PAGES_PLACEHOLDER, SEEDS_FUNCTION_JUSTIFICATION_PLACEHOLDER)); return defPlaceholders; } @@ -218,13 +218,13 @@ public class WordReportGenerationService { if (fileStatus.getFileAttributes().containsKey(id)) { return fileStatus.getFileAttributes().get(id); } else { - return null; + return ""; } } if (dossierAttributesPlaceholders.containsKey(placeholder)) { return dossierAttributesPlaceholders.get(placeholder); } - throw new RuntimeException("unknown placeholder"); + return ""; } @@ -310,7 +310,7 @@ public class WordReportGenerationService { for (XWPFTable tbl : doc.getTables()) { String tblText = tbl.getText(); - if (tblText.contains(PAGE_PLACEHOLDER) || tblText.contains(PARAGRAPH_PLACEHOLDER) || tblText.contains(JUSTIFICATION_PLACEHOLDER) || tblText.contains(EXCERPT_PLACEHOLDER) || tblText.contains(JUSTIFICATION_PARAGRAPH_PLACEHOLDER) || tblText.contains(JUSTIFICATION_REASON_PLACEHOLDER) || tblText.contains(JUSTIFICATION_LEGAL_BASIS_PLACEHOLDER) || tblText.contains(JUSTIFICATION_TEXT_PLACEHOLDER)) { + if (tblText.contains(PAGE_PLACEHOLDER) || tblText.contains(PARAGRAPH_PLACEHOLDER) || tblText.contains(JUSTIFICATION_PLACEHOLDER) || tblText.contains(EXCERPT_PLACEHOLDER) || tblText.contains(JUSTIFICATION_PARAGRAPH_PLACEHOLDER) || tblText.contains(JUSTIFICATION_REASON_PLACEHOLDER) || tblText.contains(JUSTIFICATION_LEGAL_BASIS_PLACEHOLDER) || tblText.contains(JUSTIFICATION_TEXT_PLACEHOLDER) || tblText.contains(SEEDS_FUNCTION_REDACTION_GROUPED_BY_JUSTIFICATION_PAGES_PLACEHOLDER) || tblText.contains(SEEDS_FUNCTION_JUSTIFICATION_PLACEHOLDER)) { return tbl; } } @@ -320,11 +320,12 @@ public class WordReportGenerationService { private boolean containsRedactionPlaceholder(String text) { - return text.contains(FILE_NAME_PLACEHOLDER) || text.contains(PAGE_PLACEHOLDER) || text.contains(PARAGRAPH_PLACEHOLDER) || text.contains(JUSTIFICATION_PLACEHOLDER) || text.contains(EXCERPT_PLACEHOLDER) || text.contains(JUSTIFICATION_PARAGRAPH_PLACEHOLDER) || text.contains(JUSTIFICATION_REASON_PLACEHOLDER) || text.contains(REDACTION_VALUE_PLACEHOLDER) || text.contains(JUSTIFICATION_LEGAL_BASIS_PLACEHOLDER) || text.contains(JUSTIFICATION_TEXT_PLACEHOLDER); + return text.contains(FILE_NAME_PLACEHOLDER) || text.contains(PAGE_PLACEHOLDER) || text.contains(PARAGRAPH_PLACEHOLDER) || text.contains(JUSTIFICATION_PLACEHOLDER) || text.contains(EXCERPT_PLACEHOLDER) || text.contains(JUSTIFICATION_PARAGRAPH_PLACEHOLDER) || text.contains(JUSTIFICATION_REASON_PLACEHOLDER) || text.contains(REDACTION_VALUE_PLACEHOLDER) || text.contains(JUSTIFICATION_LEGAL_BASIS_PLACEHOLDER) || text.contains(JUSTIFICATION_TEXT_PLACEHOLDER) || text.contains(SEEDS_FUNCTION_REDACTION_GROUPED_BY_JUSTIFICATION_PAGES_PLACEHOLDER) || text.contains(SEEDS_FUNCTION_JUSTIFICATION_PLACEHOLDER) || text.contains("{{") && text.contains("}}"); } - private void addTableRows(XWPFDocument doc, List reportEntries, String filename) { + private void addTableRows(XWPFDocument doc, List reportEntries, String filename, + FileModel fileStatus, Map fileAttributePlaceholders) { XWPFTable table = getRedactionTable(doc); if (table == null) { @@ -347,16 +348,30 @@ public class WordReportGenerationService { } table.removeRow(placeholderRow); - reportEntries.forEach(entry -> { - XWPFTableRow row = table.createRow(); - for (Map.Entry entry1 : placeholderCellPos.entrySet()) { - if (!entry1.getValue().isEmpty()) { - setText(row.getCell(entry1.getKey()), replaceTextPlaceholderWithEntries(entry, filename, entry1.getValue())); - } else { - setText(row.getCell(entry1.getKey()), ""); + if (placeholderCellPos.containsValue(SEEDS_FUNCTION_REDACTION_GROUPED_BY_JUSTIFICATION_PAGES_PLACEHOLDER)) { + var redactionsPerJustification = getRedactionsPerJustification(reportEntries); + for (Map.Entry> entry : redactionsPerJustification.entrySet()) { + XWPFTableRow row = table.createRow(); + for (Map.Entry entry1 : placeholderCellPos.entrySet()) { + if (!entry1.getValue().isEmpty()) { + setText(row.getCell(entry1.getKey()), replaceSeedsPlaceholder(entry, filename, entry1.getValue(), fileStatus, fileAttributePlaceholders)); + } else { + setText(row.getCell(entry1.getKey()), ""); + } } } - }); + } else { + reportEntries.forEach(entry -> { + XWPFTableRow row = table.createRow(); + for (Map.Entry entry1 : placeholderCellPos.entrySet()) { + if (!entry1.getValue().isEmpty()) { + setText(row.getCell(entry1.getKey()), replaceTextPlaceholderWithEntries(entry, filename, entry1.getValue())); + } else { + setText(row.getCell(entry1.getKey()), ""); + } + } + }); + } } @@ -396,6 +411,37 @@ public class WordReportGenerationService { } + private String replaceSeedsPlaceholder(Map.Entry> entry, String filename, + String placeholder, FileModel fileStatus, + Map fileAttributePlaceholders) { + + if (placeholder.equals(SEEDS_FUNCTION_REDACTION_GROUPED_BY_JUSTIFICATION_PAGES_PLACEHOLDER)) { + return entry.getValue() + .stream() + .map(ReportRedactionEntry::getPage) + .distinct() + .map(Object::toString) + .collect(Collectors.joining(", ")); + } + if (placeholder.equals(SEEDS_FUNCTION_JUSTIFICATION_PLACEHOLDER)) { + return entry.getKey(); + } + if (placeholder.equals(FILE_NAME_PLACEHOLDER)) { + return filename; + } + if (fileAttributePlaceholders.containsKey(placeholder)) { + String id = fileAttributePlaceholders.get(placeholder); + + if (fileStatus.getFileAttributes().containsKey(id)) { + return fileStatus.getFileAttributes().get(id); + } else { + return null; + } + } + return ""; + } + + private Dimension2DDouble getImageDimension(ByteArrayInputStream bais) throws IOException { BufferedImage bufImg = ImageIO.read(bais); @@ -428,6 +474,10 @@ public class WordReportGenerationService { return new ColoredText(textForLine, null); } + private Map> getRedactionsPerJustification(List reportRedactionEntryList) { + return reportRedactionEntryList.stream().sorted(Comparator.comparing(ReportRedactionEntry::getPage)).collect(Collectors.groupingBy(ReportRedactionEntry::getJustification)); + } + private byte[] toByteArray(XWPFDocument doc) throws IOException { diff --git a/redaction-report-service-v1/redaction-report-service-server-v1/src/test/java/com/iqser/red/service/redaction/report/v1/server/PlaceholderTest.java b/redaction-report-service-v1/redaction-report-service-server-v1/src/test/java/com/iqser/red/service/redaction/report/v1/server/PlaceholderTest.java index 8fccb49..3071870 100644 --- a/redaction-report-service-v1/redaction-report-service-server-v1/src/test/java/com/iqser/red/service/redaction/report/v1/server/PlaceholderTest.java +++ b/redaction-report-service-v1/redaction-report-service-server-v1/src/test/java/com/iqser/red/service/redaction/report/v1/server/PlaceholderTest.java @@ -61,7 +61,7 @@ public class PlaceholderTest { // Assert Assert.assertNotNull(placeholders); - Assert.assertEquals(placeholders.size(), 14); + Assert.assertEquals(placeholders.size(), 16); } @Test diff --git a/redaction-report-service-v1/redaction-report-service-server-v1/src/test/java/com/iqser/red/service/redaction/report/v1/server/RedactionReportIntegrationTest.java b/redaction-report-service-v1/redaction-report-service-server-v1/src/test/java/com/iqser/red/service/redaction/report/v1/server/RedactionReportIntegrationTest.java index 3f0cadc..0823db3 100644 --- a/redaction-report-service-v1/redaction-report-service-server-v1/src/test/java/com/iqser/red/service/redaction/report/v1/server/RedactionReportIntegrationTest.java +++ b/redaction-report-service-v1/redaction-report-service-server-v1/src/test/java/com/iqser/red/service/redaction/report/v1/server/RedactionReportIntegrationTest.java @@ -149,14 +149,14 @@ public class RedactionReportIntegrationTest { .builder() .id("3e9b9569-5d2e-4619-848b-dd0a3e96527f") .label("Document Title") - .placeholder("{{file.attribute.placeholder}}") + .placeholder("{{file.attribute.Path}}") .type(FileAttributeType.TEXT) .build(); when(fileAttributesConfigClient.getFileAttributeConfigs(dossierTemplateId)).thenReturn(List.of(fileAttributeConfig1)); - FileModel fileStatus = FileModel.builder().filename("filename").fileAttributes(Map.of("3e9b9569-5d2e-4619-848b-dd0a3e96527f", "Test")).build(); + FileModel fileStatus = FileModel.builder().filename("FileABCD").fileAttributes(Map.of("3e9b9569-5d2e-4619-848b-dd0a3e96527f", "Test")).build(); Dossier project = Dossier.builder().id("dossierId").dossierName("projectName").build(); @@ -167,7 +167,7 @@ public class RedactionReportIntegrationTest { .storageId(storageId) .build()); - ClassPathResource templateResource = new ClassPathResource("templates/Justification Appendix A1.docx"); + ClassPathResource templateResource = new ClassPathResource("templates/Seeds - New Justification Form.docx"); when(reportStorageService.getReportTemplate(storageId)).thenReturn(IOUtils.toByteArray(templateResource.getInputStream())); ReportTemplate reportTemplate = ReportTemplate.builder() .dossierTemplateId("dossierTemplateId") @@ -523,4 +523,50 @@ public class RedactionReportIntegrationTest { } } + + @Test + @SneakyThrows + public void testSeedsFunctionService() { + String dossierTemplateId = "dossierTemplateId"; + + ClassPathResource redactionLogResource = new ClassPathResource("files/redactionLog2817.json"); + RedactionLog redactionLog = objectMapper.readValue(redactionLogResource.getInputStream(), RedactionLog.class); + + ClassPathResource legalBasisMappingResource = new ClassPathResource("files/legalBasisMappingNew.json"); + List legalBasisMapping = objectMapper.readValue(legalBasisMappingResource.getInputStream(), new TypeReference<>() { + }); + + List reportEntries = redactionLogConverterService.convertAndSort(redactionLog, legalBasisMapping); + + when(dossierAttributesConfigClient.getDossierAttributes(dossierTemplateId)).thenReturn(new ArrayList<>()); + when(dossierAttributesClient.getDossierAttributes("dossierId")).thenReturn(new ArrayList<>()); + when(fileAttributesConfigClient.getFileAttributeConfigs(dossierTemplateId)).thenReturn(new ArrayList<>()); + + + FileModel fileStatus = FileModel.builder().filename("VV123456").build(); + + Dossier project = Dossier.builder().id("dossierId").dossierName("projectName").build(); + + String templateId = "templateId"; + String storageId = "storageId"; + when(reportTemplateClient.getReportTemplate(dossierTemplateId, templateId)).thenReturn(ReportTemplate.builder() + .dossierTemplateId(dossierTemplateId) + .storageId(storageId) + .build()); + + ClassPathResource templateResource = new ClassPathResource("templates/Seeds - New Justification Form.docx"); + when(reportStorageService.getReportTemplate(storageId)).thenReturn(IOUtils.toByteArray(templateResource.getInputStream())); + ReportTemplate reportTemplate = ReportTemplate.builder() + .dossierTemplateId("dossierTemplateId") + .templateId("templateId") + .fileName("fileName") + .storageId("storageId") + .uploadDate(OffsetDateTime.now()) + .build(); + byte[] report = wordReportGenerationService.generateReport(ReportType.WORD_SINGLE_FILE, reportEntries, dossierTemplateId, reportTemplate, fileStatus, project); + + try (FileOutputStream fileOutputStream = new FileOutputStream(getTemporaryDirectory() + "/seedsReport.docx")) { + fileOutputStream.write(report); + } + } } diff --git a/redaction-report-service-v1/redaction-report-service-server-v1/src/test/resources/templates/Seeds - New Justification Form.docx b/redaction-report-service-v1/redaction-report-service-server-v1/src/test/resources/templates/Seeds - New Justification Form.docx new file mode 100644 index 0000000000000000000000000000000000000000..f2cdbe69942870b028902afbbdf3a5384a760155 GIT binary patch literal 62603 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%0A4$4zrGu`r+C}x+Wiy} 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î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 h5C^{l{E+=0Jd%|F1&sedKsbPZ?*Qw!sUCj6`af