diff --git a/api/api-ingest/ingest-commons/src/main/java/fr/gouv/vitamui/ingest/common/rest/RestApi.java b/api/api-ingest/ingest-commons/src/main/java/fr/gouv/vitamui/ingest/common/rest/RestApi.java index 32ef2ca851cf6cbc64fb9d52d67b65a22cce0080..d84a9c1d60aaef761044e1d1f0dc4dd65c89a3f2 100644 --- a/api/api-ingest/ingest-commons/src/main/java/fr/gouv/vitamui/ingest/common/rest/RestApi.java +++ b/api/api-ingest/ingest-commons/src/main/java/fr/gouv/vitamui/ingest/common/rest/RestApi.java @@ -28,7 +28,7 @@ package fr.gouv.vitamui.ingest.common.rest; public class RestApi { public static final String V1_INGEST = "/iam/v1/ingest"; - public static final String INGEST_REPORT_DOCX = "/docxreport"; + public static final String INGEST_REPORT_ODT = "/odtreport"; public static final String INGEST_ATR = "/atr"; public static final String INGEST_MANIFEST = "/manifest"; } diff --git a/api/api-ingest/ingest-external-client/src/main/java/fr/gouv/vitamui/ingest/external/client/IngestExternalRestClient.java b/api/api-ingest/ingest-external-client/src/main/java/fr/gouv/vitamui/ingest/external/client/IngestExternalRestClient.java index c39e0d746cdcf9b14d2054cfdc08f71b8000ed99..bc5cfb76224f445a59755cc51e1d30feb4a86281 100644 --- a/api/api-ingest/ingest-external-client/src/main/java/fr/gouv/vitamui/ingest/external/client/IngestExternalRestClient.java +++ b/api/api-ingest/ingest-external-client/src/main/java/fr/gouv/vitamui/ingest/external/client/IngestExternalRestClient.java @@ -82,8 +82,8 @@ public class IngestExternalRestClient extends BasePaginatingAndSortingRestClient return new ParameterizedTypeReference<PaginatedValuesDto<LogbookOperationDto>>() {}; } - public ResponseEntity<byte[]> generateDocX(ExternalHttpContext context, String id) { - final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + RestApi.INGEST_REPORT_DOCX + CommonConstants.PATH_ID ); + public ResponseEntity<byte[]> generateODTReport(ExternalHttpContext context, String id) { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + RestApi.INGEST_REPORT_ODT + CommonConstants.PATH_ID ); final HttpEntity<AuditOptions> request = new HttpEntity<>(buildHeaders(context)); return restTemplate.exchange(uriBuilder.build(id), HttpMethod.GET, request, byte[].class); diff --git a/api/api-ingest/ingest-external/src/main/java/fr/gouv/vitamui/ingest/external/server/rest/IngestExternalController.java b/api/api-ingest/ingest-external/src/main/java/fr/gouv/vitamui/ingest/external/server/rest/IngestExternalController.java index 98e18fb9a00cb75eb3e01585b0157b3de2615af7..9be1305ceae12a009b2c43ce174c714cdbe3163a 100644 --- a/api/api-ingest/ingest-external/src/main/java/fr/gouv/vitamui/ingest/external/server/rest/IngestExternalController.java +++ b/api/api-ingest/ingest-external/src/main/java/fr/gouv/vitamui/ingest/external/server/rest/IngestExternalController.java @@ -128,10 +128,10 @@ public class IngestExternalController { } @Secured(ServicesData.ROLE_GET_INGEST) - @GetMapping(RestApi.INGEST_REPORT_DOCX + CommonConstants.PATH_ID) - public ResponseEntity<byte[]> generateDocX(final @PathVariable("id") String id) { - LOGGER.debug("export docx report for ingest with id :{}", id); + @GetMapping(RestApi.INGEST_REPORT_ODT + CommonConstants.PATH_ID) + public ResponseEntity<byte[]> generateODTReport(final @PathVariable("id") String id) { + LOGGER.debug("export ODT report for ingest with id :{}", id); ParameterChecker.checkParameter("The Identifier is a mandatory parameter :", id); - return ingestExternalService.generateDocX(id); + return ingestExternalService.generateODTReport(id); } } diff --git a/api/api-ingest/ingest-external/src/main/java/fr/gouv/vitamui/ingest/external/server/service/IngestExternalService.java b/api/api-ingest/ingest-external/src/main/java/fr/gouv/vitamui/ingest/external/server/service/IngestExternalService.java index e871737c2dc52e10f8d84dbebc1eb8e190c399b1..ab070920ab7d166c0f698bd1e255ecaec25bbc1d 100644 --- a/api/api-ingest/ingest-external/src/main/java/fr/gouv/vitamui/ingest/external/server/service/IngestExternalService.java +++ b/api/api-ingest/ingest-external/src/main/java/fr/gouv/vitamui/ingest/external/server/service/IngestExternalService.java @@ -101,8 +101,8 @@ public class IngestExternalService extends AbstractResourceClientService<Logbook } - public ResponseEntity<byte[]> generateDocX(String id) { - return ingestInternalRestClient.generateDocX(getInternalHttpContext(), id); + public ResponseEntity<byte[]> generateODTReport(String id) { + return ingestInternalRestClient.generateODTReport(getInternalHttpContext(), id); } @Override diff --git a/api/api-ingest/ingest-internal-client/src/main/java/fr/gouv/vitamui/ingest/internal/client/IngestInternalRestClient.java b/api/api-ingest/ingest-internal-client/src/main/java/fr/gouv/vitamui/ingest/internal/client/IngestInternalRestClient.java index f1450af22b2f994afbfdc232821276d322410322..99deb54f553847112314e30d707b07c4646d8d05 100644 --- a/api/api-ingest/ingest-internal-client/src/main/java/fr/gouv/vitamui/ingest/internal/client/IngestInternalRestClient.java +++ b/api/api-ingest/ingest-internal-client/src/main/java/fr/gouv/vitamui/ingest/internal/client/IngestInternalRestClient.java @@ -47,7 +47,6 @@ import fr.gouv.vitamui.commons.rest.client.InternalHttpContext; import fr.gouv.vitamui.commons.vitam.api.dto.LogbookOperationDto; import fr.gouv.vitamui.ingest.common.rest.RestApi; import org.springframework.core.ParameterizedTypeReference; -import org.springframework.core.io.Resource; import org.springframework.http.HttpEntity; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; @@ -84,8 +83,8 @@ public class IngestInternalRestClient extends BasePaginatingAndSortingRestClient return new ParameterizedTypeReference<PaginatedValuesDto<LogbookOperationDto>>() {}; } - public ResponseEntity<byte[]> generateDocX(InternalHttpContext context , String id) { - final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + RestApi.INGEST_REPORT_DOCX + CommonConstants.PATH_ID ); + public ResponseEntity<byte[]> generateODTReport(InternalHttpContext context , String id) { + final UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromHttpUrl(getUrl() + RestApi.INGEST_REPORT_ODT + CommonConstants.PATH_ID ); final HttpEntity<AuditOptions> request = new HttpEntity<>(buildHeaders(context)); return restTemplate.exchange(uriBuilder.build(id), HttpMethod.GET, request, byte[].class); } diff --git a/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/config/ApiIngestInternalServerConfig.java b/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/config/ApiIngestInternalServerConfig.java index d6fc14610b2e71bd7685c287a3122036beea2f12..0d2d68d3a186628f8606bc7e25d36d65236464ae 100644 --- a/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/config/ApiIngestInternalServerConfig.java +++ b/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/config/ApiIngestInternalServerConfig.java @@ -54,8 +54,8 @@ import fr.gouv.vitamui.iam.security.provider.InternalApiAuthenticationProvider; import fr.gouv.vitamui.iam.security.service.InternalAuthentificationService; import fr.gouv.vitamui.iam.security.service.InternalSecurityService; import fr.gouv.vitamui.ingest.internal.server.security.WebSecurityConfig; -import fr.gouv.vitamui.ingest.internal.server.service.IngestDocxGenerator; import fr.gouv.vitamui.ingest.internal.server.service.IngestInternalService; +import fr.gouv.vitamui.ingest.internal.server.service.IngestODTGenerator; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.annotation.Bean; @@ -107,8 +107,8 @@ public class ApiIngestInternalServerConfig extends AbstractContextConfiguration } @Bean - public IngestDocxGenerator ingestDocxGenerator() { - return new IngestDocxGenerator(); + public IngestODTGenerator ingestODTGenerator() { + return new IngestODTGenerator(); } @Bean @@ -119,8 +119,8 @@ public class ApiIngestInternalServerConfig extends AbstractContextConfiguration final IngestExternalClient ingestExternalClient, final IngestService ingestService, final CustomerInternalRestClient customerInternalRestClient, - final IngestDocxGenerator ingestDocxGenerator) { + final IngestODTGenerator ingestODTGenerator) { return new IngestInternalService(internalSecurityService, logbookService, objectMapper, ingestExternalClient, ingestService, - customerInternalRestClient, ingestDocxGenerator); + customerInternalRestClient, ingestODTGenerator); } } diff --git a/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/rest/IngestInternalController.java b/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/rest/IngestInternalController.java index 2bba25b5d757560e7fc44d28fd763e94ef2a42a2..0104bebd2e7893561ee0349cbc91e35380c268e0 100644 --- a/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/rest/IngestInternalController.java +++ b/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/rest/IngestInternalController.java @@ -106,14 +106,14 @@ public class IngestInternalController { return ingestInternalService.upload(path, contextId, action); } - @GetMapping(RestApi.INGEST_REPORT_DOCX + CommonConstants.PATH_ID) - public ResponseEntity<byte[]> generateDocx(final @PathVariable("id") String id) + @GetMapping(RestApi.INGEST_REPORT_ODT + CommonConstants.PATH_ID) + public ResponseEntity<byte[]> generateODTReport(final @PathVariable("id") String id) throws IOException { final VitamContext vitamContext = securityService.buildVitamContext(securityService.getTenantIdentifier()); try { - LOGGER.debug("export docx report for operation with id :{}", id); + LOGGER.debug("export ODT report for operation with id :{}", id); ParameterChecker.checkParameter("Identifier is mandatory : ", id); - byte[] response = this.ingestInternalService.generateDocX(vitamContext, id); + byte[] response = this.ingestInternalService.generateODTReport(vitamContext, id); return new ResponseEntity<>(response, HttpStatus.OK); } catch(IOException | JSONException e) { diff --git a/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/service/IngestInternalService.java b/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/service/IngestInternalService.java index 5c76e3af8cc3cbfb10e0e40f0d5fb0546d2dd0d8..3a5da0211ae12e2da7130133428eacdec69f173f 100644 --- a/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/service/IngestInternalService.java +++ b/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/service/IngestInternalService.java @@ -95,7 +95,7 @@ public class IngestInternalService { private final CustomerInternalRestClient customerInternalRestClient; - private final IngestDocxGenerator ingestDocxGenerator; + private final IngestODTGenerator ingestODTGenerator; @Autowired @@ -103,7 +103,7 @@ public class IngestInternalService { final LogbookService logbookService, final ObjectMapper objectMapper, final IngestExternalClient ingestExternalClient, final IngestService ingestService, final CustomerInternalRestClient customerInternalRestClient, - final IngestDocxGenerator ingestDocxGenerator) + final IngestODTGenerator ingestODTGenerator) { this.internalSecurityService = internalSecurityService; this.ingestExternalClient = ingestExternalClient; @@ -111,7 +111,7 @@ public class IngestInternalService { this.objectMapper = objectMapper; this.ingestService = ingestService; this.customerInternalRestClient = customerInternalRestClient; - this.ingestDocxGenerator = ingestDocxGenerator; + this.ingestODTGenerator = ingestODTGenerator; } @@ -217,7 +217,7 @@ public class IngestInternalService { Object entity = response.getEntity(); if (entity instanceof InputStream) { Resource resource = new InputStreamResource((InputStream) entity); - manifest = ingestDocxGenerator.resourceAsString(resource); + manifest = ingestODTGenerator.resourceAsString(resource); } LOGGER.info("Manifest EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); return manifest; @@ -234,7 +234,7 @@ public class IngestInternalService { Object entity = response.getEntity(); if (entity instanceof InputStream) { Resource resource = new InputStreamResource((InputStream) entity); - atr = ingestDocxGenerator.resourceAsString(resource); + atr = ingestODTGenerator.resourceAsString(resource); } LOGGER.info("ATR EvIdAppSession : {} ", vitamContext.getApplicationSessionId()); return atr; @@ -244,7 +244,7 @@ public class IngestInternalService { } } - public byte[] generateDocX(VitamContext vitamContext, final String id) throws JSONException, IOException { + public byte[] generateODTReport(VitamContext vitamContext, final String id) throws JSONException, IOException { LogbookOperationDto selectedIngest = getOne(vitamContext, id) ; JSONObject jsonObject = new JSONObject(selectedIngest.getAgIdExt()); @@ -252,32 +252,32 @@ public class IngestInternalService { Resource logo = null; try { - Document atr = ingestDocxGenerator.convertStringToXMLDocument(getAtrAsString(vitamContext, id)); - Document manifest = ingestDocxGenerator.convertStringToXMLDocument(getManifestAsString(vitamContext, id)); + Document atr = ingestODTGenerator.convertStringToXMLDocument(getAtrAsString(vitamContext, id)); + Document manifest = ingestODTGenerator.convertStringToXMLDocument(getManifestAsString(vitamContext, id)); XWPFDocument document = new XWPFDocument(); if(myCustomer.isHasCustomGraphicIdentity()) { logo = customerInternalRestClient.getLogo(internalSecurityService.getHttpContext(), myCustomer.getId(), AttachmentType.HEADER).getBody(); } - ingestDocxGenerator.generateDocHeader(document,myCustomer,logo); + ingestODTGenerator.generateDocHeader(document,myCustomer,logo); - ingestDocxGenerator.generateFirstTitle(document); + ingestODTGenerator.generateFirstTitle(document); - ingestDocxGenerator.generateTableOne(document,manifest,jsonObject); + ingestODTGenerator.generateTableOne(document,manifest,jsonObject); - ingestDocxGenerator.generateTableTwo(document,manifest,selectedIngest); + ingestODTGenerator.generateTableTwo(document,manifest,selectedIngest); - ingestDocxGenerator.generateTableThree(document,manifest,id); + ingestODTGenerator.generateTableThree(document,manifest,id); - ingestDocxGenerator.generateTableFour(document); + ingestODTGenerator.generateTableFour(document); - ingestDocxGenerator.generateSecondtTitle(document); + ingestODTGenerator.generateSecondtTitle(document); - List<ArchiveUnitDto> list = ingestDocxGenerator.getValuesForDynamicTable(atr,manifest); + List<ArchiveUnitDto> list = ingestODTGenerator.getValuesForDynamicTable(atr,manifest); - ingestDocxGenerator.generateDynamicTable(document,list); + ingestODTGenerator.generateDynamicTable(document,list); - LOGGER.info("Generate Docx Report EvIdAppSession : {} " , vitamContext.getApplicationSessionId()); + LOGGER.info("Generate ODT Report EvIdAppSession : {} " , vitamContext.getApplicationSessionId()); ByteArrayOutputStream result = new ByteArrayOutputStream(); document.write(result); return result.toByteArray(); diff --git a/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/service/IngestDocxGenerator.java b/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/service/IngestODTGenerator.java similarity index 93% rename from api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/service/IngestDocxGenerator.java rename to api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/service/IngestODTGenerator.java index 965f566eb38f2d6c8f5db7a79a9f295ac6bd3080..32f0e32ad59c9a6e9769b5533febce5f26f69606 100644 --- a/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/service/IngestDocxGenerator.java +++ b/api/api-ingest/ingest-internal/src/main/java/fr/gouv/vitamui/ingest/internal/server/service/IngestODTGenerator.java @@ -71,9 +71,9 @@ import java.util.List; import java.util.Map; -public class IngestDocxGenerator { +public class IngestODTGenerator { - private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(IngestDocxGenerator.class); + private static final VitamUILogger LOGGER = VitamUILoggerFactory.getInstance(IngestODTGenerator.class); public static final String FIRST_TITLE = "Bordereau de versement d'archives"; public static final String SECOND_TITLE = "Détail des unités archivistiques de type répertoire et dossiers:"; @@ -117,7 +117,9 @@ public class IngestDocxGenerator { XWPFRun runTwo = tableOneRowTwo.getCell(0).addParagraph().createRun(); runTwo.setText("Service versant :"); runTwo.setBold(true); + tableOneRowTwo.getCell(0).setWidth("3000"); tableOneRowTwo.getCell(1).setText(getServiceVersant(jsonObject)); + tableOneRowTwo.getCell(1).setWidth("7000"); XWPFParagraph paragraph = document.createParagraph(); XWPFRun run = paragraph.createRun(); @@ -156,26 +158,32 @@ public class IngestDocxGenerator { XWPFRun runContent = tableTwoRowTwo.getCell(0).addParagraph().createRun(); runContent.setText("Présentation du contenu :"); runContent.setBold(true); + tableTwoRowTwo.getCell(0).setWidth("3000"); tableTwoRowTwo.getCell(1).setText(getComment(manifest)); + tableTwoRowTwo.getCell(1).setWidth("7000"); XWPFTableRow tableTwoRowThree = tableTwo.createRow(); tableTwoRowThree.getCell(0).removeParagraph(0); XWPFRun runDate = tableTwoRowThree.getCell(0).addParagraph().createRun(); runDate.setText("Dates extrêmes :"); runDate.setBold(true); + tableTwoRowThree.getCell(0).setWidth("3000"); tableTwoRowThree.getCell(1).removeParagraph(0); tableTwoRowThree.getCell(1).addParagraph().createRun().setText( "date de début : " + selectedIngest.getEvDateTime().split("T")[0].replace('-', '/')); tableTwoRowThree.getCell(1).addParagraph().createRun().setText("date de fin : " + selectedIngest.getEvents().get(selectedIngest.getEvents().size() - 1).getEvDateTime().split("T")[0] .replace('-', '/')); + tableTwoRowThree.getCell(1).setWidth("7000"); XWPFTableRow tableTwoRowFour = tableTwo.createRow(); tableTwoRowFour.getCell(0).removeParagraph(0); XWPFRun runHistory = tableTwoRowFour.getCell(0).addParagraph().createRun(); runHistory.setText("Historique des conservations :"); runHistory.setBold(true); + tableTwoRowFour.getCell(0).setWidth("3000"); tableTwoRowFour.getCell(1).setText(getCustodialHistory(manifest)); + tableTwoRowFour.getCell(1).setWidth("7000"); XWPFParagraph paragraph = document.createParagraph(); XWPFRun run = paragraph.createRun(); @@ -208,7 +216,9 @@ public class IngestDocxGenerator { XWPFRun runTwo = tableThreeRowFour.getCell(0).addParagraph().createRun(); runTwo.setText("Identifiant de l’opération d’entrée :"); runTwo.setBold(true); + tableThreeRowFour.getCell(0).setWidth("3000"); tableThreeRowFour.getCell(1).setText(id); + tableThreeRowFour.getCell(1).setWidth("7000"); XWPFParagraph paragraph = document.createParagraph(); XWPFRun run = paragraph.createRun(); @@ -226,15 +236,15 @@ public class IngestDocxGenerator { XWPFTable table = document.createTable(); XWPFTableRow tableRowOne = table.getRow(0); - tableRowOne.getCell(0).setText("Date de signature :"); + tableRowOne.getCell(0).setText("Date de signature "); tableRowOne.getCell(0).setWidth("5000"); - tableRowOne.addNewTableCell().setText("Date de signature :"); + tableRowOne.addNewTableCell().setText("Date de signature "); tableRowOne.getCell(1).setWidth("5000"); tableRowOne.setHeight(750); XWPFTableRow tableRowTwo = table.createRow(); - tableRowTwo.getCell(0).setText("Le responsable du versement : "); - tableRowTwo.getCell(1).setText("Le responsable du service d'archives : "); + tableRowTwo.getCell(0).setText("Le responsable du versement "); + tableRowTwo.getCell(1).setText("Le responsable du service d'archives"); tableRowTwo.setHeight(750); table.getCTTbl().getTblPr().getTblBorders().getRight().setVal(STBorder.NONE); @@ -298,21 +308,25 @@ public class IngestDocxGenerator { XWPFRun runSystem = dynamicTableRow.getCell(0).addParagraph().createRun(); runSystem.setText(x.getSystemId()); runSystem.setFontSize(8); + dynamicTableRow.getCell(0).setWidth("2000"); dynamicTableRow.getCell(1).removeParagraph(0); XWPFRun runTitle = dynamicTableRow.getCell(1).addParagraph().createRun(); runTitle.setText(x.getTitle()); - runTitle.setFontSize(8); + runTitle.setFontSize(7); + dynamicTableRow.getCell(1).setWidth("5000"); dynamicTableRow.getCell(2).removeParagraph(0); XWPFRun runDateD = dynamicTableRow.getCell(2).addParagraph().createRun(); runDateD.setText(x.getStartDate().split("T")[0].replace('-', '/')); - runDateD.setFontSize(10); + runDateD.setFontSize(9); + dynamicTableRow.getCell(2).setWidth("1500"); dynamicTableRow.getCell(3).removeParagraph(0); XWPFRun runDateF = dynamicTableRow.getCell(3).addParagraph().createRun(); runDateF.setText(x.getEndDate().split("T")[0].replace('-', '/')); - runDateF.setFontSize(10); + runDateF.setFontSize(9); + dynamicTableRow.getCell(3).setWidth("1500"); }); } @@ -325,6 +339,8 @@ public class IngestDocxGenerator { paragraphRun.setBold(true); paragraphRun.setFontSize(22); paragraph.setAlignment(ParagraphAlignment.CENTER); + XWPFRun run = paragraph.createRun(); + run.addBreak(); } @@ -335,6 +351,8 @@ public class IngestDocxGenerator { paragraphRun.setBold(true); paragraphRun.setText(SECOND_TITLE); paragraphRun.setFontSize(12); + XWPFRun run = paragraph.createRun(); + run.addBreak(); } @@ -421,6 +439,7 @@ public class IngestDocxGenerator { throw new IllegalStateException("Unexpected value: " + base64Image.charAt(0)); } tableRow.getCell(1).removeParagraph(0); + tableRow.getCell(1).setWidth("3000"); FileUtils.forceDelete(new File(imgFile)); } @@ -433,33 +452,33 @@ public class IngestDocxGenerator { } } - public String getServiceProducteur(Document document) { + private String getServiceProducteur(Document document) { document.getDocumentElement().normalize(); return document.getElementsByTagName("OriginatingAgencyIdentifier").item(0).getTextContent(); } - public String getNumVersement(Document document) { + private String getNumVersement(Document document) { return document.getElementsByTagName("MessageIdentifier").item(0).getTextContent(); } - public String getComment(Document document) { + private String getComment(Document document) { return document.getElementsByTagName("Comment").item(0).getTextContent(); } - public String getCustodialHistory(Document document) { + private String getCustodialHistory(Document document) { return document.getElementsByTagName("CustodialHistory").getLength() == 0 ? "historique indisponible" : document.getElementsByTagName("CustodialHistory").item(0).getTextContent(); } - public String getServiceVersant(JSONObject jsonObject) throws JSONException { + private String getServiceVersant(JSONObject jsonObject) throws JSONException { if (jsonObject.toString().contains("submissionAgency")) { return jsonObject.get("submissionAgency").toString(); } return jsonObject.get("originatingAgency").toString(); } - public int getBinaryFileNumber(Document document) { + private int getBinaryFileNumber(Document document) { return document.getElementsByTagName("BinaryDataObject").getLength(); } diff --git a/ui/ui-frontend/projects/ingest/src/app/core/api/ingest-api.service.ts b/ui/ui-frontend/projects/ingest/src/app/core/api/ingest-api.service.ts index 9ec677698c2402fd92e96ef8e94863ad61183ec7..626eff7ec4c93f21b63de5bd4f939555fc76961c 100644 --- a/ui/ui-frontend/projects/ingest/src/app/core/api/ingest-api.service.ts +++ b/ui/ui-frontend/projects/ingest/src/app/core/api/ingest-api.service.ts @@ -42,8 +42,8 @@ export class IngestApiService extends BaseHttpClient<any> { ); } - downloadDocxReport(id : string) : Observable<Blob> { - return this.http.get(`${this.apiUrl}/docxreport/${id}`, { responseType: 'blob' }); + downloadODTReport(id : string) : Observable<Blob> { + return this.http.get(`${this.apiUrl}/odtreport/${id}`, { responseType: 'blob' }); } } diff --git a/ui/ui-frontend/projects/ingest/src/app/ingest/ingest-preview/ingest-preview.component.html b/ui/ui-frontend/projects/ingest/src/app/ingest/ingest-preview/ingest-preview.component.html index 1de5463dc5b2d167a97e36e6e05d935b1e19f171..2a88313d2e7294dcd091b6e13f4b5d28cc9e6515 100644 --- a/ui/ui-frontend/projects/ingest/src/app/ingest/ingest-preview/ingest-preview.component.html +++ b/ui/ui-frontend/projects/ingest/src/app/ingest/ingest-preview/ingest-preview.component.html @@ -11,7 +11,7 @@ <button mat-menu-item i18n="@@ingestPreviewDownloadATR" (click)="downloadATR()">{{'INGEST_DETAIL.DOWNLOAD_ATR' | translate}} </button> - <button mat-menu-item i18n="@@ingestPreviewGenerateDocX" (click)="generateDocX()" + <button mat-menu-item i18n="@@ingestPreviewGenerateDocX" (click)="generateODTreport()" matTooltip="{{'INGEST_DETAIL.DOWNLOAD_DOCX' | translate}}" matTooltipClass="vitamui-tooltip" [disabled]="ingestStatus(ingest) === 'KO' || ingestStatus(ingest) === 'FATAL'"> {{'INGEST_DETAIL.DOWNLOAD_DOCX' | translate}} diff --git a/ui/ui-frontend/projects/ingest/src/app/ingest/ingest-preview/ingest-preview.component.ts b/ui/ui-frontend/projects/ingest/src/app/ingest/ingest-preview/ingest-preview.component.ts index 494f86b928c44b78007144a79f9c13d8f8c5dd5c..c2e8ad2fe36451a02e6113da737de9ef150352e0 100644 --- a/ui/ui-frontend/projects/ingest/src/app/ingest/ingest-preview/ingest-preview.component.ts +++ b/ui/ui-frontend/projects/ingest/src/app/ingest/ingest-preview/ingest-preview.component.ts @@ -94,7 +94,7 @@ export class IngestPreviewComponent implements OnInit { this.logbookService.downloadATR(this.ingest.id); } - generateDocX() { - this.ingestService.downloadDocxReport(this.ingest.id); + generateODTreport() { + this.ingestService.downloadODTReport(this.ingest.id); } } diff --git a/ui/ui-frontend/projects/ingest/src/app/ingest/ingest.service.ts b/ui/ui-frontend/projects/ingest/src/app/ingest/ingest.service.ts index ab964048cf48be63a6c86c52868730b2b169b8fc..9f73682e56d0a12cd56ebc0a93beac1c2a8b1036 100644 --- a/ui/ui-frontend/projects/ingest/src/app/ingest/ingest.service.ts +++ b/ui/ui-frontend/projects/ingest/src/app/ingest/ingest.service.ts @@ -69,12 +69,12 @@ export class IngestService extends SearchService<any> { return this.ingestApiService.getOne(id); } - downloadDocxReport(id : string) { - return this.ingestApiService.downloadDocxReport(id).subscribe(file => { + downloadODTReport(id : string) { + return this.ingestApiService.downloadODTReport(id).subscribe(file => { const element = document.createElement('a'); element.href = window.URL.createObjectURL(file); - element.download ='Bordereau-' + id + '.docx'; + element.download ='Bordereau-' + id + '.odt'; element.style.visibility = 'hidden'; document.body.appendChild(element); element.click(); diff --git a/ui/ui-ingest/src/main/java/fr/gouv/vitamui/ingest/rest/IngestController.java b/ui/ui-ingest/src/main/java/fr/gouv/vitamui/ingest/rest/IngestController.java index 72cf86a8201f21ee41973b8fbe2e3aaee01881a7..29856baa03a2d4d29934e0bf004e1ea4c54856b7 100644 --- a/ui/ui-ingest/src/main/java/fr/gouv/vitamui/ingest/rest/IngestController.java +++ b/ui/ui-ingest/src/main/java/fr/gouv/vitamui/ingest/rest/IngestController.java @@ -47,6 +47,7 @@ import fr.gouv.vitamui.commons.api.logger.VitamUILogger; import fr.gouv.vitamui.commons.api.logger.VitamUILoggerFactory; import fr.gouv.vitamui.commons.rest.AbstractUiRestController; import fr.gouv.vitamui.commons.vitam.api.dto.LogbookOperationDto; +import fr.gouv.vitamui.ingest.common.rest.RestApi; import fr.gouv.vitamui.ingest.service.IngestService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -117,11 +118,11 @@ public class IngestController extends AbstractUiRestController { return service.getOne(buildUiHttpContext(), id); } - @ApiOperation(value = "download Docx Report for an ingest operation") - @GetMapping("/docxreport" + CommonConstants.PATH_ID) - public ResponseEntity<byte[]> genereateDocX(final @PathVariable("id") String id) { - LOGGER.debug("download Docx report for the ingest with id :{}", id); - byte[] bytes = service.generateDocX(buildUiHttpContext(), id).getBody(); + @ApiOperation(value = "download ODT Report for an ingest operation") + @GetMapping(RestApi.INGEST_REPORT_ODT + CommonConstants.PATH_ID) + public ResponseEntity<byte[]> generateODTReport(final @PathVariable("id") String id) { + LOGGER.debug("download ODT report for the ingest with id :{}", id); + byte[] bytes = service.generateODTReport(buildUiHttpContext(), id).getBody(); return ResponseEntity.ok() .contentType(MediaType.APPLICATION_OCTET_STREAM).header("Content-Disposition","attachment") .body(bytes); diff --git a/ui/ui-ingest/src/main/java/fr/gouv/vitamui/ingest/service/IngestService.java b/ui/ui-ingest/src/main/java/fr/gouv/vitamui/ingest/service/IngestService.java index 16b0101298f4b79a58d84204f3a592287643a037..66a88def639727fe5f89a34cfba8499655f91d95 100644 --- a/ui/ui-ingest/src/main/java/fr/gouv/vitamui/ingest/service/IngestService.java +++ b/ui/ui-ingest/src/main/java/fr/gouv/vitamui/ingest/service/IngestService.java @@ -99,8 +99,8 @@ public class IngestService extends AbstractPaginateService<LogbookOperationDto> ingestThread.start(); } - public ResponseEntity<byte[]> generateDocX(ExternalHttpContext context, String id) { - return ingestExternalRestClient.generateDocX(context, id); + public ResponseEntity<byte[]> generateODTReport(ExternalHttpContext context, String id) { + return ingestExternalRestClient.generateODTReport(context, id); } public IngestExternalRestClient getClient() {