correction métier (liaison incorrecte par rapport au graph), graph incomplet, correction ambiguïté de certain nom de variable des classes métier

This commit is contained in:
Rochas
2025-10-23 11:48:24 +02:00
parent c3167e43a0
commit 7ec2fd3fe0
11 changed files with 29 additions and 28 deletions

View File

@@ -13,10 +13,10 @@ classDiagram
class Utilisateur { class Utilisateur {
-id : int -id : int
-name : String -name : String
-session : List<Session> -sessions : List<Session>
-email : String -email : String
-password : String -password : String
-quizzs : String -quizzs : List<Quizz>
} }
class Session{ class Session{
-id : int -id : int
@@ -26,9 +26,10 @@ classDiagram
-theme : String -theme : String
} }
class Quizz{ class Quizz{
-session: Session -sessions: List<Session>
-id : int -id : int
-utilisateur: Utilisateur -createur : Utilisateur
-quizz : Quizz
} }
class Reponse{ class Reponse{
-id : int -id : int
@@ -39,11 +40,11 @@ classDiagram
-choix : ArrayList<String> -choix : ArrayList<String>
} }
class ReponseCourte{ class ReponseCourte{
-value : String
} }
class Question{ class Question{
-id : int -id : int
-reponse: Reponse -enonce : String
-reponse : Reponse
} }
``` ```

View File

@@ -34,7 +34,7 @@ public class SessionDAO extends AbstractJpaDao<Integer, Session> {
EntityTransaction t = em.getTransaction(); EntityTransaction t = em.getTransaction();
t.begin(); t.begin();
q.setSession(s); q.getSessions().add(s);
s.getQuizzs().add(q); s.getQuizzs().add(q);
em.merge(s); em.merge(s);
t.commit(); t.commit();

View File

@@ -28,7 +28,7 @@ public class UtilisateurDAO extends AbstractJpaDao<Integer, Utilisateur> {
Utilisateur u = em.find(Utilisateur.class, userId); Utilisateur u = em.find(Utilisateur.class, userId);
//FAUT AJOUTER OWNING SIDE ( Ici u --> s) //FAUT AJOUTER OWNING SIDE ( Ici u --> s)
u.getSession().add(s); u.getSessions().add(s);
//Jsp il faut birectionnelle ou pas? //Jsp il faut birectionnelle ou pas?
s.getUtilisateurs().add(u); s.getUtilisateurs().add(u);
em.merge(u); em.merge(u);

View File

@@ -117,12 +117,12 @@ public class JpaTest {
cqSess.select(sessRoot).where(cb.equal(sessRoot.get("id"), sessionId)); cqSess.select(sessRoot).where(cb.equal(sessRoot.get("id"), sessionId));
Session s1 = manager.createQuery(cqSess).getSingleResult(); Session s1 = manager.createQuery(cqSess).getSingleResult();
List<Session> ls= u1.getSession(); List<Session> ls= u1.getSessions();
ls.add(s1); ls.add(s1);
u1.setSession(ls); u1.setSessions(ls);
Quizz quizz1 = new Quizz(); Quizz quizz1 = new Quizz();
quizz1.setUtilisateur(u1); quizz1.setCreateur(u1);
quizz1.setSession(s1); quizz1.getSessions().add(s1);
manager.persist(quizz1); manager.persist(quizz1);
manager.merge(u1); manager.merge(u1);
@@ -143,8 +143,8 @@ public class JpaTest {
List<Quizz> quizzs = manager.createQuery(cq).getResultList(); List<Quizz> quizzs = manager.createQuery(cq).getResultList();
for (Quizz q : quizzs) { for (Quizz q : quizzs) {
System.out.println("Quizz ID: " + q.getId() + ", User: " + q.getUtilisateur().getName() + System.out.println("Quizz ID: " + q.getId() + ", User: " + q.getCreateur().getName() +
", Session ID: " + q.getSession().getId()); ", nb session: " + q.getSessions().size());
} }
} }
} }

View File

@@ -15,7 +15,7 @@ public class Question implements Serializable {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private int id; private int id;
private String question; private String enonce;
@OneToOne(cascade = CascadeType.ALL) @OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name ="bonne_reponse", referencedColumnName = "id") @JoinColumn(name ="bonne_reponse", referencedColumnName = "id")

View File

