diff --git a/pom.xml b/pom.xml index 3178346..0319223 100644 --- a/pom.xml +++ b/pom.xml @@ -35,7 +35,7 @@ de.infinimotion model-persistence - 0.0.54 + 0.0.55 diff --git a/src/main/java/de/infinimotion/persistence/processor/KinosaalProcessor.java b/src/main/java/de/infinimotion/persistence/processor/KinosaalProcessor.java index 828dd15..2a7d857 100644 --- a/src/main/java/de/infinimotion/persistence/processor/KinosaalProcessor.java +++ b/src/main/java/de/infinimotion/persistence/processor/KinosaalProcessor.java @@ -10,13 +10,14 @@ import java.util.List; @Unremovable @ApplicationScoped -public class KinosaalProcessor implements CommandListKinosaalProcessor, CommandCreateKinosaalProcessor { +public class KinosaalProcessor implements CommandListKinosaalProcessor, CommandCreateKinosaalProcessor, CommandUpdateKinosaalProcessor, CommandDeleteKinosaalProcessor { @Inject EntityManager em; public Command processCommandListKinosaal(CommandListKinosaal request) { List results = em.createQuery("SELECT k FROM Kinosaal k", Kinosaal.class).getResultList(); + CommandListKinosaalResponse response = new CommandListKinosaalResponse(); response.setList(results); return response; @@ -26,9 +27,28 @@ public class KinosaalProcessor implements CommandListKinosaalProcessor, CommandC Kinosaal hall = new Kinosaal(); hall.setName(request.getName()); em.persist(hall); + CommandCreateKinosaalResponse response = new CommandCreateKinosaalResponse(); response.setHall(hall); return response; } + @Override + public Command processCommandDeleteKinosaal(CommandDeleteKinosaal request) { + Kinosaal hall = em.find(Kinosaal.class, request.getHall().getId()); + em.remove(hall); + + CommandDeleteKinosaalResponse response = new CommandDeleteKinosaalResponse(); + response.setHall(hall); + return response; + } + + @Override + public Command processCommandUpdateKinosaal(CommandUpdateKinosaal request) { + Kinosaal hall = em.merge(request.getHall()); + + CommandUpdateKinosaal response = new CommandUpdateKinosaal(); + response.setHall(hall); + return response; + } }