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