fineract-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From my...@apache.org
Subject [fineract-cn-customer] 15/46: added filtering for task based on command
Date Mon, 22 Jan 2018 15:47:16 GMT
This is an automated email from the ASF dual-hosted git repository.

myrle pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract-cn-customer.git

commit f078702d45124811a6e8dbf280de8305224adcc5
Author: mgeiss <mgeiss@mifos.org>
AuthorDate: Wed Sep 6 13:53:09 2017 +0200

    added filtering for task based on command
---
 .../service/internal/command/handler/CustomerAggregate.java         | 6 +++---
 .../customer/service/internal/command/handler/TaskAggregate.java    | 3 ++-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/service/src/main/java/io/mifos/customer/service/internal/command/handler/CustomerAggregate.java
b/service/src/main/java/io/mifos/customer/service/internal/command/handler/CustomerAggregate.java
index 917b364..b41ddfb 100644
--- a/service/src/main/java/io/mifos/customer/service/internal/command/handler/CustomerAggregate.java
+++ b/service/src/main/java/io/mifos/customer/service/internal/command/handler/CustomerAggregate.java
@@ -231,7 +231,7 @@ public class CustomerAggregate {
   public String activateCustomer(final ActivateCustomerCommand activateCustomerCommand) {
     final CustomerEntity customerEntity = this.customerRepository.findByIdentifier(activateCustomerCommand.identifier());
 
-    if (this.taskAggregate.openTasksForCustomerExist(customerEntity)) {
+    if (this.taskAggregate.openTasksForCustomerExist(customerEntity, Command.Action.ACTIVATE.name()))
{
       throw ServiceException.conflict("Open Tasks for customer {0} exists.", activateCustomerCommand.identifier());
     }
 
@@ -274,7 +274,7 @@ public class CustomerAggregate {
   public String unlockCustomer(final UnlockCustomerCommand unlockCustomerCommand) {
     final CustomerEntity customerEntity = this.customerRepository.findByIdentifier(unlockCustomerCommand.identifier());
 
-    if (this.taskAggregate.openTasksForCustomerExist(customerEntity)) {
+    if (this.taskAggregate.openTasksForCustomerExist(customerEntity, Command.Action.UNLOCK.name()))
{
       throw ServiceException.conflict("Open Tasks for customer {0} exists.", unlockCustomerCommand.identifier());
     }
 
@@ -317,7 +317,7 @@ public class CustomerAggregate {
   public String reopenCustomer(final ReopenCustomerCommand reopenCustomerCommand) {
     final CustomerEntity customerEntity = this.customerRepository.findByIdentifier(reopenCustomerCommand.identifier());
 
-    if (this.taskAggregate.openTasksForCustomerExist(customerEntity)) {
+    if (this.taskAggregate.openTasksForCustomerExist(customerEntity, Command.Action.REOPEN.name()))
{
       throw ServiceException.conflict("Open Tasks for customer {0} exists.", reopenCustomerCommand.identifier());
     }
 
diff --git a/service/src/main/java/io/mifos/customer/service/internal/command/handler/TaskAggregate.java
b/service/src/main/java/io/mifos/customer/service/internal/command/handler/TaskAggregate.java
index 9a0417c..65a03d5 100644
--- a/service/src/main/java/io/mifos/customer/service/internal/command/handler/TaskAggregate.java
+++ b/service/src/main/java/io/mifos/customer/service/internal/command/handler/TaskAggregate.java
@@ -145,13 +145,14 @@ public class TaskAggregate {
   }
 
   @Transactional
-  public Boolean openTasksForCustomerExist(final CustomerEntity customerEntity) {
+  public Boolean openTasksForCustomerExist(final CustomerEntity customerEntity, final String
command) {
     final List<TaskInstanceEntity> taskInstanceEntities = this.taskInstanceRepository.findByCustomer(customerEntity);
 
     //noinspection SimplifiableIfStatement
     if (taskInstanceEntities != null) {
       return taskInstanceEntities
           .stream()
+              .filter(taskInstanceEntity -> taskInstanceEntity.getTaskDefinition().getAssignedCommands().contains(command))
               .filter(taskInstanceEntity -> taskInstanceEntity.getTaskDefinition().isMandatory())
               .anyMatch(taskInstanceEntity -> taskInstanceEntity.getExecutedBy() == null);
     } else {

-- 
To stop receiving notification emails like this one, please contact
myrle@apache.org.

Mime
View raw message