remove findbyid because super()

test quizz works for now
This commit is contained in:
Vu Tuan Minh
2025-09-26 02:11:36 +02:00
parent 4cb77f6158
commit 8abcff6dde
6 changed files with 25 additions and 31 deletions

View File

@@ -10,19 +10,18 @@ classDiagram
Reponse <|-- ReponseCourte Reponse <|-- ReponseCourte
Reponse <|-- Choix Reponse <|-- Choix
class Utilisateur { class Utilisateur {
-id : int -id : int
-name : String -name : String
-session : List<Session> -session : List <Session>
-email : String -email : String
-password : String -password : String
-quizzs : String -quizzs : String
} }
class Session{ class Session{
-codePin : int -codePin : int
-quizzs : List<Quizz> -quizzs : List <Quizz>
-utilisateurs : List<Utilisateur> -utilisateurs : List <Utilisateur>
-theme : int -theme : int
} }
class Quizz{ class Quizz{
@@ -33,15 +32,13 @@ classDiagram
class Reponse{ class Reponse{
-id : int -id : int
-question: Question -question: Question
-reponses : ArrayList<String> -reponses : ArrayList <String>
} }
class Choix{ class Choix{
-choix : ArrayList<String> -choix : ArrayList <String>
} }
class ReponseCourte{ class ReponseCourte{
-value : String -value : String
+getId()int
} }
class Question{ class Question{
-id : int -id : int

View File

@@ -20,5 +20,4 @@ public class ReponseDAO extends GenericDAOImpl<Integer, Reponse> {
t.commit(); t.commit();
return lString; return lString;
}*/ }*/
} }

View File

@@ -23,32 +23,15 @@ public class UtilisateurDAO extends GenericDAOImpl<Integer, Utilisateur>{
return u; 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) { public void addToSession(int sessionId, int userId) {
EntityTransaction t = em.getTransaction(); EntityTransaction t = em.getTransaction();
t.begin(); t.begin();
Session s = em.find(Session.class, sessionId); Session s = em.find(Session.class, sessionId);
Utilisateur u = em.find(Utilisateur.class, userId); 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) //FAUT AJOUTER OWNING SIDE ( Ici u --> s)
u.getSession().add(s); u.getSession().add(s);
//Jsp il faut birectionnelle ou pas?
s.getUtilisateurs().add(u); s.getUtilisateurs().add(u);
em.merge(u); em.merge(u);
t.commit(); t.commit();

View File

@@ -2,6 +2,7 @@ package servlet;
import java.io.IOException; import java.io.IOException;
import DAO.QuizzDAO; import DAO.QuizzDAO;
import DAO.SessionDAO;
import DAO.UtilisateurDAO; import DAO.UtilisateurDAO;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.annotation.WebServlet;
@@ -9,6 +10,7 @@ import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import metier.Quizz; import metier.Quizz;
import metier.Session;
import metier.Utilisateur; import metier.Utilisateur;
@WebServlet(name="quizz", @WebServlet(name="quizz",
@@ -27,6 +29,7 @@ public class QuizzInfo extends HttpServlet {
UtilisateurDAO uDAO = new UtilisateurDAO(); UtilisateurDAO uDAO = new UtilisateurDAO();
String email_user = req.getParameter("email_User"); String email_user = req.getParameter("email_User");
String id_User = req.getParameter("id_User"); String id_User = req.getParameter("id_User");
String id_session = req.getParameter("code_pin");
Utilisateur u_cree_quizz = null; Utilisateur u_cree_quizz = null;
@@ -43,9 +46,22 @@ public class QuizzInfo extends HttpServlet {
"</BODY></HTML>"); "</BODY></HTML>");
return ; 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("<HTML>\n<BODY>\n" +
"<H1> Session non trouvable </H1>" +
"</BODY></HTML>");
return ;
}
Quizz quizz = new Quizz(); Quizz quizz = new Quizz();
quizz.setUtilisateur(u_cree_quizz); quizz.setUtilisateur(u_cree_quizz);
quizz.setSession(s_attached);
quizzDAO.create(quizz); quizzDAO.create(quizz);
} }
} }

View File

@@ -3,8 +3,8 @@
<body> <body>
<form action="QuizzInfo" method="POST"> <form action="QuizzInfo" method="POST">
<h1>Creer des quizz</h1> <h1>Creer des quizz</h1>
Create from id : <INPUT type="number" name="id_User" size="20"><BR> Create from user id : <INPUT type="number" name="id_User" size="20"><BR>
Create from email : <INPUT type="text" name="email_User" size="20"><BR> Create from user email : <INPUT type="text" name="email_User" size="20"><BR>
Enter code pin of session: <INPUT type="number" name="code_pin" size="20"><BR> Enter code pin of session: <INPUT type="number" name="code_pin" size="20"><BR>
<INPUT type="submit" value="Creer Quizz"></INPUT> <INPUT type="submit" value="Creer Quizz"></INPUT>
</form> </form>

View File

@@ -10,6 +10,5 @@
<a href =http://localhost:8080/Quizz.html>Quizz</a> <a href =http://localhost:8080/Quizz.html>Quizz</a>
<a href =Show>show</a> <a href =Show>show</a>
</body> </body>
</html> </html>