This is an automated email from the ASF dual-hosted git repository. arnold pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/fineract.git
commit 77ee43acb841e1e5954367035ef657daf5526c89 Author: Arnold Galovics <[email protected]> AuthorDate: Wed Dec 28 22:56:56 2022 +0100 Fixed purge external events job --- .../apache/fineract/commands/domain/CommandSourceRepository.java | 4 ++-- .../fineract/commands/jobs/PurgeProcessedCommandsTasklet.java | 6 +++--- .../fineract/commands/jobs/PurgeProcessedCommandsTaskletTest.java | 7 ++++--- integration-tests/build.gradle | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/fineract-provider/src/main/java/org/apache/fineract/commands/domain/CommandSourceRepository.java b/fineract-provider/src/main/java/org/apache/fineract/commands/domain/CommandSourceRepository.java index 13b6affbb..31dbe21a4 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/commands/domain/CommandSourceRepository.java +++ b/fineract-provider/src/main/java/org/apache/fineract/commands/domain/CommandSourceRepository.java @@ -18,7 +18,7 @@ */ package org.apache.fineract.commands.domain; -import java.time.LocalDate; +import java.time.OffsetDateTime; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.Modifying; @@ -30,6 +30,6 @@ public interface CommandSourceRepository extends JpaRepository<CommandSource, Lo @Modifying(flushAutomatically = true) @Query("delete from CommandSource c where c.status = :status and c.madeOnDate is not null and c.madeOnDate <= :dateForPurgeCriteria") - void deleteOlderEventsWithStatus(CommandProcessingResultType status, LocalDate dateForPurgeCriteria); + void deleteOlderEventsWithStatus(Integer status, OffsetDateTime dateForPurgeCriteria); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/commands/jobs/PurgeProcessedCommandsTasklet.java b/fineract-provider/src/main/java/org/apache/fineract/commands/jobs/PurgeProcessedCommandsTasklet.java index 92cfac681..ba81cdfbb 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/commands/jobs/PurgeProcessedCommandsTasklet.java +++ b/fineract-provider/src/main/java/org/apache/fineract/commands/jobs/PurgeProcessedCommandsTasklet.java @@ -18,7 +18,7 @@ */ package org.apache.fineract.commands.jobs; -import java.time.LocalDate; +import java.time.OffsetDateTime; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.fineract.commands.domain.CommandProcessingResultType; @@ -43,8 +43,8 @@ public class PurgeProcessedCommandsTasklet implements Tasklet { public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) { try { Long numberOfDaysForPurgeCriteria = configurationDomainService.retrieveProcessedCommandsPurgeDaysCriteria(); - LocalDate dateForPurgeCriteria = DateUtils.getBusinessLocalDate().minusDays(numberOfDaysForPurgeCriteria); - repository.deleteOlderEventsWithStatus(CommandProcessingResultType.PROCESSED, dateForPurgeCriteria); + OffsetDateTime dateForPurgeCriteria = DateUtils.getOffsetDateTimeOfTenant().minusDays(numberOfDaysForPurgeCriteria); + repository.deleteOlderEventsWithStatus(CommandProcessingResultType.PROCESSED.getValue(), dateForPurgeCriteria); } catch (Exception e) { log.error("Error occurred while purging processed commands: ", e); } diff --git a/fineract-provider/src/test/java/org/apache/fineract/commands/jobs/PurgeProcessedCommandsTaskletTest.java b/fineract-provider/src/test/java/org/apache/fineract/commands/jobs/PurgeProcessedCommandsTaskletTest.java index 050438443..c172dfa96 100644 --- a/fineract-provider/src/test/java/org/apache/fineract/commands/jobs/PurgeProcessedCommandsTaskletTest.java +++ b/fineract-provider/src/test/java/org/apache/fineract/commands/jobs/PurgeProcessedCommandsTaskletTest.java @@ -25,6 +25,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.time.LocalDate; +import java.time.OffsetDateTime; import java.time.ZoneId; import java.util.HashMap; import java.util.Map; @@ -70,15 +71,15 @@ public class PurgeProcessedCommandsTaskletTest { @Test public void givenEventsForPurgeWhenTaskExecutionThenEventsPurgeForDaysCriteria() { // given - ArgumentCaptor<LocalDate> dateCriteriaCaptor = ArgumentCaptor.forClass(LocalDate.class); + ArgumentCaptor<OffsetDateTime> dateCriteriaCaptor = ArgumentCaptor.forClass(OffsetDateTime.class); when(configurationDomainService.retrieveProcessedCommandsPurgeDaysCriteria()).thenReturn(2L); // when resultStatus = underTest.execute(stepContribution, chunkContext); // then verify(repository, times(1)).deleteOlderEventsWithStatus(Mockito.any(), Mockito.any()); verify(repository).deleteOlderEventsWithStatus(Mockito.any(), dateCriteriaCaptor.capture()); - LocalDate expectedDateForPurgeCriteriaTest = DateUtils.getBusinessLocalDate().minusDays(2); - LocalDate actualDateForPurgeCriteria = dateCriteriaCaptor.getValue(); + OffsetDateTime expectedDateForPurgeCriteriaTest = DateUtils.getOffsetDateTimeOfTenant().minusDays(2); + OffsetDateTime actualDateForPurgeCriteria = dateCriteriaCaptor.getValue(); assertEquals(expectedDateForPurgeCriteriaTest, actualDateForPurgeCriteria); assertEquals(RepeatStatus.FINISHED, resultStatus); } diff --git a/integration-tests/build.gradle b/integration-tests/build.gradle index e1969a2ca..5eb324723 100644 --- a/integration-tests/build.gradle +++ b/integration-tests/build.gradle @@ -57,7 +57,7 @@ cargo { downloadDir = file("$buildDir/download") extractDir = file("$buildDir/tomcat-integration-tests") } - startStopTimeout = 240000 + startStopTimeout = 300000 sharedClasspath = configurations.driver containerProperties { def jvmArgs = '--add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.management/javax.management=ALL-UNNAMED --add-opens=java.naming/javax.naming=ALL-UNNAMED '
