FINERACT-1971: Fixing Loan COB error on startup when Loan COB is disabled
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/BatchManagerCondition.java
similarity index 79%
copy from fineract-provider/src/main/java/org/apache/fineract/cob/conditions/LoanCOBManagerCondition.java
copy to fineract-provider/src/main/java/org/apache/fineract/cob/conditions/BatchManagerCondition.java
index 7c2a6d9..8f2ea5c 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/BatchManagerCondition.java
@@ -21,12 +21,10 @@
 import org.apache.fineract.infrastructure.core.condition.PropertiesCondition;
 import org.apache.fineract.infrastructure.core.config.FineractProperties;
 
-public class LoanCOBManagerCondition extends PropertiesCondition {
+public class BatchManagerCondition extends PropertiesCondition {
 
     @Override
     protected boolean matches(FineractProperties properties) {
-        boolean loanCobEnabled = properties.getJob().isLoanCobEnabled();
-        boolean batchManagerEnabled = properties.getMode().isBatchManagerEnabled();
-        return loanCobEnabled && batchManagerEnabled;
+        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 7c2a6d9..919798e 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 @@
 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/conditions/LoanCOBWorkerCondition.java b/fineract-provider/src/main/java/org/apache/fineract/cob/conditions/LoanCOBWorkerCondition.java
deleted file mode 100644
index cfb3a2e..0000000
--- a/fineract-provider/src/main/java/org/apache/fineract/cob/conditions/LoanCOBWorkerCondition.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-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 {
-
-    @Override
-    protected boolean matches(FineractProperties properties) {
-        boolean loanCobEnabled = properties.getJob().isLoanCobEnabled();
-        boolean batchWorkerEnabled = properties.getMode().isBatchWorkerEnabled();
-        return loanCobEnabled && batchWorkerEnabled;
-    }
-}
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 74ffd42..66386a4 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 @@
 
 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 @@
 
 @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 abbfeef..f50987a 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.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.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 ec04821..9aa953f 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.mock.env.MockEnvironment;
 
 @ExtendWith(MockitoExtension.class)
-class LoanCOBManagerConditionTest {
+class BatchManagerConditionTest {
 
     @Mock
     private ConditionContext conditionContext;
@@ -43,7 +43,7 @@
     private MockEnvironment environment;
 
     @InjectMocks
-    private LoanCOBManagerCondition testObj = new LoanCOBManagerCondition();
+    private BatchManagerCondition testObj = new BatchManagerCondition();
 
     @BeforeEach
     public void setUp() {
@@ -52,24 +52,14 @@
     }
 
     @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 1a9385d..d7f2a00 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.mock.env.MockEnvironment;
 
 @ExtendWith(MockitoExtension.class)
-class LoanCOBWorkerConditionTest {
+class BatchWorkerConditionTest {
 
     @Mock
     private ConditionContext conditionContext;
@@ -43,7 +43,7 @@
     private MockEnvironment environment;
 
     @InjectMocks
-    private LoanCOBWorkerCondition testObj = new LoanCOBWorkerCondition();
+    private BatchWorkerCondition testObj = new BatchWorkerCondition();
 
     @BeforeEach
     public void setUp() {
@@ -52,24 +52,14 @@
     }
 
     @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();