From 35af40ca0e4fd3ee593ae3b01e12549a3a5597e2 Mon Sep 17 00:00:00 2001 From: Bernhard Luedtke Date: Fri, 9 Jul 2021 18:50:08 +0200 Subject: [PATCH] Added Controller + Model placeholders for Modul, Dozent, Klausur --- .../controller/DozentController.java | 37 +++++++++++++++++++ .../controller/KlausurController.java | 34 +++++++++++++++++ .../controller/ModulController.java | 35 ++++++++++++++++++ .../fswiai/klausurenmodul/model/Dozent.java | 11 ++++++ .../fswiai/klausurenmodul/model/Klausur.java | 11 ++++++ .../de/fswiai/klausurenmodul/model/Modul.java | 12 ++++++ .../klausurenmodul/service/MailService.java | 15 +++----- 7 files changed, 145 insertions(+), 10 deletions(-) create mode 100644 src/main/java/de/fswiai/klausurenmodul/controller/DozentController.java create mode 100644 src/main/java/de/fswiai/klausurenmodul/controller/KlausurController.java create mode 100644 src/main/java/de/fswiai/klausurenmodul/controller/ModulController.java create mode 100644 src/main/java/de/fswiai/klausurenmodul/model/Dozent.java create mode 100644 src/main/java/de/fswiai/klausurenmodul/model/Klausur.java create mode 100644 src/main/java/de/fswiai/klausurenmodul/model/Modul.java diff --git a/src/main/java/de/fswiai/klausurenmodul/controller/DozentController.java b/src/main/java/de/fswiai/klausurenmodul/controller/DozentController.java new file mode 100644 index 0000000..4f015f5 --- /dev/null +++ b/src/main/java/de/fswiai/klausurenmodul/controller/DozentController.java @@ -0,0 +1,37 @@ +package de.fswiai.klausurenmodul.controller; + +import de.fswiai.klausurenmodul.model.Dozent; +import de.fswiai.klausurenmodul.model.Modul; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; + +@RestController +public class DozentController { + + @GetMapping("/dozent") + public List getDozentList(){ + List retList = new ArrayList<>(); + //TODO IMPLEMENT + return retList; + } + + @GetMapping("/dozent/{id}") + public Dozent getDozentByID(@PathVariable String id){ + //TODO Search for dozent in DB and return it + return new Dozent(); + } + + @PostMapping("/dozent") + public Dozent persistDozent(@RequestParam(name = "dozent") Dozent pDozent){ + //TODO IMPLEMENT + return new Dozent(); + } + + @DeleteMapping("/dozent/{id}") + public void deleteDozentByID(@PathVariable String id){ + //TODO IMPLEMENT - SEARCH; IF EXISTS DELETE + // -> Should the modules be deleted as well? I'd argue: No. + } +} diff --git a/src/main/java/de/fswiai/klausurenmodul/controller/KlausurController.java b/src/main/java/de/fswiai/klausurenmodul/controller/KlausurController.java new file mode 100644 index 0000000..a473983 --- /dev/null +++ b/src/main/java/de/fswiai/klausurenmodul/controller/KlausurController.java @@ -0,0 +1,34 @@ +package de.fswiai.klausurenmodul.controller; + +import de.fswiai.klausurenmodul.model.Klausur; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; + +@RestController +public class KlausurController { + @GetMapping("/klausur") + public List getKlausurList(){ + List retList = new ArrayList<>(); + //TODO IMPLEMENT + return retList; + } + + @GetMapping("/klausur/{id}") + public Klausur getKlausurByID(@PathVariable String id){ + //TODO Search for Klausur in DB and return it + return new Klausur(); + } + + @PostMapping("/klausur") + public Klausur persistDozent(@RequestParam(name = "Klausur") Klausur pKlausur){ + //TODO IMPLEMENT + return new Klausur(); + } + + @DeleteMapping("/Klausur/{id}") + public void deleteKlausurByID(@PathVariable String id){ + //TODO IMPLEMENT - SEARCH; IF EXISTS DELETE + } +} diff --git a/src/main/java/de/fswiai/klausurenmodul/controller/ModulController.java b/src/main/java/de/fswiai/klausurenmodul/controller/ModulController.java new file mode 100644 index 0000000..fe90484 --- /dev/null +++ b/src/main/java/de/fswiai/klausurenmodul/controller/ModulController.java @@ -0,0 +1,35 @@ +package de.fswiai.klausurenmodul.controller; + +import de.fswiai.klausurenmodul.model.Modul; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; + +@RestController +public class ModulController { + + @GetMapping("/modul") + public List getModuleList(){ + List retList = new ArrayList<>(); + //TODO IMPLEMENT + return retList; + } + + @GetMapping("/modul/{id}") + public Modul getModuleByID(@PathVariable String id){ + //TODO Search for module in DB and return it + return new Modul(); + } + + @PostMapping("/modul") + public Modul persistModul(@RequestParam(name = "modul") Modul pModul){ + //TODO IMPLEMENT + return new Modul(); + } + + @DeleteMapping("/modul/{id}") + public void deleteModuleByID(@PathVariable String id){ + //TODO IMPLEMENT - SEARCH; IF EXISTS DELETE + } +} diff --git a/src/main/java/de/fswiai/klausurenmodul/model/Dozent.java b/src/main/java/de/fswiai/klausurenmodul/model/Dozent.java new file mode 100644 index 0000000..857845e --- /dev/null +++ b/src/main/java/de/fswiai/klausurenmodul/model/Dozent.java @@ -0,0 +1,11 @@ +package de.fswiai.klausurenmodul.model; + +import java.util.List; + +public class Dozent { + //ID required, ID Format? -> have to check the db + private long id; + private String firstname; + private String lastname; + private List module; +} diff --git a/src/main/java/de/fswiai/klausurenmodul/model/Klausur.java b/src/main/java/de/fswiai/klausurenmodul/model/Klausur.java new file mode 100644 index 0000000..5e774f3 --- /dev/null +++ b/src/main/java/de/fswiai/klausurenmodul/model/Klausur.java @@ -0,0 +1,11 @@ +package de.fswiai.klausurenmodul.model; + +public class Klausur { + //ID required, ID Format? -> have to check the db + private String shortname; + private String longname; + private String filepath; // Should this just be the same as longname? + private String link; // Or should we handle links differently? + //May need a 'semester' field, not sure. Have to check db again. + +} diff --git a/src/main/java/de/fswiai/klausurenmodul/model/Modul.java b/src/main/java/de/fswiai/klausurenmodul/model/Modul.java new file mode 100644 index 0000000..3a878e5 --- /dev/null +++ b/src/main/java/de/fswiai/klausurenmodul/model/Modul.java @@ -0,0 +1,12 @@ +package de.fswiai.klausurenmodul.model; + +import java.util.List; + +public class Modul { + private long id; + private String shortname; + private String longname; + private List klausuren; + // TODO gibt es eine geeignete nicht-genderndeForm? Wäre dann vorzuziehen. + private Dozent dozent; +} diff --git a/src/main/java/de/fswiai/klausurenmodul/service/MailService.java b/src/main/java/de/fswiai/klausurenmodul/service/MailService.java index 08b4a52..4706315 100644 --- a/src/main/java/de/fswiai/klausurenmodul/service/MailService.java +++ b/src/main/java/de/fswiai/klausurenmodul/service/MailService.java @@ -4,14 +4,9 @@ import de.fswiai.klausurenmodul.model.Email; import de.fswiai.klausurenmodul.model.MailerConfig; import javax.mail.*; -import javax.mail.internet.InternetAddress; -import javax.mail.internet.MimeBodyPart; -import javax.mail.internet.MimeMessage; -import javax.mail.internet.MimeMultipart; +import javax.mail.internet.*; import java.io.File; import java.io.IOException; -import java.io.InputStream; -import java.util.List; import java.util.Properties; import com.fasterxml.jackson.databind.ObjectMapper; @@ -44,7 +39,7 @@ public class MailService { //TODO switch boolean to some result class //TODO switch to a proper logging framework public boolean sendMail(Email mail) - throws javax.mail.internet.AddressException, javax.mail.MessagingException + throws AddressException, MessagingException { System.out.println("- Attempting to send Mail:"); System.out.println(" From: " + mail.getSourceAddress()); @@ -63,8 +58,8 @@ public class MailService { // If the Email Object contains files to append, then append them. if(mail.hasFiles()){ - // Add the files to append - mail.getFileList().forEach(file -> { + // I'd prefer a lambda, but ran into some issues with capturing stuff. + for (File file: mail.getFileList()) { try { MimeBodyPart attachmentBodyPart = new MimeBodyPart(); attachmentBodyPart.attachFile(file); @@ -76,7 +71,7 @@ public class MailService { System.err.println("File Attachment Message Exception"); e.printStackTrace(); } - }); + } } // Set the prepared Mime Multipart as the message content