rename events package, add aggregat superclass
This commit is contained in:
@ -1,17 +0,0 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
@ -1,15 +0,0 @@
|
||||
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;
|
||||
|
||||
}
|
||||
18
src/main/java/mops/gruppen2/entities/Aggregat.java
Normal file
18
src/main/java/mops/gruppen2/entities/Aggregat.java
Normal file
@ -0,0 +1,18 @@
|
||||
package mops.gruppen2.entities;
|
||||
|
||||
import mops.gruppen2.events.Event;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public abstract class Aggregat {
|
||||
|
||||
public void applyEvent(Event event) {
|
||||
try {
|
||||
Method method = this.getClass().getDeclaredMethod("applyEvent", event.getClass());
|
||||
method.setAccessible(true);
|
||||
method.invoke(this, event);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,29 +1,21 @@
|
||||
package mops.gruppen2.entities;
|
||||
|
||||
import lombok.Data;
|
||||
import mops.gruppen2.Events.CreateGroupEvent;
|
||||
import mops.gruppen2.Events.Event;
|
||||
import org.springframework.data.annotation.Id;
|
||||
import mops.gruppen2.events.CreateGroupEvent;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class Gruppe {
|
||||
@Id
|
||||
Long id;
|
||||
public class Gruppe extends Aggregat {
|
||||
long id;
|
||||
String titel;
|
||||
String beschreibung;
|
||||
List<Teilnehmer> 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
15
src/main/java/mops/gruppen2/events/CreateGroupEvent.java
Normal file
15
src/main/java/mops/gruppen2/events/CreateGroupEvent.java
Normal file
@ -0,0 +1,15 @@
|
||||
package mops.gruppen2.events;
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
12
src/main/java/mops/gruppen2/events/Event.java
Normal file
12
src/main/java/mops/gruppen2/events/Event.java
Normal file
@ -0,0 +1,12 @@
|
||||
package mops.gruppen2.events;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public class Event {
|
||||
long id;
|
||||
long gruppe_id;
|
||||
long user_id;
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
package mops.gruppen2.repositories;
|
||||
|
||||
import mops.gruppen2.Events.Event;
|
||||
import mops.gruppen2.events.Event;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface EventRepository extends CrudRepository<Event, Long> {
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
package mops.gruppen2.services;
|
||||
|
||||
import mops.gruppen2.Events.CreateGroupEvent;
|
||||
import mops.gruppen2.Events.Event;
|
||||
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;
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
package mops.gruppen2.services;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* Übersetzt und baut
|
||||
*/
|
||||
@Service
|
||||
public class SerializationService {
|
||||
}
|
||||
Reference in New Issue
Block a user