You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by aw...@apache.org on 2019/04/30 08:25:00 UTC
[fineract-cn-group] 26/40: adding UpdateGroupdefinition in Group
aggregate
This is an automated email from the ASF dual-hosted git repository.
awasum pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract-cn-group.git
commit 57e94d31668c0e23ead4921409af7441995bae28
Author: kengneruphine <ru...@gmail.com>
AuthorDate: Thu Jun 28 11:17:56 2018 +0100
adding UpdateGroupdefinition in Group aggregate
---
.../fineract/cn/group/api/v1/EventConstants.java | 2 ++
.../internal/command/handler/GroupAggregate.java | 41 ++++++++++++++++++++++
2 files changed, 43 insertions(+)
diff --git a/api/src/main/java/org/apache/fineract/cn/group/api/v1/EventConstants.java b/api/src/main/java/org/apache/fineract/cn/group/api/v1/EventConstants.java
index 435ac6d..99c5feb 100644
--- a/api/src/main/java/org/apache/fineract/cn/group/api/v1/EventConstants.java
+++ b/api/src/main/java/org/apache/fineract/cn/group/api/v1/EventConstants.java
@@ -29,6 +29,8 @@ public interface EventConstants {
String POST_GROUP_DEFINITION = "post-group-definition";
String SELECTOR_POST_GROUP_DEFINITION = SELECTOR_NAME + " = '" + POST_GROUP_DEFINITION + "'";
+ String PUT_GROUP_DEFINITION = "put-group-definition";
+ String SELECTOR_PUT_GROUP_DEFINITION = SELECTOR_NAME + " = '" + PUT_GROUP_DEFINITION + "'";
String POST_GROUP = "post-group";
String SELECTOR_POST_GROUP = SELECTOR_NAME + " = '" + POST_GROUP + "'";
diff --git a/service/src/main/java/org/apache/fineract/cn/group/internal/command/handler/GroupAggregate.java b/service/src/main/java/org/apache/fineract/cn/group/internal/command/handler/GroupAggregate.java
index 2ddf42f..9402729 100644
--- a/service/src/main/java/org/apache/fineract/cn/group/internal/command/handler/GroupAggregate.java
+++ b/service/src/main/java/org/apache/fineract/cn/group/internal/command/handler/GroupAggregate.java
@@ -29,6 +29,7 @@ import org.apache.fineract.cn.group.internal.command.ActivateGroupCommand;
import org.apache.fineract.cn.group.internal.command.CloseGroupCommand;
import org.apache.fineract.cn.group.internal.command.CreateGroupCommand;
import org.apache.fineract.cn.group.internal.command.CreateGroupDefinitionCommand;
+import org.apache.fineract.cn.group.internal.command.UpdateGroupDefinitionCommand;
import org.apache.fineract.cn.group.internal.command.ReopenGroupCommand;
import org.apache.fineract.cn.group.internal.command.SignOffMeetingCommand;
import org.apache.fineract.cn.group.internal.command.UpdateAssignedEmployeeCommand;
@@ -53,6 +54,7 @@ import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.ChronoField;
import java.util.List;
+import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.fineract.cn.api.util.UserContextHolder;
@@ -112,6 +114,45 @@ public class GroupAggregate {
return groupDefinition.getIdentifier();
}
+//
+// @Transactional
+// @CommandHandler
+// @EventEmitter(selectorName = EventConstants.SELECTOR_NAME, selectorValue = EventConstants.PUT_GROUP_DEFINITION)
+// public String updateDefinition1(final UpdateGroupDefinitionCommand updateGroupDefinitionCommand) {
+// final GroupDefinition updatedGroupDefinition = updateGroupDefinitionCommand.groupDefinition();
+//
+// final Optional<GroupDefinitionEntity> groupDefinitionEntity = this.groupDefinitionRepository.findByIdentifier(updateGroupDefinitionCommand.identifier());
+// groupDefinitionEntity.setDescription(updatedGroupDefinition.getDescription());
+// groupDefinitionEntity.setMinimalSize(updatedGroupDefinition.getMinimalSize());
+// groupDefinitionEntity.setMaximalSize(updatedGroupDefinition.getMaximalSize());
+// final Cycle cycle = updatedGroupDefinition.getCycle();
+// groupDefinitionEntity.setNumberOfMeetings(cycle.getNumberOfMeetings());
+// groupDefinitionEntity.setFrequency(cycle.getFrequency());
+// groupDefinitionEntity.setAdjustment(cycle.getAdjustment());
+//
+// this.groupDefinitionRepository.save(groupDefinitionEntity);
+//
+// return updatedGroupDefinition.getIdentifier();
+// }
+
+ @Transactional
+ @CommandHandler
+ @EventEmitter(selectorName = EventConstants.SELECTOR_NAME, selectorValue = EventConstants.PUT_GROUP)
+ public String updateDefinition(final UpdateGroupDefinitionCommand updateGroupDefinitionCommand) {
+ final GroupDefinition updatedGroupDefinition = updateGroupDefinitionCommand.groupDefinition();
+ final Cycle cycle = updatedGroupDefinition.getCycle();
+ this.groupDefinitionRepository.findByIdentifier(updateGroupDefinitionCommand.identifier())
+ .ifPresent(groupDefinitionEntity -> {
+ groupDefinitionEntity.setDescription(updatedGroupDefinition.getDescription());
+ groupDefinitionEntity.setMinimalSize(updatedGroupDefinition.getMinimalSize());
+ groupDefinitionEntity.setMaximalSize(updatedGroupDefinition.getMaximalSize());
+ groupDefinitionEntity.setNumberOfMeetings(cycle.getNumberOfMeetings());
+ groupDefinitionEntity.setFrequency(cycle.getFrequency());
+ groupDefinitionEntity.setAdjustment(cycle.getAdjustment());
+ this.groupDefinitionRepository.save(groupDefinitionEntity);
+ });
+ return updateGroupDefinitionCommand.identifier();
+ }
@Transactional
@CommandHandler