From 5a9481f92c844c3158fa83f4e4ab54a230bec89c Mon Sep 17 00:00:00 2001 From: trochas Date: Wed, 8 Oct 2025 10:52:43 +0200 Subject: [PATCH] controller Question fini --- .../sample/data/jpa/service/QuestionDao.java | 9 --- .../data/jpa/web/QuestionController.java | 62 +++++++++++-------- 2 files changed, 37 insertions(+), 34 deletions(-) diff --git a/src/main/java/sample/data/jpa/service/QuestionDao.java b/src/main/java/sample/data/jpa/service/QuestionDao.java index 3bdfa8d..74d02ad 100644 --- a/src/main/java/sample/data/jpa/service/QuestionDao.java +++ b/src/main/java/sample/data/jpa/service/QuestionDao.java @@ -8,14 +8,5 @@ import sample.data.jpa.metier.Question; @Transactional public interface QuestionDao extends JpaRepository { - //public Question findById(int id); - - public void deleteReponse(int id); - - public void setChoix(int id); - - public void setReponseCourte(int id); - - public void addChoix(int id, String choix); } diff --git a/src/main/java/sample/data/jpa/web/QuestionController.java b/src/main/java/sample/data/jpa/web/QuestionController.java index 8096284..e8a3f75 100644 --- a/src/main/java/sample/data/jpa/web/QuestionController.java +++ b/src/main/java/sample/data/jpa/web/QuestionController.java @@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.ResponseBody; import sample.data.jpa.metier.Choix; import sample.data.jpa.metier.Question; -import sample.data.jpa.metier.Reponse; +import sample.data.jpa.metier.ReponseCourte; import sample.data.jpa.service.QuestionDao; @@ -17,7 +17,8 @@ import sample.data.jpa.service.QuestionDao; @Controller public class QuestionController { @Autowired - private QuestionDao qDao; + private QuestionDao qDao; + @RequestMapping("/create") @ResponseBody @@ -36,7 +37,7 @@ public class QuestionController { @RequestMapping("/update") @ResponseBody - public String updateUser(long id, String newQ) { + public String updateQuestion(int id, String newQ) { try { Question q = qDao.findById(id).get(); q.setQuestion(newQ); @@ -48,19 +49,6 @@ public class QuestionController { return "Question succesfully updated!"; } - @RequestMapping("/changeQuestion") - @ResponseBody - public String changeQuestion(int id, String newQuestion) { - try { - Question question = qDao.findById(id).get(); - question.setQuestion(newQuestion); - qDao.save(question); - return "Question mise à jour : " + newQuestion; - } catch (Exception ex) { - return "Erreur lors de la mise à jour de la question : " + ex.toString(); - } - } - @RequestMapping("/getReponse") @ResponseBody public String getReponse(int id) { @@ -88,18 +76,21 @@ public class QuestionController { public String addReponse(int id, String reponse) { try { Question question = qDao.findById(id).get(); - qDao.addReponse(reponse, id); + question.getReponse().getReponses().add(reponse); + qDao.save(question); return "Réponse correcte \"" + reponse + "\" ajoutée à la question " + id; } catch (Exception ex) { return "Erreur lors de l'ajout de la réponse : " + ex.toString(); } } - @RequestMapping("/deleteReponses") + @RequestMapping("/deleteReponse") @ResponseBody - public String deleteReponses(int id) { + public String deleteReponses(int id, String reponse) { try { - qDao.deleteReponse(id); + Question question = qDao.findById(id).get(); + question.getReponse().getReponses().remove(reponse); + qDao.save(question); return "Réponses supprimées de la question " + id; } catch (Exception ex) { return "Erreur lors de la suppression des réponses : " + ex.toString(); @@ -110,7 +101,9 @@ public class QuestionController { @ResponseBody public String setReponseChoix(int id) { try { - qDao.setChoix(id); + Question question = qDao.findById(id).get(); + question.setReponse(new Choix()); + qDao.save(question); return "Réponses à choix multiple mises sur la question " + id; } catch (Exception ex) { return "Erreur lors de la mise en place du type 'choix' : " + ex.toString(); @@ -121,26 +114,45 @@ public class QuestionController { @ResponseBody public String setReponseCourte(int id) { try { - qDao.setReponseCourte(id); + Question question = qDao.findById(id).get(); + question.setReponse(new ReponseCourte()); + qDao.save(question); return "Réponses courtes mises sur la question " + id; } catch (Exception ex) { return "Erreur lors de la mise en place du type 'réponse courte' : " + ex.toString(); } } - @RequestMapping("/addChoix") + @RequestMapping("/updateChoix") @ResponseBody public String addChoix(int id, String choix) { try { Question question = qDao.findById(id).get(); if (question.getReponse() instanceof Choix) { - return "Erreur : la réponse est déjà un choix multiple."; + ((Choix) question.getReponse()).getChoix().add(choix); + qDao.save(question); } - qDao.addChoix(id, choix); + else return "Erreur : la réponse doit être a choix multiple."; + + return "Choix \"" + choix + "\" ajouté à la question " + id; } catch (Exception ex) { return "Erreur lors de l'ajout du choix : " + ex.toString(); } } + @RequestMapping("/delete") + @ResponseBody + public String delete(int id) { + + try { + Question q = qDao.findById(id).get(); + qDao.delete(q); + } + catch (Exception ex) { + return "Error deleting the question " + id + " :" + ex.toString(); + } + return "Question " + id + " succesfully deleted!"; + } + } \ No newline at end of file