From c404f474e9d08e7ece454028b8d10b4164f6cfa6 Mon Sep 17 00:00:00 2001 From: Peter Bagrij Date: Thu, 21 Mar 2024 16:11:13 +0100 Subject: [PATCH] FINERACT-1971: Fixing Loan COB error on startup when Loan COB is disabled --- ...ndition.java => BatchManagerCondition.java} | 6 ++---- ...ondition.java => BatchWorkerCondition.java} | 6 ++---- .../cob/loan/LoanCOBManagerConfiguration.java | 4 ++-- .../cob/loan/LoanCOBWorkerConfiguration.java | 4 ++-- ...est.java => BatchManagerConditionTest.java} | 18 ++++-------------- ...Test.java => BatchWorkerConditionTest.java} | 18 ++++-------------- 6 files changed, 16 insertions(+), 40 deletions(-) rename fineract-provider/src/main/java/org/apache/fineract/cob/conditions/{LoanCOBWorkerCondition.java => BatchManagerCondition.java} (79%) rename fineract-provider/src/main/java/org/apache/fineract/cob/conditions/{LoanCOBManagerCondition.java => BatchWorkerCondition.java} (79%) rename fineract-provider/src/test/java/org/apache/fineract/cob/conditions/{LoanCOBManagerConditionTest.java => BatchManagerConditionTest.java} (73%) rename fineract-provider/src/test/java/org/apache/fineract/cob/conditions/{LoanCOBWorkerConditionTest.java => BatchWorkerConditionTest.java} (73%) diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/conditions/LoanCOBWorkerCondition.java b/fineract-provider/src/main/java/org/apache/fineract/cob/conditions/BatchManagerCondition.java similarity index 79% rename from fineract-provider/src/main/java/org/apache/fineract/cob/conditions/LoanCOBWorkerCondition.java rename to fineract-provider/src/main/java/org/apache/fineract/cob/conditions/BatchManagerCondition.java index cfb3a2ea7..8f2ea5ca6 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/conditions/LoanCOBWorkerCondition.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/conditions/BatchManagerCondition.java @@ -21,12 +21,10 @@ package org.apache.fineract.cob.conditions; import org.apache.fineract.infrastructure.core.condition.PropertiesCondition; import org.apache.fineract.infrastructure.core.config.FineractProperties; -public class LoanCOBWorkerCondition extends PropertiesCondition { +public class BatchManagerCondition extends PropertiesCondition { @Override protected boolean matches(FineractProperties properties) { - boolean loanCobEnabled = properties.getJob().isLoanCobEnabled(); - boolean batchWorkerEnabled = properties.getMode().isBatchWorkerEnabled(); - return loanCobEnabled && batchWorkerEnabled; + return properties.getMode().isBatchManagerEnabled(); } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/conditions/LoanCOBManagerCondition.java b/fineract-provider/src/main/java/org/apache/fineract/cob/conditions/BatchWorkerCondition.java similarity index 79% rename from fineract-provider/src/main/java/org/apache/fineract/cob/conditions/LoanCOBManagerCondition.java rename to fineract-provider/src/main/java/org/apache/fineract/cob/conditions/BatchWorkerCondition.java index 7c2a6d936..919798e63 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/conditions/LoanCOBManagerCondition.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/conditions/BatchWorkerCondition.java @@ -21,12 +21,10 @@ package org.apache.fineract.cob.conditions; import org.apache.fineract.infrastructure.core.condition.PropertiesCondition; import org.apache.fineract.infrastructure.core.config.FineractProperties; -public class LoanCOBManagerCondition extends PropertiesCondition { +public class BatchWorkerCondition extends PropertiesCondition { @Override protected boolean matches(FineractProperties properties) { - boolean loanCobEnabled = properties.getJob().isLoanCobEnabled(); - boolean batchManagerEnabled = properties.getMode().isBatchManagerEnabled(); - return loanCobEnabled && batchManagerEnabled; + return properties.getMode().isBatchWorkerEnabled(); } } diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanCOBManagerConfiguration.java b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanCOBManagerConfiguration.java index 74ffd4224..66386a4ce 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanCOBManagerConfiguration.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanCOBManagerConfiguration.java @@ -20,7 +20,7 @@ package org.apache.fineract.cob.loan; import org.apache.fineract.cob.COBBusinessStepService; import org.apache.fineract.cob.common.CustomJobParameterResolver; -import org.apache.fineract.cob.conditions.LoanCOBManagerCondition; +import org.apache.fineract.cob.conditions.BatchManagerCondition; import org.apache.fineract.cob.listener.COBExecutionListenerRunner; import org.apache.fineract.infrastructure.event.business.service.BusinessEventNotifierService; import org.apache.fineract.infrastructure.jobs.service.JobName; @@ -47,7 +47,7 @@ import org.springframework.transaction.PlatformTransactionManager; @Configuration @EnableBatchIntegration -@Conditional(LoanCOBManagerCondition.class) +@Conditional(BatchManagerCondition.class) public class LoanCOBManagerConfiguration { @Autowired diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanCOBWorkerConfiguration.java b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanCOBWorkerConfiguration.java index abbfeef51..f50987afa 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanCOBWorkerConfiguration.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanCOBWorkerConfiguration.java @@ -22,7 +22,7 @@ import org.apache.fineract.cob.COBBusinessStepService; import org.apache.fineract.cob.common.CustomJobParameterResolver; import org.apache.fineract.cob.common.InitialisationTasklet; import org.apache.fineract.cob.common.ResetContextTasklet; -import org.apache.fineract.cob.conditions.LoanCOBWorkerCondition; +import org.apache.fineract.cob.conditions.BatchWorkerCondition; import org.apache.fineract.cob.listener.ChunkProcessingLoanItemListener; import org.apache.fineract.infrastructure.core.config.FineractProperties; import org.apache.fineract.infrastructure.jobs.service.JobName; @@ -51,7 +51,7 @@ import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.support.TransactionTemplate; @Configuration -@Conditional(LoanCOBWorkerCondition.class) +@Conditional(BatchWorkerCondition.class) public class LoanCOBWorkerConfiguration { @Autowired diff --git a/fineract-provider/src/test/java/org/apache/fineract/cob/conditions/LoanCOBManagerConditionTest.java b/fineract-provider/src/test/java/org/apache/fineract/cob/conditions/BatchManagerConditionTest.java similarity index 73% rename from fineract-provider/src/test/java/org/apache/fineract/cob/conditions/LoanCOBManagerConditionTest.java rename to fineract-provider/src/test/java/org/apache/fineract/cob/conditions/BatchManagerConditionTest.java index ec048210e..9aa953fa4 100644 --- a/fineract-provider/src/test/java/org/apache/fineract/cob/conditions/LoanCOBManagerConditionTest.java +++ b/fineract-provider/src/test/java/org/apache/fineract/cob/conditions/BatchManagerConditionTest.java @@ -32,7 +32,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata; import org.springframework.mock.env.MockEnvironment; @ExtendWith(MockitoExtension.class) -class LoanCOBManagerConditionTest { +class BatchManagerConditionTest { @Mock private ConditionContext conditionContext; @@ -43,7 +43,7 @@ class LoanCOBManagerConditionTest { private MockEnvironment environment; @InjectMocks - private LoanCOBManagerCondition testObj = new LoanCOBManagerCondition(); + private BatchManagerCondition testObj = new BatchManagerCondition(); @BeforeEach public void setUp() { @@ -52,24 +52,14 @@ class LoanCOBManagerConditionTest { } @Test - public void testMatchesShouldReturnFalseWhenLoanCobIsDisabledAndManager() { - environment.withProperty("fineract.job.loan-cob-enabled", "false"); - environment.withProperty("fineract.mode.batch-manager-enabled", "true"); - boolean result = testObj.matches(conditionContext, metadata); - assertThat(result).isFalse(); - } - - @Test - public void testMatchesShouldReturnFalseWhenLoanCobIsEnabledAndNotManager() { - environment.withProperty("fineract.job.loan-cob-enabled", "true"); + public void testMatchesShouldReturnFalseWhenManagerDisabled() { environment.withProperty("fineract.mode.batch-manager-enabled", "false"); boolean result = testObj.matches(conditionContext, metadata); assertThat(result).isFalse(); } @Test - public void testMatchesShouldReturnTrueWhenLoanCobIsEnabledAndManager() { - environment.withProperty("fineract.job.loan-cob-enabled", "true"); + public void testMatchesShouldReturnTrueWhenManagerEnabled() { environment.withProperty("fineract.mode.batch-manager-enabled", "true"); boolean result = testObj.matches(conditionContext, metadata); assertThat(result).isTrue(); diff --git a/fineract-provider/src/test/java/org/apache/fineract/cob/conditions/LoanCOBWorkerConditionTest.java b/fineract-provider/src/test/java/org/apache/fineract/cob/conditions/BatchWorkerConditionTest.java similarity index 73% rename from fineract-provider/src/test/java/org/apache/fineract/cob/conditions/LoanCOBWorkerConditionTest.java rename to fineract-provider/src/test/java/org/apache/fineract/cob/conditions/BatchWorkerConditionTest.java index 1a9385d73..d7f2a00d9 100644 --- a/fineract-provider/src/test/java/org/apache/fineract/cob/conditions/LoanCOBWorkerConditionTest.java +++ b/fineract-provider/src/test/java/org/apache/fineract/cob/conditions/BatchWorkerConditionTest.java @@ -32,7 +32,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata; import org.springframework.mock.env.MockEnvironment; @ExtendWith(MockitoExtension.class) -class LoanCOBWorkerConditionTest { +class BatchWorkerConditionTest { @Mock private ConditionContext conditionContext; @@ -43,7 +43,7 @@ class LoanCOBWorkerConditionTest { private MockEnvironment environment; @InjectMocks - private LoanCOBWorkerCondition testObj = new LoanCOBWorkerCondition(); + private BatchWorkerCondition testObj = new BatchWorkerCondition(); @BeforeEach public void setUp() { @@ -52,24 +52,14 @@ class LoanCOBWorkerConditionTest { } @Test - public void testMatchesShouldReturnFalseWhenLoanCobIsDisabledAndWorker() { - environment.withProperty("fineract.job.loan-cob-enabled", "false"); - environment.withProperty("fineract.mode.batch-worker-enabled", "true"); - boolean result = testObj.matches(conditionContext, metadata); - assertThat(result).isFalse(); - } - - @Test - public void testMatchesShouldReturnFalseWhenLoanCobIsEnabledAndNotWorker() { - environment.withProperty("fineract.job.loan-cob-enabled", "true"); + public void testMatchesShouldReturnFalseWhenWorkerDisabled() { environment.withProperty("fineract.mode.batch-worker-enabled", "false"); boolean result = testObj.matches(conditionContext, metadata); assertThat(result).isFalse(); } @Test - public void testMatchesShouldReturnTrueWhenLoanCobIsEnabledAndWorker() { - environment.withProperty("fineract.job.loan-cob-enabled", "true"); + public void testMatchesShouldReturnTrueWhenWorkerEnabled() { environment.withProperty("fineract.mode.batch-worker-enabled", "true"); boolean result = testObj.matches(conditionContext, metadata); assertThat(result).isTrue();