diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/controller/JobLauncherController.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/controller/JobLauncherController.java index 799a82b8..22784081 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/controller/JobLauncherController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/controller/JobLauncherController.java @@ -37,7 +37,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import java.util.Date; +import java.time.LocalDateTime; import java.util.List; import static ca.bc.gov.educ.api.batchgraduation.util.EducGradBatchGraduationApiConstants.SEARCH_REQUEST; @@ -124,7 +124,7 @@ public ResponseEntity launchRegGradJob() { builder.addString(JOB_TYPE, REGALG); response.setJobType(REGALG); response.setTriggerBy(MANUAL); - response.setStartTime(new Date(System.currentTimeMillis())); + response.setStartTime(LocalDateTime.now()); response.setStatus(BatchStatusEnum.STARTED.name()); try { @@ -153,7 +153,7 @@ public ResponseEntity launchTvrRunJob() { builder.addString(JOB_TYPE, TVRRUN); response.setJobType(TVRRUN); response.setTriggerBy(MANUAL); - response.setStartTime(new Date(System.currentTimeMillis())); + response.setStartTime(LocalDateTime.now()); response.setStatus(BatchStatusEnum.STARTED.name()); try { @@ -222,7 +222,7 @@ public ResponseEntity launchRegGradSpecialJob(@RequestBody Stu builder.addString(JOB_TYPE, REGALG); response.setJobType(REGALG); response.setTriggerBy(MANUAL); - response.setStartTime(new Date(System.currentTimeMillis())); + response.setStartTime(LocalDateTime.now()); response.setStatus(BatchStatusEnum.STARTED.name()); validateInput(response, studentSearchRequest); if(response.getException() != null) { @@ -280,7 +280,7 @@ public ResponseEntity launchTvrRunSpecialJob(@RequestBody Stud builder.addString(JOB_TYPE, TVRRUN); response.setJobType(TVRRUN); response.setTriggerBy(MANUAL); - response.setStartTime(new Date(System.currentTimeMillis())); + response.setStartTime(LocalDateTime.now()); response.setStatus(BatchStatusEnum.STARTED.name()); validateInput(response, studentSearchRequest); if(response.getException() != null) { @@ -313,7 +313,7 @@ public ResponseEntity launchRerunAll(@PathVariable Long batchI builder.addString(JOB_TYPE, entity.getJobType()); response.setJobType(entity.getJobType()); response.setTriggerBy(entity.getTriggerBy()); - response.setStartTime(new Date(System.currentTimeMillis())); + response.setStartTime(LocalDateTime.now()); response.setStatus(BatchStatusEnum.STARTED.name()); try { @@ -369,7 +369,7 @@ public ResponseEntity launchRerunFailed(@PathVariable Long bat builder.addString(JOB_TYPE, entity.getJobType()); response.setJobType(entity.getJobType()); response.setTriggerBy(entity.getTriggerBy()); - response.setStartTime(new Date(System.currentTimeMillis())); + response.setStartTime(LocalDateTime.now()); response.setStatus(BatchStatusEnum.STARTED.name()); try { @@ -706,7 +706,7 @@ public ResponseEntity launchCertRegenJob() { builder.addString(SEARCH_REQUEST, ""); response.setJobType(CERT_REGEN); response.setTriggerBy(MANUAL); - response.setStartTime(new Date(System.currentTimeMillis())); + response.setStartTime(LocalDateTime.now()); response.setStatus(BatchStatusEnum.STARTED.name()); try { @@ -734,7 +734,7 @@ public ResponseEntity launchUserReqCertRegenJob(@RequestBody C builder.addString(JOB_TYPE, CERT_REGEN); response.setJobType(CERT_REGEN); response.setTriggerBy(MANUAL); - response.setStartTime(new Date(System.currentTimeMillis())); + response.setStartTime(LocalDateTime.now()); response.setStatus(BatchStatusEnum.STARTED.name()); try { diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/BaseEntity.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/BaseEntity.java index b7276a76..69e82c56 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/BaseEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/BaseEntity.java @@ -7,7 +7,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.format.annotation.DateTimeFormat; -import java.util.Date; +import java.time.LocalDateTime; @Data @MappedSuperclass @@ -18,7 +18,7 @@ public class BaseEntity { @Column(name = "CREATE_DATE", columnDefinition="datetime",nullable = false) @Temporal(TemporalType.TIMESTAMP) @DateTimeFormat(pattern = "yyyy-mm-dd hh:mm:ss") - private Date createDate; + private LocalDateTime createDate; @Column(name = "UPDATE_USER", nullable = false) @@ -27,7 +27,7 @@ public class BaseEntity { @Column(name = "UPDATE_DATE", columnDefinition="datetime") @Temporal(TemporalType.TIMESTAMP) @DateTimeFormat(pattern = "yyyy-mm-dd hh:mm:ss") - private Date updateDate; + private LocalDateTime updateDate; @PrePersist protected void onCreate() { @@ -43,14 +43,14 @@ protected void onCreate() { this.updateUser = EducGradBatchGraduationApiConstants.DEFAULT_UPDATED_BY; } } - this.createDate = new Date(System.currentTimeMillis()); - this.updateDate = new Date(System.currentTimeMillis()); + this.createDate = LocalDateTime.now(); + this.updateDate = LocalDateTime.now(); } @PreUpdate protected void onPersist() { - this.updateDate = new Date(); + this.updateDate = LocalDateTime.now(); if (StringUtils.isBlank(updateUser)) { this.updateUser = ThreadLocalStateUtil.getCurrentUser(); if (StringUtils.isBlank(updateUser)) { @@ -64,7 +64,7 @@ protected void onPersist() { } } if (this.createDate == null) { - this.createDate = new Date(); + this.createDate = LocalDateTime.now(); } } } diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/BatchGradAlgorithmJobHistoryEntity.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/BatchGradAlgorithmJobHistoryEntity.java index f3c2de72..d895c87c 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/BatchGradAlgorithmJobHistoryEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/BatchGradAlgorithmJobHistoryEntity.java @@ -5,7 +5,7 @@ import lombok.EqualsAndHashCode; import org.hibernate.annotations.GenericGenerator; -import java.util.Date; +import java.time.LocalDateTime; import java.util.UUID; @Data @@ -28,11 +28,11 @@ public class BatchGradAlgorithmJobHistoryEntity extends BaseEntity { @Column(name = "START_TIME", nullable = true) @Temporal(TemporalType.TIMESTAMP) - private Date startTime; + private LocalDateTime startTime; @Column(name = "END_TIME", nullable = true) @Temporal(TemporalType.TIMESTAMP) - private Date endTime; + private LocalDateTime endTime; @Column(name = "EXPECTED_STUDENTS_PROCESSED", nullable = true) private Long expectedStudentsProcessed; diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/BatchJobExecutionEntity.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/BatchJobExecutionEntity.java index 04bd6c4c..c8d02118 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/BatchJobExecutionEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/BatchJobExecutionEntity.java @@ -5,7 +5,7 @@ import lombok.EqualsAndHashCode; import java.time.Instant; -import java.util.Date; +import java.time.LocalDateTime; @Data @Entity @@ -22,15 +22,15 @@ public class BatchJobExecutionEntity { @Column(name = "CREATE_TIME", nullable = true) @Temporal(TemporalType.TIMESTAMP) - private Date createTime; + private LocalDateTime createTime; @Column(name = "START_TIME", nullable = true) @Temporal(TemporalType.TIMESTAMP) - private Date startTime; + private LocalDateTime startTime; @Column(name = "END_TIME", nullable = true) @Temporal(TemporalType.TIMESTAMP) - private Date endTime; + private LocalDateTime endTime; @Column(name = "STATUS", nullable = true) private String status; diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/BaseDistributionRunCompletionNotificationListener.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/BaseDistributionRunCompletionNotificationListener.java index 4d3af29e..1cc31181 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/BaseDistributionRunCompletionNotificationListener.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/BaseDistributionRunCompletionNotificationListener.java @@ -5,6 +5,7 @@ import ca.bc.gov.educ.api.batchgraduation.rest.RestUtils; import ca.bc.gov.educ.api.batchgraduation.service.DistributionService; import ca.bc.gov.educ.api.batchgraduation.service.GradBatchHistoryService; +import ca.bc.gov.educ.api.batchgraduation.util.DateUtils; import ca.bc.gov.educ.api.batchgraduation.util.GradSorter; import ca.bc.gov.educ.api.batchgraduation.util.JsonTransformer; import org.apache.commons.lang3.StringUtils; @@ -44,8 +45,8 @@ protected void processBatchJobHistory(BaseDistributionSummaryDTO summaryDTO, Lon ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords); ent.setJobExecutionId(jobExecutionId); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/BaseRunCompletionNotificationListener.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/BaseRunCompletionNotificationListener.java index e1189635..8f7228a0 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/BaseRunCompletionNotificationListener.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/BaseRunCompletionNotificationListener.java @@ -90,8 +90,8 @@ private void processBatchJobHistory(AlgorithmSummaryDTO summaryDTO, Long jobExec ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords != null? failedRecords.intValue() : 0); ent.setJobExecutionId(jobExecutionId); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/RegenCertRunCompletionNotificationListener.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/RegenCertRunCompletionNotificationListener.java index d2b017a3..2763b488 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/RegenCertRunCompletionNotificationListener.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/RegenCertRunCompletionNotificationListener.java @@ -59,7 +59,7 @@ private void saveBatchJobHistory(AlgorithmSummaryDTO summaryDTO, Long jobExecuti if (ent != null) { ent.setActualStudentsProcessed(summaryDTO.getProcessedCount()); ent.setFailedStudentsProcessed((int) summaryDTO.getErroredCount()); - ent.setEndTime(endTime); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); gradBatchHistoryService.saveGradAlgorithmJobHistory(ent); diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/model/BatchGradAlgorithmJobHistory.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/model/BatchGradAlgorithmJobHistory.java index 075ae8b7..1c80f749 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/model/BatchGradAlgorithmJobHistory.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/model/BatchGradAlgorithmJobHistory.java @@ -4,7 +4,7 @@ import lombok.EqualsAndHashCode; import org.springframework.stereotype.Component; -import java.util.Date; +import java.time.LocalDateTime; import java.util.UUID; @Data @@ -14,8 +14,8 @@ public class BatchGradAlgorithmJobHistory extends BaseModel{ private UUID id; private Integer jobExecutionId; - private Date startTime; - private Date endTime; + private LocalDateTime startTime; + private LocalDateTime endTime; private String expectedStudentsProcessed; private String actualStudentsProcessed; private String failedStudentsProcessed; diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/model/BatchJobExecution.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/model/BatchJobExecution.java index e68f20b1..3878ed1d 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/model/BatchJobExecution.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/model/BatchJobExecution.java @@ -4,7 +4,7 @@ import lombok.EqualsAndHashCode; import org.springframework.stereotype.Component; -import java.util.Date; +import java.time.LocalDateTime; @Data @EqualsAndHashCode(callSuper = false) @@ -12,8 +12,8 @@ public class BatchJobExecution { private Long jobExecutionId; - private Date createTime; - private Date startTime; - private Date endTime; + private LocalDateTime createTime; + private LocalDateTime startTime; + private LocalDateTime endTime; private String status; } diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/model/BatchJobResponse.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/model/BatchJobResponse.java index 771ec28a..6b06f327 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/model/BatchJobResponse.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/model/BatchJobResponse.java @@ -2,12 +2,12 @@ import lombok.Data; -import java.util.Date; +import java.time.LocalDateTime; @Data public class BatchJobResponse { private Long batchId; - private Date startTime; + private LocalDateTime startTime; private String status; private String jobType; private String triggerBy; diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/reader/BasePartitioner.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/reader/BasePartitioner.java index 9f567030..e75ce37f 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/reader/BasePartitioner.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/reader/BasePartitioner.java @@ -134,7 +134,7 @@ protected BatchGradAlgorithmJobHistoryEntity createBatchJobHistory() { ent.setExpectedStudentsProcessed(0L); ent.setFailedStudentsProcessed(0); ent.setJobExecutionId(jobExecutionId); - ent.setStartTime(startTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/service/DistributionService.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/service/DistributionService.java index b7e23c44..16634af9 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/service/DistributionService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/service/DistributionService.java @@ -11,7 +11,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; +import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; @@ -75,7 +75,7 @@ public void saveStudentCredentialDistribution(Long batchId, String jobType, Stud public void updateDistributionBatchJobStatus(Long batchId, int failedCount, String status) { log.debug("updateDistributionBatchJobStatus - retrieve the batch job history: batchId = {}", batchId); BatchGradAlgorithmJobHistoryEntity jobHistory = gradBatchHistoryService.getGradAlgorithmJobHistory(batchId); - jobHistory.setEndTime(new Date(System.currentTimeMillis())); + jobHistory.setEndTime(LocalDateTime.now()); jobHistory.setStatus(status); jobHistory.setActualStudentsProcessed(jobHistory.getExpectedStudentsProcessed() - failedCount); log.debug("updateDistributionBatchJobStatus - save the batch job history: batchId = {}, status = {}. actual processed count = {}", batchId, status, jobHistory.getActualStudentsProcessed()); diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/service/GradDashboardService.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/service/GradDashboardService.java index b8e73dc3..126f1fea 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/service/GradDashboardService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/service/GradDashboardService.java @@ -1,22 +1,25 @@ package ca.bc.gov.educ.api.batchgraduation.service; -import java.util.*; -import java.util.stream.Collectors; - import ca.bc.gov.educ.api.batchgraduation.entity.*; import ca.bc.gov.educ.api.batchgraduation.model.*; -import ca.bc.gov.educ.api.batchgraduation.repository.*; +import ca.bc.gov.educ.api.batchgraduation.repository.BatchGradAlgorithmJobHistoryRepository; +import ca.bc.gov.educ.api.batchgraduation.repository.BatchGradAlgorithmStudentRepository; +import ca.bc.gov.educ.api.batchgraduation.repository.BatchJobExecutionRepository; +import ca.bc.gov.educ.api.batchgraduation.repository.BatchProcessingRepository; import ca.bc.gov.educ.api.batchgraduation.rest.RestUtils; +import ca.bc.gov.educ.api.batchgraduation.transformer.BatchGradAlgorithmJobHistoryTransformer; import ca.bc.gov.educ.api.batchgraduation.transformer.BatchProcessingTransformer; import org.apache.commons.lang3.time.DateUtils; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; - -import ca.bc.gov.educ.api.batchgraduation.transformer.BatchGradAlgorithmJobHistoryTransformer; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; + @Service public class GradDashboardService extends GradService { @@ -54,9 +57,9 @@ public GradDashboard getDashboardInfo() { gradDash.setLastActualStudentsProcessed(info.getActualStudentsProcessed()); gradDash.setLastExpectedStudentsProcessed(info.getExpectedStudentsProcessed()); gradDash.setLastFailedStudentsProcessed(info.getFailedStudentsProcessed()); - gradDash.setLastJobendTime(info.getEndTime()); + gradDash.setLastJobendTime(ca.bc.gov.educ.api.batchgraduation.util.DateUtils.toDate(info.getEndTime())); gradDash.setLastJobExecutionId(info.getJobExecutionId()); - gradDash.setLastJobstartTime(info.getStartTime()); + gradDash.setLastJobstartTime(ca.bc.gov.educ.api.batchgraduation.util.DateUtils.toDate(info.getStartTime())); gradDash.setLastStatus(info.getStatus()); gradDash.setTotalBatchRuns(infoDetailsList.size()); gradDash.setBatchInfoList(infoDetailsList); @@ -148,9 +151,9 @@ public BatchGradAlgorithmJobHistory handleDeadJob(BatchGradAlgorithmJobHistory b Integer jobExecutionId = batchJobHistory.getJobExecutionId(); Date now = new Date(System.currentTimeMillis()); - Date deadline = DateUtils.addDays(now, -3); + LocalDateTime deadline = ca.bc.gov.educ.api.batchgraduation.util.DateUtils.toLocalDateTime(DateUtils.addDays(now, -3)); - if (batchJobHistory.getStartTime().before(deadline)) { + if (batchJobHistory.getStartTime().isBefore(deadline)) { Optional optional = batchJobExecutionRepository.findById(jobExecutionId.longValue()); if (optional.isPresent()) { BatchJobExecutionEntity batchJobExecution = optional.get(); diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/writer/BaseYearEndWriter.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/writer/BaseYearEndWriter.java index 6ebeb6f9..1e76d203 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/writer/BaseYearEndWriter.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/writer/BaseYearEndWriter.java @@ -13,7 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import java.util.Date; +import java.time.LocalDateTime; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -44,10 +44,10 @@ public abstract class BaseYearEndWriter { JobParameters jobParameters; @Value("#{stepExecution.jobExecution.startTime}") - Date startTime; + LocalDateTime startTime; @Value("#{stepExecution.jobExecution.endTime}") - Date endTime; + LocalDateTime endTime; protected void processGlobalList(List cList, Long batchId, Map mapDist, String activityCode, String accessToken) { List uniqueSchoolList = cList.stream().map(StudentCredentialDistribution::getSchoolOfRecord).distinct().collect(Collectors.toList()); diff --git a/api/src/main/resources/application.yaml b/api/src/main/resources/application.yaml index c691f348..9fb89f56 100644 --- a/api/src/main/resources/application.yaml +++ b/api/src/main/resources/application.yaml @@ -25,6 +25,7 @@ spring: jackson: deserialization: fail-on-unknown-properties: false + date-format: com.fasterxml.jackson.databind.util.ISO8601DateFormat #Keycloak/OAuth properties security: user: diff --git a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/DistributionRunCompletionNotificationListenerTest.java b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/DistributionRunCompletionNotificationListenerTest.java index a3925b9a..debc564f 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/DistributionRunCompletionNotificationListenerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/DistributionRunCompletionNotificationListenerTest.java @@ -131,8 +131,8 @@ public void testAfterJob() throws JobInstanceAlreadyCompleteException, JobExecut ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords); ent.setJobExecutionId(121L); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); diff --git a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/GradRunCompletionNotificationListenerTest.java b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/GradRunCompletionNotificationListenerTest.java index 1653e965..412007ac 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/GradRunCompletionNotificationListenerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/GradRunCompletionNotificationListenerTest.java @@ -98,8 +98,8 @@ public void testAfterJob() throws JobInstanceAlreadyCompleteException, JobExecut ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords); ent.setJobExecutionId(121L); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); @@ -156,8 +156,8 @@ public void testAfterJob_witherror() throws JobInstanceAlreadyCompleteException, ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords); ent.setJobExecutionId(121L); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); diff --git a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/SpecialRunCompletionNotificationListenerTest.java b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/SpecialRunCompletionNotificationListenerTest.java index acd17ef5..1a659558 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/SpecialRunCompletionNotificationListenerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/SpecialRunCompletionNotificationListenerTest.java @@ -98,8 +98,8 @@ public void testAfterJob() throws JobInstanceAlreadyCompleteException, JobExecut ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords); ent.setJobExecutionId(121L); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); @@ -158,8 +158,8 @@ public void testAfterJob_witherror() throws JobInstanceAlreadyCompleteException, ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords); ent.setJobExecutionId(121L); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); diff --git a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/TvrRunJobCompletionNotificationListenerTest.java b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/TvrRunJobCompletionNotificationListenerTest.java index 5c7c7de5..5e7f1b30 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/TvrRunJobCompletionNotificationListenerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/TvrRunJobCompletionNotificationListenerTest.java @@ -98,8 +98,8 @@ public void testAfterJob() throws JobInstanceAlreadyCompleteException, JobExecut ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords); ent.setJobExecutionId(121L); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); @@ -156,8 +156,8 @@ public void testAfterJob_witherror() throws JobInstanceAlreadyCompleteException, ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords); ent.setJobExecutionId(121L); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); diff --git a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/UserReqBlankDistributionRunCompletionNotificationListenerTest.java b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/UserReqBlankDistributionRunCompletionNotificationListenerTest.java index 5cbadf42..e75d1a0d 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/UserReqBlankDistributionRunCompletionNotificationListenerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/UserReqBlankDistributionRunCompletionNotificationListenerTest.java @@ -149,8 +149,8 @@ public void testAfterJob() throws JobInstanceAlreadyCompleteException, JobExecut ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords); ent.setJobExecutionId(121L); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); @@ -239,8 +239,8 @@ public void testAfterJob_OC() throws JobInstanceAlreadyCompleteException, JobExe ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords); ent.setJobExecutionId(121L); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); diff --git a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/UserReqDistributionRunCompletionNotificationListenerTest.java b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/UserReqDistributionRunCompletionNotificationListenerTest.java index c526caf9..22c88d1d 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/UserReqDistributionRunCompletionNotificationListenerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/UserReqDistributionRunCompletionNotificationListenerTest.java @@ -155,8 +155,8 @@ public void testAfterJob() throws JobInstanceAlreadyCompleteException, JobExecut ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords); ent.setJobExecutionId(121L); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); @@ -270,8 +270,8 @@ public void testAfterJob_OC() throws JobInstanceAlreadyCompleteException, JobExe ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords); ent.setJobExecutionId(121L); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); diff --git a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/UserReqPsiDistributionRunCompletionNotificationListenerTest.java b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/UserReqPsiDistributionRunCompletionNotificationListenerTest.java index 05647ebe..b6996ede 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/UserReqPsiDistributionRunCompletionNotificationListenerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/listener/UserReqPsiDistributionRunCompletionNotificationListenerTest.java @@ -136,8 +136,8 @@ public void testAfterJob() throws JobInstanceAlreadyCompleteException, JobExecut ent.setExpectedStudentsProcessed(expectedStudents); ent.setFailedStudentsProcessed(failedRecords); ent.setJobExecutionId(121L); - ent.setStartTime(startTime); - ent.setEndTime(endTime); + ent.setStartTime(DateUtils.toLocalDateTime(startTime)); + ent.setEndTime(DateUtils.toLocalDateTime(endTime)); ent.setStatus(status); ent.setTriggerBy(jobTrigger); ent.setJobType(jobType); diff --git a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/service/CodeServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/service/CodeServiceTest.java index 7ba5edec..aed58b15 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/service/CodeServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/service/CodeServiceTest.java @@ -15,7 +15,6 @@ import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.reactive.function.client.WebClient; -import java.sql.Date; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @@ -50,16 +49,16 @@ void testGetAllBatchJobTypesCodeList() { obj.setDescription("Graduation Algorithm"); obj.setCreateUser("GRADUATION"); obj.setUpdateUser("GRADUATION"); - obj.setCreateDate(new Date(System.currentTimeMillis())); - obj.setUpdateDate(new Date(System.currentTimeMillis())); + obj.setCreateDate(LocalDateTime.now()); + obj.setUpdateDate(LocalDateTime.now()); gradBatchJobTypeList.add(obj); obj = new BatchJobTypeEntity(); obj.setCode("TVRRUN"); obj.setDescription("Student Achievement Report (TVR)"); obj.setCreateUser("GRADUATION"); obj.setUpdateUser("GRADUATION"); - obj.setCreateDate(new Date(System.currentTimeMillis())); - obj.setUpdateDate(new Date(System.currentTimeMillis())); + obj.setCreateDate(LocalDateTime.now()); + obj.setUpdateDate(LocalDateTime.now()); gradBatchJobTypeList.add(obj); Mockito.when(batchJobTypeRepository.findAll()).thenReturn(gradBatchJobTypeList); var result = codeService.getAllBatchJobTypeCodeList(); @@ -82,8 +81,8 @@ void testGetSpecificBatchJobTypeCode() { objEntity.setDescription("Student Achievement Report (TVR)"); objEntity.setCreateUser("GRADUATION"); objEntity.setUpdateUser("GRADUATION"); - objEntity.setCreateDate(new Date(System.currentTimeMillis())); - objEntity.setUpdateDate(new Date(System.currentTimeMillis())); + objEntity.setCreateDate(LocalDateTime.now()); + objEntity.setUpdateDate(LocalDateTime.now()); Optional ent = Optional.of(objEntity); Mockito.when(batchJobTypeRepository.findById(code)).thenReturn(ent); var result = codeService.getSpecificBatchJobTypeCode(code); @@ -113,8 +112,8 @@ void testCreateBatchJobType() { objEntity.setDescription("PSI Run FTP / Paper"); objEntity.setCreateUser("GRADUATION"); objEntity.setUpdateUser("GRADUATION"); - objEntity.setCreateDate(new Date(System.currentTimeMillis())); - objEntity.setUpdateDate(new Date(System.currentTimeMillis())); + objEntity.setCreateDate(LocalDateTime.now()); + objEntity.setUpdateDate(LocalDateTime.now()); Mockito.when(batchJobTypeRepository.findById(obj.getCode())).thenReturn(Optional.empty()); Mockito.when(batchJobTypeRepository.save(objEntity)).thenReturn(objEntity); var result = codeService.createBatchJobType(obj); @@ -136,8 +135,8 @@ void testCreateBatchJobType_codeAlreadyExists() { objEntity.setDescription("PSI Run FTP / Paper"); objEntity.setCreateUser("GRADUATION"); objEntity.setUpdateUser("GRADUATION"); - objEntity.setCreateDate(new Date(System.currentTimeMillis())); - objEntity.setUpdateDate(new Date(System.currentTimeMillis())); + objEntity.setCreateDate(LocalDateTime.now()); + objEntity.setUpdateDate(LocalDateTime.now()); Optional ent = Optional.of(objEntity); Mockito.when(batchJobTypeRepository.findById(obj.getCode())).thenReturn(ent); var result = codeService.createBatchJobType(obj); @@ -159,8 +158,8 @@ void testUpdateBatchJobType() { objEntity.setDescription("Graduation Algorithm"); objEntity.setCreateUser("GRADUATION"); objEntity.setUpdateUser("GRADUATION"); - objEntity.setCreateDate(new Date(System.currentTimeMillis())); - objEntity.setUpdateDate(new Date(System.currentTimeMillis())); + objEntity.setCreateDate(LocalDateTime.now()); + objEntity.setUpdateDate(LocalDateTime.now()); Optional ent = Optional.of(objEntity); Mockito.when(batchJobTypeRepository.findById(obj.getCode())).thenReturn(ent); Mockito.when(batchJobTypeRepository.save(objEntity)).thenReturn(objEntity); @@ -182,8 +181,8 @@ void testUpdateBatchJobType_codeAlreadyExists() { objEntity.setDescription("Graduation Algorithm"); objEntity.setCreateUser("GRADUATION"); objEntity.setUpdateUser("GRADUATION"); - objEntity.setCreateDate(new Date(System.currentTimeMillis())); - objEntity.setUpdateDate(new Date(System.currentTimeMillis())); + objEntity.setCreateDate(LocalDateTime.now()); + objEntity.setUpdateDate(LocalDateTime.now()); Mockito.when(batchJobTypeRepository.findById(obj.getCode())).thenReturn(Optional.empty()); var result = codeService.updateBatchJobType(obj); assertThat(result).isNull(); diff --git a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/service/DistributionServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/service/DistributionServiceTest.java index 7d54e7b6..5644814e 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/service/DistributionServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/service/DistributionServiceTest.java @@ -16,8 +16,8 @@ import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.reactive.function.client.WebClient; +import java.time.LocalDateTime; import java.util.Arrays; -import java.util.Date; import java.util.List; import java.util.UUID; @@ -140,7 +140,7 @@ public void testUpdateDistributionBatchJobStatus() throws Exception { BatchGradAlgorithmJobHistoryEntity batchGradAlgorithmJobHistoryEntity = new BatchGradAlgorithmJobHistoryEntity(); batchGradAlgorithmJobHistoryEntity.setId(UUID.randomUUID()); batchGradAlgorithmJobHistoryEntity.setJobExecutionId(batchId); - batchGradAlgorithmJobHistoryEntity.setStartTime(new Date(System.currentTimeMillis())); + batchGradAlgorithmJobHistoryEntity.setStartTime(LocalDateTime.now()); batchGradAlgorithmJobHistoryEntity.setExpectedStudentsProcessed(1L); batchGradAlgorithmJobHistoryEntity.setActualStudentsProcessed(0L); batchGradAlgorithmJobHistoryEntity.setFailedStudentsProcessed(0); diff --git a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/service/GradDashboardServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/service/GradDashboardServiceTest.java index 84a9ee55..980b0ea4 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/service/GradDashboardServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/service/GradDashboardServiceTest.java @@ -1,8 +1,14 @@ package ca.bc.gov.educ.api.batchgraduation.service; -import ca.bc.gov.educ.api.batchgraduation.entity.*; +import ca.bc.gov.educ.api.batchgraduation.entity.BatchGradAlgorithmJobHistoryEntity; +import ca.bc.gov.educ.api.batchgraduation.entity.BatchGradAlgorithmStudentEntity; +import ca.bc.gov.educ.api.batchgraduation.entity.BatchJobExecutionEntity; +import ca.bc.gov.educ.api.batchgraduation.entity.BatchProcessingEntity; import ca.bc.gov.educ.api.batchgraduation.model.*; -import ca.bc.gov.educ.api.batchgraduation.repository.*; +import ca.bc.gov.educ.api.batchgraduation.repository.BatchGradAlgorithmJobHistoryRepository; +import ca.bc.gov.educ.api.batchgraduation.repository.BatchGradAlgorithmStudentRepository; +import ca.bc.gov.educ.api.batchgraduation.repository.BatchJobExecutionRepository; +import ca.bc.gov.educ.api.batchgraduation.repository.BatchProcessingRepository; import ca.bc.gov.educ.api.batchgraduation.rest.RestUtils; import org.apache.commons.lang3.time.DateUtils; import org.junit.Test; @@ -19,6 +25,7 @@ import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.reactive.function.client.WebClient; +import java.time.LocalDateTime; import java.util.*; import static org.assertj.core.api.Assertions.assertThat; @@ -55,13 +62,13 @@ public void testGetDashboardInfo() { List list = new ArrayList<>(); BatchGradAlgorithmJobHistoryEntity hist = new BatchGradAlgorithmJobHistoryEntity(); - hist.setEndTime(new Date()); + hist.setEndTime(LocalDateTime.now()); hist.setActualStudentsProcessed(11L); hist.setId(new UUID(1,1)); hist.setExpectedStudentsProcessed(20L); hist.setJobExecutionId(121L); hist.setFailedStudentsProcessed(4); - hist.setStartTime(new Date()); + hist.setStartTime(LocalDateTime.now()); list.add(hist); when(batchGradAlgorithmJobHistoryRepository.findAll()).thenReturn(list); GradDashboard dash = gradDashboardService.getDashboardInfo(); @@ -80,7 +87,7 @@ public void testGetDashboardInfo_whenStartedDate_isOlderThan3Days_thenUpdateStat hist.setJobExecutionId(121L); Date today = new Date(System.currentTimeMillis()); Date startedDateTime = DateUtils.addDays(today, -3); - hist.setStartTime(startedDateTime); + hist.setStartTime(ca.bc.gov.educ.api.batchgraduation.util.DateUtils.toLocalDateTime(startedDateTime)); hist.setStatus("STARTED"); list.add(hist); @@ -170,9 +177,9 @@ public void testGetBatchSummary() { Long batchId= 123123L; UUID studentId = UUID.randomUUID(); BatchJobExecutionEntity ent = new BatchJobExecutionEntity(); - ent.setEndTime(new Date()); + ent.setEndTime(LocalDateTime.now()); ent.setJobExecutionId(batchId); - ent.setStartTime(new Date()); + ent.setStartTime(LocalDateTime.now()); ent.setStatus("COMPLETED"); Page pagedDate = new PageImpl(List.of(ent)); Mockito.when(batchJobExecutionRepository.findAllByOrderByCreateTimeDesc(paging)).thenReturn(pagedDate);