From 522d1369ec8085c3816736490ca3d74218bb41be Mon Sep 17 00:00:00 2001 From: tomvahl Date: Wed, 18 Mar 2020 15:09:14 +0100 Subject: [PATCH 1/4] fix search remove your Group from search Co-Authored-By: andibuls --- .../gruppen2/controller/Gruppen2Controller.java | 3 ++- .../java/mops/gruppen2/service/GroupService.java | 15 +++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index a6bdcca..842870d 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -99,9 +99,10 @@ public class Gruppen2Controller { @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator"}) @GetMapping("/findGroup") public String findGroup(KeycloakAuthenticationToken token, Model model, @RequestParam(value = "suchbegriff", required = false) String suchbegriff) throws EventException { + Account account = keyCloakService.createAccountFromPrincipal(token); List groupse = new ArrayList<>(); if (suchbegriff != null) { - groupse = groupService.findGroupWith(suchbegriff); + groupse = groupService.findGroupWith(suchbegriff,account); } model.addAttribute("account", keyCloakService.createAccountFromPrincipal(token)); model.addAttribute("gruppen", groupse); diff --git a/src/main/java/mops/gruppen2/service/GroupService.java b/src/main/java/mops/gruppen2/service/GroupService.java index e6adcb3..48bbaab 100644 --- a/src/main/java/mops/gruppen2/service/GroupService.java +++ b/src/main/java/mops/gruppen2/service/GroupService.java @@ -6,6 +6,7 @@ import mops.gruppen2.domain.Group; import mops.gruppen2.domain.Visibility; import mops.gruppen2.domain.event.Event; import mops.gruppen2.repository.EventRepository; +import mops.gruppen2.security.Account; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -77,9 +78,15 @@ public class GroupService { * @return * @throws EventException */ - - public List getAllGroupWithVisibilityPublic() throws EventException { + // Namensänderung fixen und die Forschleife auslagern + public List getAllGroupWithVisibilityPublic(String user_id) throws EventException { List group_ids = eventRepository.findGroup_idsWhereVisibility(Boolean.TRUE); + List group_ids_user = eventRepository.findGroup_idsWhereUser_id(user_id); + for (Long group_id: group_ids_user) { + if(group_ids.contains(group_id)){ + group_ids.remove(group_id); + } + } List eventDTOS = eventRepository.findAllEventsOfGroups(group_ids); List events = eventService.translateEventDTOs(eventDTOS); List groups = projectEventList(events); @@ -94,9 +101,9 @@ public class GroupService { * @return * @throws EventException */ - public List findGroupWith(String search) throws EventException { + public List findGroupWith(String search, Account account) throws EventException { List groups = new ArrayList<>(); - for (Group group: getAllGroupWithVisibilityPublic()) { + for (Group group: getAllGroupWithVisibilityPublic(account.getName())) { if (group.getTitle().contains(search)|| group.getDescription().contains(search)){ groups.add(group); } From 2b1d6507e6de5fa6f2c7257c0d1da1c58c0e39f7 Mon Sep 17 00:00:00 2001 From: tomvahl Date: Wed, 18 Mar 2020 15:17:48 +0100 Subject: [PATCH 2/4] fix-search Co-Authored-By: andibuls --- .../mops/gruppen2/service/GroupService.java | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main/java/mops/gruppen2/service/GroupService.java b/src/main/java/mops/gruppen2/service/GroupService.java index 48bbaab..ede0171 100644 --- a/src/main/java/mops/gruppen2/service/GroupService.java +++ b/src/main/java/mops/gruppen2/service/GroupService.java @@ -72,22 +72,23 @@ public class GroupService { return groups.get(group_id); } - /** - * sucht alle Zeilen in der DB wo die Visibility gleich true ist und wandelt diese in - * eine Liste von Gruppen - * @return - * @throws EventException - */ - // Namensänderung fixen und die Forschleife auslagern - public List getAllGroupWithVisibilityPublic(String user_id) throws EventException { - List group_ids = eventRepository.findGroup_idsWhereVisibility(Boolean.TRUE); - List group_ids_user = eventRepository.findGroup_idsWhereUser_id(user_id); - for (Long group_id: group_ids_user) { + private List removeUserGroups(List group_ids, List user_groups){ + for (Long group_id: user_groups) { if(group_ids.contains(group_id)){ group_ids.remove(group_id); } } - List eventDTOS = eventRepository.findAllEventsOfGroups(group_ids); + return group_ids; + } + + /** + * sucht alle Zeilen in der DB wo die Visibility true ist und entfernt alle Gruppen des Users. + * Erstellt eine Liste aus Gruppen. + * @return + * @throws EventException + */ + public List getAllGroupWithVisibilityPublic(String user_id) throws EventException { + List eventDTOS = eventRepository.findAllEventsOfGroups(removeUserGroups(eventRepository.findGroup_idsWhereVisibility(Boolean.TRUE), eventRepository.findGroup_idsWhereUser_id(user_id))); List events = eventService.translateEventDTOs(eventDTOS); List groups = projectEventList(events); return groups; From 22172b54064ca319cc47b3f7e1ac90cd9ae400ef Mon Sep 17 00:00:00 2001 From: AndiBuls Date: Wed, 18 Mar 2020 15:25:37 +0100 Subject: [PATCH 3/4] cleanup of the search function --- src/main/java/mops/gruppen2/service/GroupService.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/mops/gruppen2/service/GroupService.java b/src/main/java/mops/gruppen2/service/GroupService.java index ede0171..acba484 100644 --- a/src/main/java/mops/gruppen2/service/GroupService.java +++ b/src/main/java/mops/gruppen2/service/GroupService.java @@ -72,11 +72,9 @@ public class GroupService { return groups.get(group_id); } - private List removeUserGroups(List group_ids, List user_groups){ + private List removeUserGroups(List group_ids, List user_groups) { for (Long group_id: user_groups) { - if(group_ids.contains(group_id)){ - group_ids.remove(group_id); - } + group_ids.remove(group_id); } return group_ids; } @@ -88,7 +86,8 @@ public class GroupService { * @throws EventException */ public List getAllGroupWithVisibilityPublic(String user_id) throws EventException { - List eventDTOS = eventRepository.findAllEventsOfGroups(removeUserGroups(eventRepository.findGroup_idsWhereVisibility(Boolean.TRUE), eventRepository.findGroup_idsWhereUser_id(user_id))); + List group_ids = removeUserGroups(eventRepository.findGroup_idsWhereVisibility(Boolean.TRUE), eventRepository.findGroup_idsWhereUser_id(user_id)); + List eventDTOS = eventRepository.findAllEventsOfGroups(group_ids); List events = eventService.translateEventDTOs(eventDTOS); List groups = projectEventList(events); return groups; From 62397a24ef17062da7f39e320c9ef92dab8c9b15 Mon Sep 17 00:00:00 2001 From: tomvahl Date: Wed, 18 Mar 2020 16:03:34 +0100 Subject: [PATCH 4/4] update search Co-Authored-By: andibuls --- src/main/java/mops/gruppen2/service/GroupService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/mops/gruppen2/service/GroupService.java b/src/main/java/mops/gruppen2/service/GroupService.java index acba484..ec3c4e6 100644 --- a/src/main/java/mops/gruppen2/service/GroupService.java +++ b/src/main/java/mops/gruppen2/service/GroupService.java @@ -104,7 +104,7 @@ public class GroupService { public List findGroupWith(String search, Account account) throws EventException { List groups = new ArrayList<>(); for (Group group: getAllGroupWithVisibilityPublic(account.getName())) { - if (group.getTitle().contains(search)|| group.getDescription().contains(search)){ + if (group.getTitle().toLowerCase().contains(search.toLowerCase()) || group.getDescription().toLowerCase().contains(search.toLowerCase())){ groups.add(group); } }