From f6250a2724517a4790858fcbac159896d58d804d Mon Sep 17 00:00:00 2001 From: trochas Date: Fri, 17 Oct 2025 13:58:59 +0200 Subject: [PATCH] test et correction --- .../java/sample/data/jpa/metier/Choix.java | 17 ++++-- .../java/sample/data/jpa/metier/Question.java | 12 +++++ .../java/sample/data/jpa/metier/Quizz.java | 4 +- .../java/sample/data/jpa/metier/Reponse.java | 2 +- .../sample/data/jpa/metier/ReponseCourte.java | 15 ++++-- .../java/sample/data/jpa/metier/Session.java | 4 +- .../sample/data/jpa/metier/Utilisateur.java | 2 +- .../data/jpa/web/QuestionController.java | 18 ++++++- .../sample/data/jpa/web/QuizzController.java | 54 +++++++++++++++++-- .../data/jpa/web/ReponseController.java | 8 +-- .../data/jpa/web/SessionController.java | 17 +++--- .../data/jpa/web/UtilisateurController.java | 26 +++++++-- 12 files changed, 145 insertions(+), 34 deletions(-) diff --git a/src/main/java/sample/data/jpa/metier/Choix.java b/src/main/java/sample/data/jpa/metier/Choix.java index d299a93..71c1108 100644 --- a/src/main/java/sample/data/jpa/metier/Choix.java +++ b/src/main/java/sample/data/jpa/metier/Choix.java @@ -27,18 +27,27 @@ public class Choix extends Reponse{ return res; } - @Override - public String toString(){ - String res ="choix : ["; + public String prettyPrinter(int tab){ + + String tabStr = ""; + for(int i =0; i sessions = new ArrayList(); @ManyToOne @JoinColumn(name="id_utilisateur") diff --git a/src/main/java/sample/data/jpa/metier/Reponse.java b/src/main/java/sample/data/jpa/metier/Reponse.java index 4be325d..701d8f1 100644 --- a/src/main/java/sample/data/jpa/metier/Reponse.java +++ b/src/main/java/sample/data/jpa/metier/Reponse.java @@ -29,7 +29,7 @@ public abstract class Reponse implements Serializable { return ""; } - public String toSring(){ + public String prettyPrinter(int tab){ return ""; } } \ No newline at end of file diff --git a/src/main/java/sample/data/jpa/metier/ReponseCourte.java b/src/main/java/sample/data/jpa/metier/ReponseCourte.java index 53b5d42..7368725 100644 --- a/src/main/java/sample/data/jpa/metier/ReponseCourte.java +++ b/src/main/java/sample/data/jpa/metier/ReponseCourte.java @@ -18,13 +18,20 @@ public class ReponseCourte extends Reponse{ return "INPUT"; } - @Override - public String toString(){ - String res = "INPUT , reponses : ["; + public String prettyPrinter(int tab){ + + String tabStr = ""; + for(int i =0; i quizzs = new ArrayList<>(); - @ManyToMany(mappedBy = "session") + @ManyToMany(mappedBy = "sessions") private List utilisateurs = new ArrayList<>(); private String theme; } \ No newline at end of file diff --git a/src/main/java/sample/data/jpa/metier/Utilisateur.java b/src/main/java/sample/data/jpa/metier/Utilisateur.java index 0533f26..3c03d16 100644 --- a/src/main/java/sample/data/jpa/metier/Utilisateur.java +++ b/src/main/java/sample/data/jpa/metier/Utilisateur.java @@ -26,7 +26,7 @@ public class Utilisateur implements Serializable { joinColumns = @JoinColumn(name="utilisateur_id"), inverseJoinColumns = @JoinColumn(name = "session_id") ) - private List session= new ArrayList<>(); + private List sessions= new ArrayList<>(); @OneToMany(mappedBy = "utilisateur") private List quizzs = new ArrayList<>(); diff --git a/src/main/java/sample/data/jpa/web/QuestionController.java b/src/main/java/sample/data/jpa/web/QuestionController.java index 5836a10..a96ef33 100644 --- a/src/main/java/sample/data/jpa/web/QuestionController.java +++ b/src/main/java/sample/data/jpa/web/QuestionController.java @@ -34,6 +34,7 @@ public class QuestionController { Post /question/create param : body Jsp, "enonce" Put /question/update/{id} param : body Jsp, "enonce" Get /question/getAll + Get /question/get/{id} Get /question/getReponse/{id} Put /question/removeReponse Put /question/setReponse/{id}/{idReponse} @@ -68,7 +69,7 @@ public class QuestionController { */ @PutMapping("/update/{id}") @ResponseBody - public String updateQuestion(@PathVariable("id") int id, @RequestBody Map body) { + public String update(@PathVariable("id") int id, @RequestBody Map body) { Question q; try { q = qDao.findById(id).get(); @@ -81,6 +82,21 @@ public class QuestionController { return "Question "+id+" succesfully updated! : " + q.getEnonce(); } + @GetMapping("/get/{id}") + @ResponseBody + public String get(@PathVariable("id") int id) { + Question q; + String res = ""; + try { + q = qDao.findById(id).get(); + res=q.prettyPrinter(0); + } + catch (Exception ex) { + return "Erreur lors de la récupération de la question : " + ex.toString(); + } + return res; + } + @GetMapping("/getAll") @ResponseBody public String getAll(){ diff --git a/src/main/java/sample/data/jpa/web/QuizzController.java b/src/main/java/sample/data/jpa/web/QuizzController.java index 8c6b2d5..027859e 100644 --- a/src/main/java/sample/data/jpa/web/QuizzController.java +++ b/src/main/java/sample/data/jpa/web/QuizzController.java @@ -14,8 +14,12 @@ import org.springframework.web.bind.annotation.ResponseBody; import sample.data.jpa.metier.Question; import sample.data.jpa.metier.Quizz; +import sample.data.jpa.metier.Reponse; +import sample.data.jpa.metier.Session; +import sample.data.jpa.metier.Utilisateur; import sample.data.jpa.service.QuestionDao; import sample.data.jpa.service.QuizzDao; +import sample.data.jpa.service.UtilisateurDao; @Controller @RequestMapping("/quizz") @@ -25,31 +29,38 @@ public class QuizzController { private QuizzDao qDao; @Autowired private QuestionDao qtDao; + @Autowired + private UtilisateurDao uDao; /* - Post /quizz/create + Post /quizz/create/{idU} Delete /quizz/delete/{id} Put /quizz/addQuestion/{idQuestion}/{idQuizz} Put /quizz/removeQuestion/{idQuestin}/{idQuizz} + Get /quizz/get/{id} Get /quizz/getAll Get /quizz/getQuestions/{id} */ - @PostMapping("/create") + @PostMapping("/create/{id}") @ResponseBody - public String create() { + public String create(@PathVariable("id") int id) { String qId = ""; + String emailU = ""; try { Quizz q = new Quizz(); + Utilisateur u = uDao.findById(id).get(); + emailU = u.getEmail(); + q.setUtilisateur(u); qDao.save(q); qId = String.valueOf(q.getId()); } catch (Exception ex) { return "Error creating the Quizz : " + ex.toString(); } - return "Quizz succesfully created with id = " + qId; + return "Quizz succesfully created by "+ emailU +" with id = " + qId; } @DeleteMapping("/delete/{id}") @@ -100,6 +111,41 @@ public class QuizzController { } + @GetMapping("/get/{id}") + @ResponseBody + public String get(@PathVariable("id") int id){ + String res = ""; + try { + Quizz q = qDao.findById(id).get(); + res += "id : " + id + "\n"; + if(q.getUtilisateur()!=null){ + res += "create by : " + q.getUtilisateur().getId() + + " (" + q.getUtilisateur().getEmail() + ")\n"; + } + List sessions = q.getSessions(); + List questions = q.getQuestions(); + res += "Sessions :\n"; + for(Session session : sessions){ + res += "\tid : " + session.getId() + +" , theme : " + session.getTheme() + +" , nbUtilisateur : " + session.getUtilisateurs().size() + +" , PIN : " + session.getCodePIN()+"\n"; + } + res += "Question :\n"; + for( int i = 0; i reponses = rDao.findAll(); for (Reponse reponse : reponses) { - res+="id : " + reponse.getId() + " , " + reponse.toSring() + "\n"; + res+="id : " + reponse.getId() + "\n" + reponse.prettyPrinter(1) + "\n"; } return res; } catch (Exception ex) { @@ -91,7 +91,7 @@ public class ReponseController { try { String res = ""; Reponse reponse = rDao.findById(id).get(); - res+="id : " + reponse.getId() + " , " + reponse.toSring(); + res+="id : " + reponse.getId() + "\n" + reponse.prettyPrinter(1); return res; } catch (Exception ex) { return "Erreur lors de la récupréation de la réponse : "+id+" : " + ex.toString(); diff --git a/src/main/java/sample/data/jpa/web/SessionController.java b/src/main/java/sample/data/jpa/web/SessionController.java index c0839a6..932655a 100644 --- a/src/main/java/sample/data/jpa/web/SessionController.java +++ b/src/main/java/sample/data/jpa/web/SessionController.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -20,6 +21,7 @@ import sample.data.jpa.service.QuizzDao; import sample.data.jpa.service.SessionDao; import sample.data.jpa.service.UtilisateurDao; +@Controller @RequestMapping("/session") public class SessionController { @@ -34,7 +36,7 @@ public class SessionController { Post /session/create param : body Jsp, "theme" Delete /session/delete/{id} Get /session/getAll - Put /session/addQuizz/{id} + Put /session/addQuizz/{id}/{idQ} Put /session/removeQuizz/{id} Put /session/update/{id} param : body Jsp, "theme" Put /session/addUtilisateur/{id}/{idU} @@ -83,7 +85,8 @@ public class SessionController { String res = ""; for(Session session : sessions){ res+="id: " + session.getId() + " , "; - res+="theme: \"" + session.getTheme() + "\"\n"; + res+="theme: \"" + session.getTheme() + "\" , "; + res += "nbUtilisateur :" + session.getUtilisateurs().size() + "\n"; } @@ -100,7 +103,7 @@ public class SessionController { Session s = sDao.findById(id).get(); Quizz q = qDao.findById(qId).get(); s.getQuizzs().add(q); - q.setSession(s); + q.getSessions().add(s); sDao.save(s); qDao.save(q); } catch (Exception ex) { @@ -111,12 +114,12 @@ public class SessionController { @PutMapping("/removeQuizz/{id}/{qid}") @ResponseBody - public String removeReponse(@PathVariable("id") int id, @PathVariable("qid") int qId) { + public String removeQuizz(@PathVariable("id") int id, @PathVariable("qid") int qId) { try { Session s = sDao.findById(id).get(); Quizz q = qDao.findById(qId).get(); s.getQuizzs().remove(q); - q.setSession(null); + q.getSessions().remove(s); sDao.save(s); qDao.save(q); } catch (Exception ex) { @@ -152,7 +155,7 @@ public class SessionController { try { Utilisateur u = uDao.findById(idU).get(); Session s = sDao.findById(id).get(); - u.getSession().add(s); + u.getSessions().add(s); s.getUtilisateurs().add(u); sDao.save(s); uDao.save(u); @@ -168,7 +171,7 @@ public class SessionController { try { Utilisateur u = uDao.findById(idU).get(); Session s = sDao.findById(id).get(); - u.getSession().remove(s); + u.getSessions().remove(s); s.getUtilisateurs().remove(u); sDao.save(s); uDao.save(u); diff --git a/src/main/java/sample/data/jpa/web/UtilisateurController.java b/src/main/java/sample/data/jpa/web/UtilisateurController.java index 081b89b..618f20d 100644 --- a/src/main/java/sample/data/jpa/web/UtilisateurController.java +++ b/src/main/java/sample/data/jpa/web/UtilisateurController.java @@ -3,6 +3,7 @@ import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -17,6 +18,7 @@ import sample.data.jpa.metier.Utilisateur; import sample.data.jpa.service.SessionDao; import sample.data.jpa.service.UtilisateurDao; +@Controller @RequestMapping("/utilisateur") public class UtilisateurController { @@ -30,6 +32,7 @@ public class UtilisateurController { Post /utilisateur/create param : body Jsp, "name", "email", "password" Delete /utilisateur/delete/{id} Get /utilisateur/getAll + Get /utilisateur/getSessions Put /utilisateur/addSession/{idUtilisateur}/{idSession} Put /utilisateur/removeSession/{idUtilisateur}/{idSession} Put /utilisateur/update/{id} param : body Jsp, "name", "email", "oldpassword, "password" @@ -57,7 +60,7 @@ public class UtilisateurController { } - @DeleteMapping("/delete/{id}") + @DeleteMapping("/delete/{id}") @ResponseBody public String delete(@PathVariable("id") int id) { @@ -85,7 +88,22 @@ public class UtilisateurController { return res; } catch (Exception ex) { - return "Error get all session : " + ex.toString(); + return "Erreur pendant la récupération des utilisateurs : " + ex.toString(); + } + } + + @GetMapping("/getSessions/{id}") + @ResponseBody + public String getSessions(@PathVariable("id") int id){ + try { + Utilisateur u = uDao.findById(id).get(); + String res = ""; + for(Session s : u.getSessions()){ + res += "id : "+ s.getId() + " , theme : " + s.getTheme() + "\n"; + } + return res; + } catch (Exception ex) { + return "Erreur pendant la récupération les sessions de l'utilisateur : " + ex.toString(); } } @@ -95,7 +113,7 @@ public class UtilisateurController { try { Utilisateur u = uDao.findById(id).get(); Session s = sDao.findById(sId).get(); - u.getSession().add(s); + u.getSessions().add(s); s.getUtilisateurs().add(u); sDao.save(s); uDao.save(u); @@ -112,7 +130,7 @@ public class UtilisateurController { try { Utilisateur u = uDao.findById(id).get(); Session s = sDao.findById(sId).get(); - u.getSession().remove(s); + u.getSessions().remove(s); s.getUtilisateurs().remove(u); sDao.save(s); uDao.save(u);