From 75143b33c0e21c11a2fc83f4aae5a936097459b3 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Fri, 6 Mar 2020 14:20:04 +0100 Subject: [PATCH] add Event related stuff and Group example --- src/main/java/mops/gruppen2/DTO/Event.java | 4 ---- .../gruppen2/Events/CreateGroupEvent.java | 17 ++++++++++++++ src/main/java/mops/gruppen2/Events/Event.java | 15 ++++++++++++ .../controllers/Gruppen2Controller.java | 4 ++++ .../java/mops/gruppen2/entities/Admin.java | 2 +- .../java/mops/gruppen2/entities/Gruppe.java | 14 +++++++++++ .../java/mops/gruppen2/entities/Orga.java | 4 ++++ .../java/mops/gruppen2/entities/Rolle.java | 5 ++++ .../java/mops/gruppen2/entities/Student.java | 10 -------- .../repositories/EventRepository.java | 2 +- .../gruppen2/services/GruppenService.java | 23 +++++++++++++++++-- 11 files changed, 82 insertions(+), 18 deletions(-) delete mode 100644 src/main/java/mops/gruppen2/DTO/Event.java create mode 100644 src/main/java/mops/gruppen2/Events/CreateGroupEvent.java create mode 100644 src/main/java/mops/gruppen2/Events/Event.java create mode 100644 src/main/java/mops/gruppen2/entities/Orga.java create mode 100644 src/main/java/mops/gruppen2/entities/Rolle.java delete mode 100644 src/main/java/mops/gruppen2/entities/Student.java diff --git a/src/main/java/mops/gruppen2/DTO/Event.java b/src/main/java/mops/gruppen2/DTO/Event.java deleted file mode 100644 index 2876163..0000000 --- a/src/main/java/mops/gruppen2/DTO/Event.java +++ /dev/null @@ -1,4 +0,0 @@ -package mops.gruppen2.DTO; - -public class Event { -} diff --git a/src/main/java/mops/gruppen2/Events/CreateGroupEvent.java b/src/main/java/mops/gruppen2/Events/CreateGroupEvent.java new file mode 100644 index 0000000..06d432d --- /dev/null +++ b/src/main/java/mops/gruppen2/Events/CreateGroupEvent.java @@ -0,0 +1,17 @@ +package mops.gruppen2.Events; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.Getter; + +@Getter +public class CreateGroupEvent extends Event{ + String titel; + String beschreibung; + + public CreateGroupEvent(Long id, Long gruppe_id, Long user_id, String titel,String beschreibung) { + super(id, gruppe_id, user_id); + this.titel = titel; + this.beschreibung = beschreibung; + } +} diff --git a/src/main/java/mops/gruppen2/Events/Event.java b/src/main/java/mops/gruppen2/Events/Event.java new file mode 100644 index 0000000..203f08f --- /dev/null +++ b/src/main/java/mops/gruppen2/Events/Event.java @@ -0,0 +1,15 @@ +package mops.gruppen2.Events; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.springframework.data.annotation.Id; + +@Getter +@AllArgsConstructor +public class Event { + @Id + Long id; + Long gruppe_id; + Long user_id; + +} diff --git a/src/main/java/mops/gruppen2/controllers/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controllers/Gruppen2Controller.java index 2f9fab5..c9f1d81 100644 --- a/src/main/java/mops/gruppen2/controllers/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controllers/Gruppen2Controller.java @@ -2,8 +2,10 @@ package mops.gruppen2.controllers; import javax.annotation.security.RolesAllowed; import mops.gruppen2.security.Account; +import mops.gruppen2.services.GruppenService; import org.keycloak.KeycloakPrincipal; import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @@ -12,6 +14,8 @@ import org.springframework.web.context.annotation.SessionScope; @SessionScope @Controller public class Gruppen2Controller { + @Autowired + GruppenService gruppenService; /** * Creates an Account. * diff --git a/src/main/java/mops/gruppen2/entities/Admin.java b/src/main/java/mops/gruppen2/entities/Admin.java index c4d6e46..dcc21d8 100644 --- a/src/main/java/mops/gruppen2/entities/Admin.java +++ b/src/main/java/mops/gruppen2/entities/Admin.java @@ -1,4 +1,4 @@ package mops.gruppen2.entities; -public class Admin extends Teilnehmer{ +public class Admin extends Rolle { } diff --git a/src/main/java/mops/gruppen2/entities/Gruppe.java b/src/main/java/mops/gruppen2/entities/Gruppe.java index f02bc9d..33f163d 100644 --- a/src/main/java/mops/gruppen2/entities/Gruppe.java +++ b/src/main/java/mops/gruppen2/entities/Gruppe.java @@ -1,6 +1,8 @@ package mops.gruppen2.entities; import lombok.Data; +import mops.gruppen2.Events.CreateGroupEvent; +import mops.gruppen2.Events.Event; import org.springframework.data.annotation.Id; import java.util.List; @@ -12,4 +14,16 @@ public class Gruppe { String titel; String beschreibung; List teilnehmersList; + + public void applyEvent(Event event){ + + } + + public void applyEvent(CreateGroupEvent event){ + this.id = event.getId(); + this.titel = event.getTitel(); + this.beschreibung = event.getBeschreibung(); + this.teilnehmersList= null; + } + } diff --git a/src/main/java/mops/gruppen2/entities/Orga.java b/src/main/java/mops/gruppen2/entities/Orga.java new file mode 100644 index 0000000..ad86b27 --- /dev/null +++ b/src/main/java/mops/gruppen2/entities/Orga.java @@ -0,0 +1,4 @@ +package mops.gruppen2.entities; + +public class Orga extends Rolle { +} diff --git a/src/main/java/mops/gruppen2/entities/Rolle.java b/src/main/java/mops/gruppen2/entities/Rolle.java new file mode 100644 index 0000000..1a7bb04 --- /dev/null +++ b/src/main/java/mops/gruppen2/entities/Rolle.java @@ -0,0 +1,5 @@ +package mops.gruppen2.entities; + +public class Rolle { + +} diff --git a/src/main/java/mops/gruppen2/entities/Student.java b/src/main/java/mops/gruppen2/entities/Student.java deleted file mode 100644 index d3aeeb4..0000000 --- a/src/main/java/mops/gruppen2/entities/Student.java +++ /dev/null @@ -1,10 +0,0 @@ -package mops.gruppen2.entities; - -import lombok.Data; -import org.springframework.data.annotation.Id; - -import java.util.List; - -public class Student extends Teilnehmer{ - -} diff --git a/src/main/java/mops/gruppen2/repositories/EventRepository.java b/src/main/java/mops/gruppen2/repositories/EventRepository.java index 70ad99c..9a8d872 100644 --- a/src/main/java/mops/gruppen2/repositories/EventRepository.java +++ b/src/main/java/mops/gruppen2/repositories/EventRepository.java @@ -1,6 +1,6 @@ package mops.gruppen2.repositories; -import mops.gruppen2.DTO.Event; +import mops.gruppen2.Events.Event; import org.springframework.data.repository.CrudRepository; public interface EventRepository extends CrudRepository { diff --git a/src/main/java/mops/gruppen2/services/GruppenService.java b/src/main/java/mops/gruppen2/services/GruppenService.java index c6d262c..2c67671 100644 --- a/src/main/java/mops/gruppen2/services/GruppenService.java +++ b/src/main/java/mops/gruppen2/services/GruppenService.java @@ -1,10 +1,29 @@ package mops.gruppen2.services; +import mops.gruppen2.Events.CreateGroupEvent; +import mops.gruppen2.Events.Event; +import mops.gruppen2.entities.Gruppe; import mops.gruppen2.repositories.EventRepository; +import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + +@Service public class GruppenService { - public GruppenService(EventRepository eventRepository){ - + CreateGroupEvent createGroupEvent = new CreateGroupEvent(1L,1L,1L,"hello", "foo"); + + public GruppenService(){ + List eventList = new ArrayList<>(); + eventList.add(createGroupEvent); + Gruppe newGroup = buildGroup(eventList); + System.out.println(newGroup.toString()); + } + + Gruppe buildGroup(List eventList){ + Gruppe newGroup = new Gruppe(); + eventList.forEach(newGroup::applyEvent); + return newGroup; } }