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

View File

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

View File

@@ -23,32 +23,15 @@ public class UtilisateurDAO extends GenericDAOImpl<Integer, Utilisateur>{
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();

View File

@@ -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 {
"</BODY></HTML>");
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.setUtilisateur(u_cree_quizz);
quizz.setSession(s_attached);
quizzDAO.create(quizz);
}
}

View File

@@ -3,8 +3,8 @@
<body>
<form action="QuizzInfo" method="POST">
<h1>Creer des quizz</h1>
Create from 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 id : <INPUT type="number" name="id_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>
<INPUT type="submit" value="Creer Quizz"></INPUT>
</form>

View File

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