From 72a6c12958756cc2836cc7e1608dd0fc38b2e198 Mon Sep 17 00:00:00 2001 From: arybakov Date: Fri, 17 Nov 2023 17:17:51 -0700 Subject: [PATCH 1/4] Fix XML template --- .../gov/educ/api/gradbusiness/service/GradBusinessService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/service/GradBusinessService.java b/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/service/GradBusinessService.java index 1b33bb0..cf6d6ce 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/service/GradBusinessService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/service/GradBusinessService.java @@ -7,6 +7,7 @@ import io.github.resilience4j.retry.annotation.Retry; import jakarta.transaction.Transactional; import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -280,6 +281,7 @@ public ResponseEntity getStudentTranscriptPDFByType(String pen, String t String reportOptions = "\"options\": {\n" + " \"cacheReport\": false,\n" + " \"convertTo\": \"pdf\",\n" + + " \"preview\": \""+ ((StringUtils.isNotBlank(type) && StringUtils.equalsAnyIgnoreCase(type, "xml")) ? "true" : "false") +"\",\n" + " \"overwrite\": false,\n" + " \"reportName\": \"transcript\",\n" + " \"reportFile\": \""+pen+" Transcript Report.pdf\"\n" + From 4c3913c04802dabb7914eaf080e1a174d24a9739 Mon Sep 17 00:00:00 2001 From: arybakov Date: Fri, 17 Nov 2023 17:24:23 -0700 Subject: [PATCH 2/4] Fix XML template --- .../educ/api/gradbusiness/service/GradBusinessService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/service/GradBusinessService.java b/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/service/GradBusinessService.java index 300270a..e678309 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/service/GradBusinessService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/service/GradBusinessService.java @@ -6,7 +6,6 @@ import ca.bc.gov.educ.api.gradbusiness.util.EducGraduationApiConstants; import io.github.resilience4j.retry.annotation.Retry; import jakarta.transaction.Transactional; -import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -290,11 +289,12 @@ public ResponseEntity getStudentCredentialPDFByType(String pen, String t public ResponseEntity getStudentTranscriptPDFByType(String pen, String type, String accessToken) { try { byte[] reportData = prepareReportDataByPen(pen, type, accessToken).getBody(); + boolean isPreview = (StringUtils.isNotBlank(type) && StringUtils.equalsAnyIgnoreCase(type, "xml", "interim")); StringBuilder reportRequest = new StringBuilder(); String reportOptions = "\"options\": {\n" + " \"cacheReport\": false,\n" + " \"convertTo\": \"pdf\",\n" + - " \"preview\": \""+ ((StringUtils.isNotBlank(type) && StringUtils.equalsAnyIgnoreCase(type, "xml")) ? "true" : "false") +"\",\n" + + " \"preview\": \""+ (isPreview ? "true" : "false") +"\",\n" + " \"overwrite\": false,\n" + " \"reportName\": \"transcript\",\n" + " \"reportFile\": \""+pen+" Transcript Report.pdf\"\n" + From 4691f8dc624739ad3c6107928db14f844cbc2346 Mon Sep 17 00:00:00 2001 From: arybakov Date: Fri, 17 Nov 2023 17:28:17 -0700 Subject: [PATCH 3/4] Fix XML template --- .../api/gradbusiness/controller/GradBusinessController.java | 4 ++-- .../educ/api/gradbusiness/service/GradBusinessService.java | 5 +++-- .../gradbusiness/EducGradBusinessApiApplicationTests.java | 2 +- .../gradbusiness/EducGradBusinessApiControllerTests.java | 6 +++--- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/controller/GradBusinessController.java b/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/controller/GradBusinessController.java index 1cb73c6..0be003d 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/controller/GradBusinessController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/controller/GradBusinessController.java @@ -140,8 +140,8 @@ public ResponseEntity studentCredentialByType(@PathVariable String pen, @PreAuthorize("hasAuthority('SCOPE_GET_GRADUATION_DATA')") @Operation(summary = "Get Transcript Report pdf by PEN and optional xml type parameter", description = "Get Transcript Report pdf by PEN and optional xml type parameter", tags = { "Graduation Data" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) - public ResponseEntity studentTranscriptByType(@PathVariable String pen, @RequestParam(required = false) String type, @RequestHeader(name="Authorization") String accessToken) { - return gradBusinessService.getStudentTranscriptPDFByType(pen, type, accessToken.replace(BEARER, "")); + public ResponseEntity studentTranscriptByType(@PathVariable String pen, @RequestParam(required = false) String type, @RequestParam(required = false) String interim, @RequestHeader(name="Authorization") String accessToken) { + return gradBusinessService.getStudentTranscriptPDFByType(pen, type, interim, accessToken.replace(BEARER, "")); } @GetMapping(EducGraduationApiConstants.AMALGAMATED_SCHOOL_REPORT_PDF) diff --git a/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/service/GradBusinessService.java b/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/service/GradBusinessService.java index e678309..b740b69 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/service/GradBusinessService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/gradbusiness/service/GradBusinessService.java @@ -286,10 +286,11 @@ public ResponseEntity getStudentCredentialPDFByType(String pen, String t @Transactional - public ResponseEntity getStudentTranscriptPDFByType(String pen, String type, String accessToken) { + public ResponseEntity getStudentTranscriptPDFByType(String pen, String type, String interim, String accessToken) { try { byte[] reportData = prepareReportDataByPen(pen, type, accessToken).getBody(); - boolean isPreview = (StringUtils.isNotBlank(type) && StringUtils.equalsAnyIgnoreCase(type, "xml", "interim")); + boolean isPreview = (StringUtils.isNotBlank(type) && StringUtils.equalsAnyIgnoreCase(type, "xml", "interim") || + StringUtils.isNotBlank(interim) && StringUtils.equalsAnyIgnoreCase(interim, "xml", "interim")); StringBuilder reportRequest = new StringBuilder(); String reportOptions = "\"options\": {\n" + " \"cacheReport\": false,\n" + diff --git a/api/src/test/java/ca/bc/gov/educ/api/gradbusiness/EducGradBusinessApiApplicationTests.java b/api/src/test/java/ca/bc/gov/educ/api/gradbusiness/EducGradBusinessApiApplicationTests.java index 7e5c70e..fdaf090 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/gradbusiness/EducGradBusinessApiApplicationTests.java +++ b/api/src/test/java/ca/bc/gov/educ/api/gradbusiness/EducGradBusinessApiApplicationTests.java @@ -460,7 +460,7 @@ void testStudentTranscriptPDFByTypeByPen() throws Exception { when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); when(this.responseMock.bodyToMono(byte[].class)).thenReturn(Mono.just(transcriptPdfSample)); - ResponseEntity transcriptPdf = gradBusinessService.getStudentTranscriptPDFByType(pen, "xml", "accessToken"); + ResponseEntity transcriptPdf = gradBusinessService.getStudentTranscriptPDFByType(pen, "xml", null,"accessToken"); assertNotNull(transcriptPdf.getBody()); assertEquals(transcriptPdfSample,transcriptPdf.getBody()); } diff --git a/api/src/test/java/ca/bc/gov/educ/api/gradbusiness/EducGradBusinessApiControllerTests.java b/api/src/test/java/ca/bc/gov/educ/api/gradbusiness/EducGradBusinessApiControllerTests.java index f5e9375..fbe0ade 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/gradbusiness/EducGradBusinessApiControllerTests.java +++ b/api/src/test/java/ca/bc/gov/educ/api/gradbusiness/EducGradBusinessApiControllerTests.java @@ -234,9 +234,9 @@ void testStudentTranscriptPDFByType() throws Exception { .contentType(MediaType.APPLICATION_XML) .body(greBPack); - Mockito.when(gradBusinessService.getStudentTranscriptPDFByType("12312321","xml", "accessToken")).thenReturn(response); - gradBusinessController.studentTranscriptByType("12312321", "xml","accessToken"); - Mockito.verify(gradBusinessService).getStudentTranscriptPDFByType("12312321","xml", "accessToken"); + Mockito.when(gradBusinessService.getStudentTranscriptPDFByType("12312321","xml", null,"accessToken")).thenReturn(response); + gradBusinessController.studentTranscriptByType("12312321", "xml", null, "accessToken"); + Mockito.verify(gradBusinessService).getStudentTranscriptPDFByType("12312321","xml", null,"accessToken"); } From ca83b2791cf7d6fffa1d8bbf18b7c6b7bbb5f2a4 Mon Sep 17 00:00:00 2001 From: Kamal Mohammed Date: Tue, 21 Nov 2023 12:37:39 -0700 Subject: [PATCH 4/4] Update pom.xml --- api/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/pom.xml b/api/pom.xml index 970cf2a..1078740 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -11,7 +11,7 @@ ca.bc.gov educ-grad-business-api - 1.8.24 + 1.8.25 educ-grad-business-api GRAD Business API for external clients