From 4e2d2758967652bf881f3d900dcdb28de6b9abad Mon Sep 17 00:00:00 2001 From: aoezyetimoglu Date: Fri, 23 Jul 2021 14:28:27 +0200 Subject: [PATCH] RED-1773: added classes for providing placeholders --- .../v1/api/resource/PlaceholderResource.java | 18 +++++++++ .../controller/PlaceholderController.java | 25 ++++++++++++ .../ExcelTemplateReportGenerationService.java | 35 +++++++--------- .../v1/server/service/PlaceholderService.java | 40 +++++++++++++++++++ .../service/WordReportGenerationService.java | 32 +++++++-------- 5 files changed, 111 insertions(+), 39 deletions(-) create mode 100644 redaction-report-service-v1/redaction-report-service-api-v1/src/main/java/com/iqser/red/service/redaction/report/v1/api/resource/PlaceholderResource.java create mode 100644 redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/controller/PlaceholderController.java create mode 100644 redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/PlaceholderService.java diff --git a/redaction-report-service-v1/redaction-report-service-api-v1/src/main/java/com/iqser/red/service/redaction/report/v1/api/resource/PlaceholderResource.java b/redaction-report-service-v1/redaction-report-service-api-v1/src/main/java/com/iqser/red/service/redaction/report/v1/api/resource/PlaceholderResource.java new file mode 100644 index 0000000..28eeed8 --- /dev/null +++ b/redaction-report-service-v1/redaction-report-service-api-v1/src/main/java/com/iqser/red/service/redaction/report/v1/api/resource/PlaceholderResource.java @@ -0,0 +1,18 @@ +package com.iqser.red.service.redaction.report.v1.api.resource; + +import java.util.List; + +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; + +public interface PlaceholderResource { + + String PLACEHOLDERS_PATH = "/placeholders"; + + @GetMapping(value = PLACEHOLDERS_PATH, produces = MediaType.APPLICATION_JSON_VALUE) + List getPlaceholders(); + + + + +} diff --git a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/controller/PlaceholderController.java b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/controller/PlaceholderController.java new file mode 100644 index 0000000..fe4a4de --- /dev/null +++ b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/controller/PlaceholderController.java @@ -0,0 +1,25 @@ +package com.iqser.red.service.redaction.report.v1.server.controller; + +import java.util.List; + +import org.springframework.web.bind.annotation.RestController; + +import com.iqser.red.service.redaction.report.v1.api.resource.PlaceholderResource; +import com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@RestController +@RequiredArgsConstructor +public class PlaceholderController implements PlaceholderResource { + + private final PlaceholderService placeholderService; + + + @Override + public List getPlaceholders() { + return placeholderService.getGeneralPlaceholders(); + } +} diff --git a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/ExcelTemplateReportGenerationService.java b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/ExcelTemplateReportGenerationService.java index c13b75f..ecd8f8a 100644 --- a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/ExcelTemplateReportGenerationService.java +++ b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/ExcelTemplateReportGenerationService.java @@ -1,10 +1,23 @@ package com.iqser.red.service.redaction.report.v1.server.service; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.DOSSIER_NAME_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FILE_NAME_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_DATE_ENG; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_DATE_ENG_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_DATE_GER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_DATE_GER_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_DATE_ISO; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_DATE_ISO_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_TIME_ISO; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_TIME_ISO_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.JUSTIFICATION_PLACEHOLDER; +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 java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.time.OffsetDateTime; -import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; import java.util.Base64; @@ -18,7 +31,6 @@ import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.ClientAnchor; import org.apache.poi.ss.usermodel.CreationHelper; import org.apache.poi.ss.usermodel.Drawing; -import org.apache.poi.ss.usermodel.Picture; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -31,8 +43,6 @@ import com.iqser.red.service.file.management.v1.api.model.Dossier; import com.iqser.red.service.file.management.v1.api.model.DossierAttribute; import com.iqser.red.service.file.management.v1.api.model.DossierAttributes; import com.iqser.red.service.file.management.v1.api.model.FileStatus; -import com.iqser.red.service.file.management.v1.api.model.ReportTemplate; -import com.iqser.red.service.redaction.report.v1.api.model.ReportType; import com.iqser.red.service.redaction.report.v1.server.client.DossierAttributesClient; import com.iqser.red.service.redaction.report.v1.server.client.DossierAttributesConfigClient; import com.iqser.red.service.redaction.report.v1.server.client.FileAttributesClient; @@ -52,23 +62,6 @@ public class ExcelTemplateReportGenerationService { private final DossierAttributesConfigClient dossierAttributesConfigClient; private final FileAttributesClient fileAttributesClient; - public static final String FILE_NAME_PLACEHOLDER = "{{file.name}}"; - public static final String PAGE_PLACEHOLDER = "{{redaction.page}}"; - public static final String PARAGRAPH_PLACEHOLDER = "{{redaction.paragraph}}"; - public static final String JUSTIFICATION_PLACEHOLDER = "{{redaction.justification}}"; - - public static final DateTimeFormatter FORMAT_DATE_ISO = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - public static final DateTimeFormatter FORMAT_DATE_GER = DateTimeFormatter.ofPattern("dd.MM.yyyy"); - public static final DateTimeFormatter FORMAT_DATE_ENG = DateTimeFormatter.ofPattern("MM/dd/yyyy"); - public static final DateTimeFormatter FORMAT_TIME_ISO = DateTimeFormatter.ofPattern("HH:mm"); - - public static final String FORMAT_DATE_ISO_PLACEHOLDER = "{{date.yyyy-MM-dd}}"; - public static final String FORMAT_DATE_GER_PLACEHOLDER = "{{date.dd.MM.yyyy}}"; - public static final String FORMAT_DATE_ENG_PLACEHOLDER = "{{date.MM/dd/yyyy}}"; - public static final String FORMAT_TIME_ISO_PLACEHOLDER = "{{time.HH:mm}}"; - - public static final String DOSSIER_NAME_PLACEHOLDER = "{{dossier.name}}"; - public void generateReport(List reportEntries, String dossierTemplateId, XSSFWorkbook workbook, FileStatus fileStatus, Dossier dossier, boolean isLastFile) { 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 new file mode 100644 index 0000000..f9ea53b --- /dev/null +++ b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/java/com/iqser/red/service/redaction/report/v1/server/service/PlaceholderService.java @@ -0,0 +1,40 @@ +package com.iqser.red.service.redaction.report.v1.server.service; + +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; + +import org.springframework.stereotype.Service; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@Service +@RequiredArgsConstructor +public class PlaceholderService { + + public static final String FILE_NAME_PLACEHOLDER = "{{file.name}}"; + public static final String PAGE_PLACEHOLDER = "{{redaction.page}}"; + public static final String PARAGRAPH_PLACEHOLDER = "{{redaction.paragraph}}"; + public static final String JUSTIFICATION_PLACEHOLDER = "{{redaction.justification}}"; + + public static final DateTimeFormatter FORMAT_DATE_ISO = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + public static final DateTimeFormatter FORMAT_DATE_GER = DateTimeFormatter.ofPattern("dd.MM.yyyy"); + public static final DateTimeFormatter FORMAT_DATE_ENG = DateTimeFormatter.ofPattern("MM/dd/yyyy"); + public static final DateTimeFormatter FORMAT_TIME_ISO = DateTimeFormatter.ofPattern("HH:mm"); + + public static final String FORMAT_DATE_ISO_PLACEHOLDER = "{{date.yyyy-MM-dd}}"; + public static final String FORMAT_DATE_GER_PLACEHOLDER = "{{date.dd.MM.yyyy}}"; + public static final String FORMAT_DATE_ENG_PLACEHOLDER = "{{date.MM/dd/yyyy}}"; + public static final String FORMAT_TIME_ISO_PLACEHOLDER = "{{time.HH:mm}}"; + + public static final String DOSSIER_NAME_PLACEHOLDER = "{{dossier.name}}"; + + + public List getGeneralPlaceholders() { + + return List.of(FILE_NAME_PLACEHOLDER, PAGE_PLACEHOLDER, PARAGRAPH_PLACEHOLDER, JUSTIFICATION_PLACEHOLDER, FORMAT_DATE_ISO_PLACEHOLDER, FORMAT_DATE_GER_PLACEHOLDER, FORMAT_DATE_ENG_PLACEHOLDER, FORMAT_TIME_ISO_PLACEHOLDER, DOSSIER_NAME_PLACEHOLDER); + } + +} 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 9cc03f5..2f6714c 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 @@ -1,10 +1,23 @@ package com.iqser.red.service.redaction.report.v1.server.service; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.DOSSIER_NAME_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FILE_NAME_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_DATE_ENG; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_DATE_ENG_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_DATE_GER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_DATE_GER_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_DATE_ISO; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_DATE_ISO_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_TIME_ISO; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.FORMAT_TIME_ISO_PLACEHOLDER; +import static com.iqser.red.service.redaction.report.v1.server.service.PlaceholderService.JUSTIFICATION_PLACEHOLDER; +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 java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.time.OffsetDateTime; -import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; import java.util.Base64; @@ -55,23 +68,6 @@ public class WordReportGenerationService { private final DossierAttributesClient dossierAttributesClient; private final DossierAttributesConfigClient dossierAttributesConfigClient; - public static final String FILE_NAME_PLACEHOLDER = "{{file.name}}"; - public static final String PAGE_PLACEHOLDER = "{{redaction.page}}"; - public static final String PARAGRAPH_PLACEHOLDER = "{{redaction.paragraph}}"; - public static final String JUSTIFICATION_PLACEHOLDER = "{{redaction.justification}}"; - - public static final DateTimeFormatter FORMAT_DATE_ISO = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - public static final DateTimeFormatter FORMAT_DATE_GER = DateTimeFormatter.ofPattern("dd.MM.yyyy"); - public static final DateTimeFormatter FORMAT_DATE_ENG = DateTimeFormatter.ofPattern("MM/dd/yyyy"); - public static final DateTimeFormatter FORMAT_TIME_ISO = DateTimeFormatter.ofPattern("HH:mm"); - - public static final String FORMAT_DATE_ISO_PLACEHOLDER = "{{date.yyyy-MM-dd}}"; - public static final String FORMAT_DATE_GER_PLACEHOLDER = "{{date.dd.MM.yyyy}}"; - public static final String FORMAT_DATE_ENG_PLACEHOLDER = "{{date.MM/dd/yyyy}}"; - public static final String FORMAT_TIME_ISO_PLACEHOLDER = "{{time.HH:mm}}"; - - public static final String DOSSIER_NAME_PLACEHOLDER = "{{dossier.name}}"; - @PostConstruct public void init() {