@@ -18,12 +18,12 @@ public class Quizz implements Serializable {
@GeneratedValue @GeneratedValue
private int id; private int id;
@ManyToOne @ManyToMany
private Session session; private List<Session> sessions = new ArrayList<Session>();
@ManyToOne @ManyToOne
@JoinColumn(name="id_utilisateur") @JoinColumn(name="id_utilisateur")
private Utilisateur utilisateur; private Utilisateur createur;
@OneToMany(mappedBy = "quizz", cascade = CascadeType.ALL, orphanRemoval = true) @OneToMany(mappedBy = "quizz", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Question> questions=new ArrayList<Question>(); private List<Question> questions=new ArrayList<Question>();

View File

@@ -21,10 +21,10 @@ public class Session implements Serializable {
@Column(unique=true) @Column(unique=true)
private int codePIN; private int codePIN;
@OneToMany(mappedBy="session") @ManyToMany(mappedBy="sessions")
private List<Quizz> quizzs = new ArrayList<>(); private List<Quizz> quizzs = new ArrayList<>();
@ManyToMany(mappedBy = "session") @ManyToMany(mappedBy = "sessions")
private List<Utilisateur> utilisateurs = new ArrayList<>(); private List<Utilisateur> utilisateurs = new ArrayList<>();
private String theme; private String theme;
} }

View File

@@ -26,8 +26,8 @@ public class Utilisateur implements Serializable {
joinColumns = @JoinColumn(name="utilisateur_id"), joinColumns = @JoinColumn(name="utilisateur_id"),
inverseJoinColumns = @JoinColumn(name = "session_id") inverseJoinColumns = @JoinColumn(name = "session_id")
) )
private List<Session> session= new ArrayList<>();; private List<Session> sessions= new ArrayList<>();;
@OneToMany(mappedBy = "utilisateur") @OneToMany(mappedBy = "createur")
private List<Quizz> quizzs; private List<Quizz> quizzs;
} }

View File

@@ -42,7 +42,7 @@ public class QuestionInfo extends HttpServlet {
return ; return ;
} }
Question question = new Question(); Question question = new Question();
question.setQuestion(ennonce); question.setEnonce(ennonce);
List<String> listRep = Arrays.asList(reponse.split("\n")); List<String> listRep = Arrays.asList(reponse.split("\n"));
@@ -82,7 +82,7 @@ public class QuestionInfo extends HttpServlet {
resp.getWriter().println( resp.getWriter().println(
"<HTML>\n<BODY>\n" + "<HTML>\n<BODY>\n" +
"<H1> Question \"" + question.getQuestion() + "\" creee </H1>" + "<H1> Question \"" + question.getEnonce() + "\" creee </H1>" +
"</BODY></HTML>" "</BODY></HTML>"
); );
return ; return ;

View File

@@ -46,7 +46,7 @@ public class QuizzInfo extends HttpServlet {
return ; return ;
} }
Quizz quizz = new Quizz(); Quizz quizz = new Quizz();
quizz.setUtilisateur(u_cree_quizz); quizz.setCreateur(u_cree_quizz);
//quizz.setSession(s_attached); //quizz.setSession(s_attached);
quizzDAO.create(quizz); quizzDAO.create(quizz);

View File

@@ -72,13 +72,13 @@ public class Show extends HttpServlet {
result += "<div class=\"quizz\">"; result += "<div class=\"quizz\">";
result += "quizz n°" + quizz.getId() + "<br/>"; result += "quizz n°" + quizz.getId() + "<br/>";
result += "<div class=\"tabulation\">"; result += "<div class=\"tabulation\">";
result += "Admin" + quizz.getUtilisateur().getEmail() + " (id: " + quizz.getUtilisateur().getId() + ") <br/>"; result += "Createur : " + quizz.getCreateur().getEmail() + " (id: " + quizz.getCreateur().getId() + ") <br/>";
result += "nb Question :" + quizz.getQuestions().size() +"<br/>"; result += "nb Question : " + quizz.getQuestions().size() +"<br/>";
for (Question question : quizz.getQuestions()) { for (Question question : quizz.getQuestions()) {
result += "<div class=\"question\">"; result += "<div class=\"question\">";
result += "Q" + question.getId() + " Ennoncé : "+ question.getQuestion() + "<br/>"; result += "Q" + question.getId() + " Ennoncé : "+ question.getEnonce() + "<br/>";
result += "<b>Choix de réponse : </b><br/>"; result += "<b>Choix de réponse : </b><br/>";