diff --git a/src/main/java/mops/gruppen2/service/EventService.java b/src/main/java/mops/gruppen2/service/EventService.java index 0c1e879..c28080c 100644 --- a/src/main/java/mops/gruppen2/service/EventService.java +++ b/src/main/java/mops/gruppen2/service/EventService.java @@ -6,6 +6,8 @@ import mops.gruppen2.domain.event.Event; import mops.gruppen2.repository.EventRepository; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class EventService { private final SerializationService serializationService; @@ -48,4 +50,18 @@ public class EventService { } return tmpId; } + + public List findAllEvents() { + return null; + } + + public Event getEvent(EventDTO eventDTO) { + try { + return serializationService.deserializeEvent(eventDTO.getEvent_payload()); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + + return null; + } } diff --git a/src/main/java/mops/gruppen2/service/GroupService.java b/src/main/java/mops/gruppen2/service/GroupService.java index dbf8abe..1bbb222 100644 --- a/src/main/java/mops/gruppen2/service/GroupService.java +++ b/src/main/java/mops/gruppen2/service/GroupService.java @@ -7,11 +7,19 @@ import mops.gruppen2.domain.event.CreateGroupEvent; import mops.gruppen2.domain.event.Event; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; +import java.util.Map; @Service public class GroupService { + private final EventService eventService; + + public GroupService(EventService eventService) { + this.eventService = eventService; + } + /** * Konstruiert eine vollständige Gruppe aus Events, welche dieselbe Gruppe betreffen. * @@ -46,4 +54,27 @@ public class GroupService { } return newGroup; } + + public List projectEventList(Map groupMap, List events) { + for (Event event : events) { + if (event instanceof CreateGroupEvent) { + groupMap.put(event.getGroup_id(), new Group()); + } + + try { + Group group = groupMap.get(event.getGroup_id()); + + if (group == null) { + throw new GroupDoesNotExistException("Gruppe " + event.getGroup_id() + " existiert nicht"); + } + + group.applyEvent(event); + } catch (EventException e) { + e.printStackTrace(); + } + + } + + return new ArrayList<>(groupMap.values()); + } }