From 1146308752989476a72588a4a31d98068c0bbbfe Mon Sep 17 00:00:00 2001 From: killerber4t Date: Tue, 24 Mar 2020 15:21:55 +0100 Subject: [PATCH 1/6] rename file --- .../{Gruppen2Controller.java => WebController.java} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename src/main/java/mops/gruppen2/controller/{Gruppen2Controller.java => WebController.java} (98%) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/WebController.java similarity index 98% rename from src/main/java/mops/gruppen2/controller/Gruppen2Controller.java rename to src/main/java/mops/gruppen2/controller/WebController.java index e140d84..18538ef 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/WebController.java @@ -39,7 +39,7 @@ import java.util.UUID; @Controller @SessionScope @RequestMapping("/gruppen2") -public class Gruppen2Controller { +public class WebController { private final KeyCloakService keyCloakService; private final GroupService groupService; @@ -49,7 +49,7 @@ public class Gruppen2Controller { private final Logger logger = LoggerFactory.getLogger("Gruppen2ControllerLogger"); ; - public Gruppen2Controller(KeyCloakService keyCloakService, GroupService groupService, UserService userService, ControllerService controllerService, Gruppen2Config gruppen2Config) { + public WebController(KeyCloakService keyCloakService, GroupService groupService, UserService userService, ControllerService controllerService, Gruppen2Config gruppen2Config) { this.keyCloakService = keyCloakService; this.groupService = groupService; this.userService = userService; From 46aaf3658e5d2b7a8b41ccd31aa8aec416f48d70 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Tue, 24 Mar 2020 15:36:52 +0100 Subject: [PATCH 2/6] refactor createOrga Method in ControllerService --- .../gruppen2/controller/WebController.java | 23 +------------- .../gruppen2/service/ControllerService.java | 30 ++++++++++++++++--- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/WebController.java b/src/main/java/mops/gruppen2/controller/WebController.java index 18538ef..0070deb 100644 --- a/src/main/java/mops/gruppen2/controller/WebController.java +++ b/src/main/java/mops/gruppen2/controller/WebController.java @@ -97,29 +97,8 @@ public class WebController { @RequestParam(value = "file", required = false) MultipartFile file) throws IOException, EventException { Account account = keyCloakService.createAccountFromPrincipal(token); - List userList = new ArrayList<>(); - if (userMaximum == null) { - userMaximum = 100000L; - } - if (!file.isEmpty()) { - try { - userList = CsvService.read(file.getInputStream()); - if (userList.size() > userMaximum) { - userMaximum = (long) userList.size() + userMaximum; - } - } catch (UnrecognizedPropertyException | CharConversionException ex) { - logger.warn("File konnte nicht gelesen werden"); - throw new WrongFileException(file.getOriginalFilename()); - } - } - visibility = visibility == null; - lecture = lecture != null; - maxInfiniteUsers = maxInfiniteUsers != null; - UUID parentUUID = controllerService.getUUID(parent); - - controllerService.createOrga(account, title, description, visibility, lecture, maxInfiniteUsers, userMaximum, parentUUID, userList); - + controllerService.createOrga(account, title, description, visibility, lecture, maxInfiniteUsers, userMaximum, parentUUID, file); return "redirect:/gruppen2/"; } diff --git a/src/main/java/mops/gruppen2/service/ControllerService.java b/src/main/java/mops/gruppen2/service/ControllerService.java index 14da55e..694a696 100644 --- a/src/main/java/mops/gruppen2/service/ControllerService.java +++ b/src/main/java/mops/gruppen2/service/ControllerService.java @@ -1,5 +1,6 @@ package mops.gruppen2.service; +import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException; import mops.gruppen2.domain.Group; import mops.gruppen2.domain.GroupType; import mops.gruppen2.domain.Role; @@ -15,9 +16,13 @@ import mops.gruppen2.domain.event.UpdateRoleEvent; import mops.gruppen2.domain.event.UpdateUserMaxEvent; import mops.gruppen2.domain.exception.EventException; import mops.gruppen2.domain.exception.UserNotFoundException; +import mops.gruppen2.domain.exception.WrongFileException; import mops.gruppen2.security.Account; import org.springframework.stereotype.Service; - +import org.springframework.web.multipart.MultipartFile; +import java.io.CharConversionException; +import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.UUID; @@ -71,10 +76,27 @@ public class ControllerService { updateRole(account.getName(), groupId); } - public void createOrga(Account account, String title, String description, Boolean visibility, Boolean lecture, Boolean maxInfiniteUsers, Long userMaximum, UUID parent, List users) throws EventException { + public void createOrga(Account account, String title, String description, Boolean visibility, Boolean lecture, Boolean maxInfiniteUsers, Long userMaximum, UUID parent, MultipartFile file) throws EventException, IOException { + List userList = new ArrayList<>(); + if (userMaximum == null) { + userMaximum = 100000L; + } + if (!file.isEmpty()) { + try { + userList = CsvService.read(file.getInputStream()); + if (userList.size() > userMaximum) { + userMaximum = (long) userList.size() + userMaximum; + } + } catch (UnrecognizedPropertyException | CharConversionException ex) { + logger.warning("File konnte nicht gelesen werden"); + throw new WrongFileException(file.getOriginalFilename()); + } + } + visibility = visibility == null; + lecture = lecture != null; + maxInfiniteUsers = maxInfiniteUsers != null; Visibility visibility1; UUID groupId = eventService.checkGroup(); - if (visibility) { visibility1 = Visibility.PUBLIC; } else { @@ -100,7 +122,7 @@ public class ControllerService { updateTitle(account, groupId, title); updateDescription(account, groupId, description); updateRole(account.getName(), groupId); - addUserList(users, groupId); + addUserList(userList, groupId); } From 80ab65febb1bcbe06f00fbb0389f260cb94afc06 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Tue, 24 Mar 2020 15:38:06 +0100 Subject: [PATCH 3/6] update UserService --- src/main/java/mops/gruppen2/service/UserService.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/mops/gruppen2/service/UserService.java b/src/main/java/mops/gruppen2/service/UserService.java index 0c2f119..d2e4ce5 100644 --- a/src/main/java/mops/gruppen2/service/UserService.java +++ b/src/main/java/mops/gruppen2/service/UserService.java @@ -16,12 +16,10 @@ import java.util.UUID; @Service public class UserService { - private final EventRepository eventRepository; private final GroupService groupService; private final EventService eventService; - public UserService(EventRepository eventRepository, GroupService groupService, EventService eventService) { - this.eventRepository = eventRepository; + public UserService(GroupService groupService, EventService eventService) { this.groupService = groupService; this.eventService = eventService; } From f907c617a87ad2f05ecbe656a30306851336c15d Mon Sep 17 00:00:00 2001 From: killerber4t Date: Tue, 24 Mar 2020 15:57:31 +0100 Subject: [PATCH 4/6] refactor WebController --- .../java/mops/gruppen2/controller/WebController.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/WebController.java b/src/main/java/mops/gruppen2/controller/WebController.java index 0070deb..4b2cab0 100644 --- a/src/main/java/mops/gruppen2/controller/WebController.java +++ b/src/main/java/mops/gruppen2/controller/WebController.java @@ -165,7 +165,7 @@ public class WebController { if (search != null) { groupse = groupService.findGroupWith(search, account); } - model.addAttribute("account", keyCloakService.createAccountFromPrincipal(token)); + model.addAttribute("account", account); model.addAttribute("gruppen", groupse); return "search"; } @@ -176,6 +176,7 @@ public class WebController { Model model, @PathVariable("id") String groupId) throws EventException { model.addAttribute("account", keyCloakService.createAccountFromPrincipal(token)); + Group group = userService.getGroupById(UUID.fromString(groupId)); Account account = keyCloakService.createAccountFromPrincipal(token); User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail()); @@ -215,12 +216,11 @@ public class WebController { public String joinGroup(KeycloakAuthenticationToken token, Model model, @RequestParam("id") String groupId) throws EventException { model.addAttribute("account", keyCloakService.createAccountFromPrincipal(token)); - Account account = keyCloakService.createAccountFromPrincipal(token); User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail()); Group group = userService.getGroupById(UUID.fromString(groupId)); if (group.getMembers().contains(user)) { - return "error"; //TODO: hier soll eigentlich auf die bereits beigetretene Gruppe weitergeleitet werden + return "redirect:/gruppen2/details/" + groupId; //TODO: hier soll eigentlich auf die bereits beigetretene Gruppe weitergeleitet werden } if (group.getUserMaximum() < group.getMembers().size()) { return "error"; @@ -238,11 +238,9 @@ public class WebController { Group group = userService.getGroupById(UUID.fromString(groupId)); UUID parentId = group.getParent(); Group parent = new Group(); - if (parentId != null) { parent = userService.getGroupById(parentId); } - if (group.getUserMaximum() > group.getMembers().size()) { model.addAttribute("group", group); model.addAttribute("parentId", parentId); @@ -324,8 +322,6 @@ public class WebController { public String changeRole(KeycloakAuthenticationToken token, @RequestParam("group_id") String groupId, @RequestParam("user_id") String userId) throws EventException { - - Account account = keyCloakService.createAccountFromPrincipal(token); if (userId.equals(account.getName())) { if (controllerService.passIfLastAdmin(account, UUID.fromString(groupId))) { From d957326491d27c15e79b9e053551b28f783d2fcd Mon Sep 17 00:00:00 2001 From: killerber4t Date: Tue, 24 Mar 2020 16:02:16 +0100 Subject: [PATCH 5/6] refactor Controller --- .../java/mops/gruppen2/controller/WebController.java | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/WebController.java b/src/main/java/mops/gruppen2/controller/WebController.java index 4b2cab0..753dc6b 100644 --- a/src/main/java/mops/gruppen2/controller/WebController.java +++ b/src/main/java/mops/gruppen2/controller/WebController.java @@ -17,8 +17,6 @@ import mops.gruppen2.service.GroupService; import mops.gruppen2.service.KeyCloakService; import mops.gruppen2.service.UserService; import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @@ -28,7 +26,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.context.annotation.SessionScope; import org.springframework.web.multipart.MultipartFile; - import javax.annotation.security.RolesAllowed; import java.io.CharConversionException; import java.io.IOException; @@ -45,16 +42,12 @@ public class WebController { private final GroupService groupService; private final UserService userService; private final ControllerService controllerService; - private final Gruppen2Config gruppen2Config; - private final Logger logger = LoggerFactory.getLogger("Gruppen2ControllerLogger"); - ; - public WebController(KeyCloakService keyCloakService, GroupService groupService, UserService userService, ControllerService controllerService, Gruppen2Config gruppen2Config) { + public WebController(KeyCloakService keyCloakService, GroupService groupService, UserService userService, ControllerService controllerService) { this.keyCloakService = keyCloakService; this.groupService = groupService; this.userService = userService; this.controllerService = controllerService; - this.gruppen2Config = gruppen2Config; } /** From f0a1a9c7bb1ca22ee7c754403b75e8853c9d5a27 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Tue, 24 Mar 2020 16:16:18 +0100 Subject: [PATCH 6/6] refactor Controller --- src/main/java/mops/gruppen2/controller/WebController.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/mops/gruppen2/controller/WebController.java b/src/main/java/mops/gruppen2/controller/WebController.java index 753dc6b..0c97ab9 100644 --- a/src/main/java/mops/gruppen2/controller/WebController.java +++ b/src/main/java/mops/gruppen2/controller/WebController.java @@ -143,7 +143,6 @@ public class WebController { } UUID groupUUID = controllerService.getUUID(groupId); - controllerService.addUserList(userList, groupUUID); return "redirect:/gruppen2/details/members/" + groupId; }