You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ju...@apache.org on 2019/10/09 07:40:26 UTC
[fineract-cn-group] 24/50: modified requestparams in
GrouprestController and some modifications in GroupDefinitionRestController
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 <ru...@gmail.com>
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))
);