1

refactor UpdateRoleEvent-handler

This commit is contained in:
Christoph
2020-03-06 22:18:44 +01:00
parent cc174b3269
commit b94432eec6

View File

@ -4,11 +4,11 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import mops.gruppen2.domain.event.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* Repräsentiert den aggregierten Zustand einer Gruppe.
*/
@EqualsAndHashCode(callSuper = false)
@Getter
public class Group extends Aggregate {
@ -26,11 +26,24 @@ public class Group extends Aggregate {
}
private void applyEvent(UpdateRoleEvent event) {
members.stream()
.filter(user -> user.getUser_id().equals(event.getUser_id()))
.findFirst()
.ifPresentOrElse(user -> roles.put(user, event.getNewRole()),
() -> System.out.println("UserNotFoundException"));
User user;
Optional<User> userOptional = members.stream()
.filter(u -> u.getUser_id().equals(event.getUser_id()))
.findFirst();
if (userOptional.isPresent()) {
user = userOptional.get();
} else {
System.out.println("UserNotFoundException");
return;
}
if (roles.containsKey(user) && event.getNewRole() == Role.STUDENT) {
roles.remove(user);
} else {
roles.put(user, event.getNewRole());
}
}
private void applyEvent(AddUserEvent event) {