From 8abcff6ddef4824cd3649cdc71e4a5bbed982cd8 Mon Sep 17 00:00:00 2001 From: Vu Tuan Minh Date: Fri, 26 Sep 2025 02:11:36 +0200 Subject: [PATCH] remove findbyid because super() test quizz works for now --- README.md | 13 +++++-------- src/main/java/DAO/ReponseDAO.java | 1 - src/main/java/DAO/UtilisateurDAO.java | 19 +------------------ src/main/java/servlet/QuizzInfo.java | 18 +++++++++++++++++- src/main/webapp/Quizz.html | 4 ++-- src/main/webapp/index.html | 1 - 6 files changed, 25 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index b349a7e..3d0926c 100644 --- a/README.md +++ b/README.md @@ -10,19 +10,18 @@ classDiagram Reponse <|-- ReponseCourte Reponse <|-- Choix - class Utilisateur { -id : int -name : String - -session : List + -session : List -email : String -password : String -quizzs : String } class Session{ -codePin : int - -quizzs : List - -utilisateurs : List + -quizzs : List + -utilisateurs : List -theme : int } class Quizz{ @@ -33,15 +32,13 @@ classDiagram class Reponse{ -id : int -question: Question - -reponses : ArrayList + -reponses : ArrayList } class Choix{ - -choix : ArrayList + -choix : ArrayList } class ReponseCourte{ -value : String - +getId()int - } class Question{ -id : int diff --git a/src/main/java/DAO/ReponseDAO.java b/src/main/java/DAO/ReponseDAO.java index 4a5e4e0..60fa044 100644 --- a/src/main/java/DAO/ReponseDAO.java +++ b/src/main/java/DAO/ReponseDAO.java @@ -20,5 +20,4 @@ public class ReponseDAO extends GenericDAOImpl { t.commit(); return lString; }*/ - } diff --git a/src/main/java/DAO/UtilisateurDAO.java b/src/main/java/DAO/UtilisateurDAO.java index e1cc355..b8c8cba 100644 --- a/src/main/java/DAO/UtilisateurDAO.java +++ b/src/main/java/DAO/UtilisateurDAO.java @@ -23,32 +23,15 @@ public class UtilisateurDAO extends GenericDAOImpl{ return u; } - public Utilisateur findById(Integer id){ - EntityTransaction t=em.getTransaction(); - t.begin(); - Query query=em.createQuery("select u from Utilisateur u where u.id=:id"); - query.setParameter("id",id); - Utilisateur u=(Utilisateur)query.getSingleResult(); - t.commit(); - return u; - } - public void addToSession(int sessionId, int userId) { EntityTransaction t = em.getTransaction(); t.begin(); Session s = em.find(Session.class, sessionId); Utilisateur u = em.find(Utilisateur.class, userId); - //ERROR NULLPOINTEREXCEPTION - if (u.getSession() == null) { - u.setSession(new ArrayList<>()); - } - if (s.getUtilisateurs() == null) { - s.setUtilisateurs(new ArrayList<>()); - } - //FAUT AJOUTER OWNING SIDE ( Ici u --> s) u.getSession().add(s); + //Jsp il faut birectionnelle ou pas? s.getUtilisateurs().add(u); em.merge(u); t.commit(); diff --git a/src/main/java/servlet/QuizzInfo.java b/src/main/java/servlet/QuizzInfo.java index ca45606..512b2dd 100644 --- a/src/main/java/servlet/QuizzInfo.java +++ b/src/main/java/servlet/QuizzInfo.java @@ -2,6 +2,7 @@ package servlet; import java.io.IOException; import DAO.QuizzDAO; +import DAO.SessionDAO; import DAO.UtilisateurDAO; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; @@ -9,6 +10,7 @@ import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import metier.Quizz; +import metier.Session; import metier.Utilisateur; @WebServlet(name="quizz", @@ -27,6 +29,7 @@ public class QuizzInfo extends HttpServlet { UtilisateurDAO uDAO = new UtilisateurDAO(); String email_user = req.getParameter("email_User"); String id_User = req.getParameter("id_User"); + String id_session = req.getParameter("code_pin"); Utilisateur u_cree_quizz = null; @@ -43,9 +46,22 @@ public class QuizzInfo extends HttpServlet { ""); return ; } - //TODO SESSION + + //Session + SessionDAO sDAO = new SessionDAO(); + Session s_attached = null; + s_attached=sDAO.findById(Integer.parseInt(id_session)); + + if(s_attached==null){ + resp.getWriter().println("\n\n" + + "

Session non trouvable

" + + ""); + return ; + } + Quizz quizz = new Quizz(); quizz.setUtilisateur(u_cree_quizz); + quizz.setSession(s_attached); quizzDAO.create(quizz); } } diff --git a/src/main/webapp/Quizz.html b/src/main/webapp/Quizz.html index d7bfa5f..a4f5568 100644 --- a/src/main/webapp/Quizz.html +++ b/src/main/webapp/Quizz.html @@ -3,8 +3,8 @@

Creer des quizz

- Create from id :
- Create from email :
+ Create from user id :
+ Create from user email :
Enter code pin of session:
diff --git a/src/main/webapp/index.html b/src/main/webapp/index.html index 4bd5ff8..7a53f09 100644 --- a/src/main/webapp/index.html +++ b/src/main/webapp/index.html @@ -10,6 +10,5 @@ Quizz show - \ No newline at end of file