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 7df8dc5acc9e33806ee633c3ba429f164e5cfc88
Author: kengneruphine <[email protected]>
AuthorDate: Sat Jul 7 15:10:08 2018 +0100

    modifying the implementation of updateGroupDefinition in the 
GroupAggregate.java file
---
 .../command/UpdateGroupDefinitionCommand.java      |  9 ++-----
 .../internal/command/handler/GroupAggregate.java   | 29 +++++++++++-----------
 .../group/rest/GroupDefinitionRestController.java  | 18 ++++++++++----
 3 files changed, 29 insertions(+), 27 deletions(-)

diff --git 
a/service/src/main/java/org/apache/fineract/cn/group/internal/command/UpdateGroupDefinitionCommand.java
 
b/service/src/main/java/org/apache/fineract/cn/group/internal/command/UpdateGroupDefinitionCommand.java
index cb9c481..7254ba3 100644
--- 
a/service/src/main/java/org/apache/fineract/cn/group/internal/command/UpdateGroupDefinitionCommand.java
+++ 
b/service/src/main/java/org/apache/fineract/cn/group/internal/command/UpdateGroupDefinitionCommand.java
@@ -22,19 +22,14 @@ import 
org.apache.fineract.cn.group.api.v1.domain.GroupDefinition;
 
 public class UpdateGroupDefinitionCommand {
 
-    private final String identifier;
+
     private final GroupDefinition groupDefinition;
 
-    public UpdateGroupDefinitionCommand(final String identifier, final 
GroupDefinition groupDefinition) {
+    public UpdateGroupDefinitionCommand( final GroupDefinition 
groupDefinition) {
         super();
-        this.identifier = identifier;
         this.groupDefinition = groupDefinition;
     }
 
-    public String identifier() {
-        return this.identifier;
-    }
-
     public GroupDefinition groupDefinition() {
         return this.groupDefinition;
     }
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 b4a93d6..bc631b5 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
@@ -140,19 +140,19 @@ public class GroupAggregate {
   @CommandHandler
   @EventEmitter(selectorName = EventConstants.SELECTOR_NAME, selectorValue = 
EventConstants.PUT_GROUP_DEFINITION)
   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());
+      final GroupDefinition groupDefinition = 
updateGroupDefinitionCommand.groupDefinition();
+      final Cycle cycle = groupDefinition.getCycle();
+      final GroupDefinitionEntity groupDefinitionEntity = 
findGroupDefinitionEntityOrThrow(groupDefinition.getIdentifier());
+
+                
groupDefinitionEntity.setDescription(groupDefinition.getDescription());
+                
groupDefinitionEntity.setMinimalSize(groupDefinition.getMinimalSize());
+                
groupDefinitionEntity.setMaximalSize(groupDefinition.getMaximalSize());
                 
groupDefinitionEntity.setNumberOfMeetings(cycle.getNumberOfMeetings());
                 groupDefinitionEntity.setFrequency(cycle.getFrequency());
                 groupDefinitionEntity.setAdjustment(cycle.getAdjustment());
                 this.groupDefinitionRepository.save(groupDefinitionEntity);
-          });
-         return updatedGroupDefinition.getIdentifier();
+
+         return groupDefinition.getIdentifier();
       }
 
   @Transactional
@@ -191,12 +191,6 @@ public class GroupAggregate {
   @EventEmitter(selectorName = EventConstants.SELECTOR_NAME, selectorValue = 
EventConstants.PUT_GROUP)
   public String updateGroup(final UpdateGroupCommand updateGroupCommand) {
       final Group group = updateGroupCommand.group();
-      //final GroupDefinitionEntity groupDefinitionEntity =
-        //      
this.groupDefinitionRepository.findByIdentifier(group.getGroupDefinitionIdentifier())
-          //            .orElseThrow(
-            //                  () -> ServiceException.notFound("Group 
definition {0} not found.", group.getGroupDefinitionIdentifier())
-              //        );
-
       final AddressEntity savedAddress = 
this.addressRepository.save(AddressMapper.map(group.getAddress()));
       final GroupEntity groupEntity = 
findGroupEntityOrThrow(group.getIdentifier());
 
@@ -426,4 +420,9 @@ public class GroupAggregate {
         return this.groupRepository.findByIdentifier(identifier)
                 .orElseThrow(() -> ServiceException.notFound("Group ''{0}'' 
not found", identifier));
     }
+
+    private GroupDefinitionEntity findGroupDefinitionEntityOrThrow(String 
identifier) {
+        return this.groupDefinitionRepository.findByIdentifier(identifier)
+                .orElseThrow(() -> ServiceException.notFound("GroupDefinition 
''{0}'' not found", identifier));
+    }
 }
diff --git 
a/service/src/main/java/org/apache/fineract/cn/group/rest/GroupDefinitionRestController.java
 
b/service/src/main/java/org/apache/fineract/cn/group/rest/GroupDefinitionRestController.java
index 6bd9ecb..d878938 100644
--- 
a/service/src/main/java/org/apache/fineract/cn/group/rest/GroupDefinitionRestController.java
+++ 
b/service/src/main/java/org/apache/fineract/cn/group/rest/GroupDefinitionRestController.java
@@ -122,11 +122,19 @@ public class GroupDefinitionRestController {
   public
   @ResponseBody
   ResponseEntity<Void> updateGroupDefinition(@PathVariable("identifier") final 
String identifier, @RequestBody final GroupDefinition groupDefinition) {
-    if (this.groupDefinitionService.groupDefinitionExists(identifier)) {
-      this.commandGateway.process(new UpdateGroupDefinitionCommand(identifier, 
groupDefinition));
-    } else {
-      throw ServiceException.notFound("Group Definition {0} not found.", 
identifier);
-    }
+    this.groupDefinitionService.findByIdentifier(identifier)
+            .orElseThrow(() -> ServiceException.notFound("Group Definition {0} 
not found.", identifier));
+
+    this.commandGateway.process(new 
UpdateGroupDefinitionCommand(groupDefinition));
+
     return ResponseEntity.accepted().build();
   }
+
+    // if (this.groupDefinitionService.groupDefinitionExists(identifier)) {
+     // this.commandGateway.process(new 
UpdateGroupDefinitionCommand(identifier, groupDefinition));
+    //} else {
+      //throw ServiceException.notFound("Group Definition {0} not found.", 
identifier);
+    //}
+    //return ResponseEntity.accepted().build();
+ // }
 }

Reply via email to