This is an automated email from the ASF dual-hosted git repository. juhan pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/fineract-cn-group.git
commit 62c4bd0584773e11f9a703063d9fa2faa927b46d Author: kengneruphine <[email protected]> AuthorDate: Tue Jun 19 16:46:14 2018 +0100 modified requestparams in GrouprestController and some modifications in GroupDefinitionRestController --- .gitignore | 2 ++ .../fineract/cn/group/api/v1/client/GroupManager.java | 10 +++++----- .../internal/repository/GroupDefinitionRepository.java | 5 ++++- .../group/internal/service/GroupDefinitionService.java | 4 ++++ .../cn/group/rest/GroupDefinitionRestController.java | 18 ++++++++++++------ .../fineract/cn/group/rest/GroupRestController.java | 10 +++++----- 6 files changed, 32 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 95274b9..5f934cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ .gradle .idea +.project +.settings **/build/ **/target/ diff --git a/api/src/main/java/org/apache/fineract/cn/group/api/v1/client/GroupManager.java b/api/src/main/java/org/apache/fineract/cn/group/api/v1/client/GroupManager.java index b64b390..e146987 100644 --- a/api/src/main/java/org/apache/fineract/cn/group/api/v1/client/GroupManager.java +++ b/api/src/main/java/org/apache/fineract/cn/group/api/v1/client/GroupManager.java @@ -93,11 +93,11 @@ public interface GroupManager { produces = MediaType.ALL_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE ) - GroupPage fetchGroups(@RequestParam("employee") final String employee, - @RequestParam("page") final Integer page, - @RequestParam("size") final Integer size, - @RequestParam("sortColumn") final String sortColumn, - @RequestParam("sortDirection") final String sortDirection); + GroupPage fetchGroups(@RequestParam(value="employee", required=false) final String employee, + @RequestParam(value="page", required=false) final Integer page, + @RequestParam(value="size",required=false) final Integer size, + @RequestParam(value="sortColumn", required=false) final String sortColumn, + @RequestParam(value="sortDirection",required=false) final String sortDirection); @RequestMapping( value = "/groups/{identifier}", diff --git a/service/src/main/java/org/apache/fineract/cn/group/internal/repository/GroupDefinitionRepository.java b/service/src/main/java/org/apache/fineract/cn/group/internal/repository/GroupDefinitionRepository.java index 5bb130b..b70d029 100644 --- a/service/src/main/java/org/apache/fineract/cn/group/internal/repository/GroupDefinitionRepository.java +++ b/service/src/main/java/org/apache/fineract/cn/group/internal/repository/GroupDefinitionRepository.java @@ -19,12 +19,15 @@ package org.apache.fineract.cn.group.internal.repository; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import java.util.Optional; @Repository public interface GroupDefinitionRepository extends JpaRepository<GroupDefinitionEntity, Long> { - + @Query("SELECT CASE WHEN COUNT(c) > 0 THEN 'true' ELSE 'false' END FROM GroupDefinitionEntity c WHERE c.identifier = :identifier") + Boolean existsByIdentifier(@Param("identifier") final String identifier); Optional<GroupDefinitionEntity> findByIdentifier(final String identifier); } diff --git a/service/src/main/java/org/apache/fineract/cn/group/internal/service/GroupDefinitionService.java b/service/src/main/java/org/apache/fineract/cn/group/internal/service/GroupDefinitionService.java index 6d34e81..19f1c9d 100644 --- a/service/src/main/java/org/apache/fineract/cn/group/internal/service/GroupDefinitionService.java +++ b/service/src/main/java/org/apache/fineract/cn/group/internal/service/GroupDefinitionService.java @@ -45,6 +45,10 @@ public class GroupDefinitionService { this.groupDefinitionRepository = groupDefinitionRepository; } + public Boolean groupDefinitionExists(final String identifier) { + return this.groupDefinitionRepository.existsByIdentifier(identifier); + } + public Optional<GroupDefinition> findByIdentifier(final String identifier) { return this.groupDefinitionRepository.findByIdentifier(identifier).map(GroupDefinitionMapper::map); } 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 1250560..8874e76 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 @@ -68,13 +68,19 @@ public class GroupDefinitionRestController { public @ResponseBody ResponseEntity<Void> createDefinition(@RequestBody @Valid final GroupDefinition groupDefinition) { - this.groupDefinitionService.findByIdentifier(groupDefinition.getIdentifier()) - .ifPresent(gd -> { - throw ServiceException.conflict("Group definition {0} already exists.", gd.getIdentifier()); - }); - - this.commandGateway.process(new CreateGroupDefinitionCommand(groupDefinition)); + if (this.groupDefinitionService.groupDefinitionExists(groupDefinition.getIdentifier())) { + throw ServiceException.conflict("Group definition {0} already exists.", groupDefinition.getIdentifier()); + } + this.commandGateway.process(new CreateGroupDefinitionCommand(groupDefinition)); return ResponseEntity.accepted().build(); + +// this.groupDefinitionService.findByIdentifier(groupDefinition.getIdentifier()) +// .ifPresent(gd -> { +// throw ServiceException.conflict("Group definition {0} already exists.", gd.getIdentifier()); +// }); +// +// this.commandGateway.process(new CreateGroupDefinitionCommand(groupDefinition)); +// return ResponseEntity.accepted().build(); } @Permittable(value= AcceptedTokenType.TENANT, groupId = PermittableGroupIds.DEFINITION) diff --git a/service/src/main/java/org/apache/fineract/cn/group/rest/GroupRestController.java b/service/src/main/java/org/apache/fineract/cn/group/rest/GroupRestController.java index ee0e55e..0db02d0 100644 --- a/service/src/main/java/org/apache/fineract/cn/group/rest/GroupRestController.java +++ b/service/src/main/java/org/apache/fineract/cn/group/rest/GroupRestController.java @@ -112,11 +112,11 @@ public class GroupRestController { public @ResponseBody ResponseEntity<GroupPage> fetchGroups( - @RequestParam("employee") final String employee, - @RequestParam("page") final Integer page, - @RequestParam("size") final Integer size, - @RequestParam("sortColumn") final String sortColumn, - @RequestParam("sortDirection") final String sortDirection) { + @RequestParam(value="employee",required=false) final String employee, + @RequestParam(value="page", required=false) final Integer page, + @RequestParam(value="size",required=false) final Integer size, + @RequestParam(value="sortColumn",required=false) final String sortColumn, + @RequestParam(value="sortDirection", required=false) final String sortDirection) { return ResponseEntity.ok( this.groupService.fetchGroups(employee, this.createPageRequest(page, size, sortColumn, sortDirection)) );
