From 58470b6e46e46f053fa3f8d1802f100d1b871309 Mon Sep 17 00:00:00 2001 From: tuanvu Date: Mon, 29 Sep 2025 19:10:48 +0200 Subject: [PATCH] DTO --- pom.xml | 204 ++++++++++---------- src/main/java/DTO/QuestionDTO.java | 13 ++ src/main/java/DTO/QuizzDTO.java | 12 ++ src/main/java/DTO/ReponseDTO.java | 10 + src/main/java/DTO/SessionDTO.java | 10 + src/main/java/DTO/UtilisateurDTO.java | 13 ++ src/main/java/Mapper/QuestionMapper.java | 12 ++ src/main/java/Mapper/QuizzMapper.java | 12 ++ src/main/java/Mapper/ReponseMapper.java | 12 ++ src/main/java/Mapper/SessionMapper.java | 13 ++ src/main/java/Mapper/UtilisateurMapper.java | 19 ++ src/main/java/metier/Utilisateur.java | 1 - src/main/java/servlet/Show.java | 54 +++--- src/main/java/servlet/UserInfo.java | 2 + 14 files changed, 261 insertions(+), 126 deletions(-) create mode 100644 src/main/java/DTO/QuestionDTO.java create mode 100644 src/main/java/DTO/QuizzDTO.java create mode 100644 src/main/java/DTO/ReponseDTO.java create mode 100644 src/main/java/DTO/SessionDTO.java create mode 100644 src/main/java/DTO/UtilisateurDTO.java create mode 100644 src/main/java/Mapper/QuestionMapper.java create mode 100644 src/main/java/Mapper/QuizzMapper.java create mode 100644 src/main/java/Mapper/ReponseMapper.java create mode 100644 src/main/java/Mapper/SessionMapper.java create mode 100644 src/main/java/Mapper/UtilisateurMapper.java diff --git a/pom.xml b/pom.xml index 8c3d555..54e5cc0 100644 --- a/pom.xml +++ b/pom.xml @@ -1,102 +1,102 @@ - - - 4.0.0 - test - war - testjpa - 0.0.1-SNAPSHOT - - - 11 - 11 - 1.6.3 - - - - - org.mapstruct - mapstruct - ${org.mapstruct.version} - - - org.hibernate - hibernate-core - 6.2.7.Final - - - jakarta.servlet - jakarta.servlet-api - 5.0.0 - provided - - - org.slf4j - slf4j-log4j12 - 1.7.30 - - - org.hsqldb - hsqldb - 2.7.2 - - - com.mysql - mysql-connector-j - 8.1.0 - - - org.projectlombok - lombok - 1.18.42 - provided - - - - - - - - org.eclipse.jetty - jetty-maven-plugin - 11.0.16 - - - / - - - 8080 - - - - - org.apache.maven.plugins - maven-war-plugin - 3.4.0 - - - org.apache.maven.plugins - maven-compiler-plugin - 3.11.0 - - 11 - 11 - - - org.mapstruct - mapstruct-processor - ${org.mapstruct.version} - - - org.projectlombok - lombok - 1.18.42 - - - - - - - - + + + 4.0.0 + test + war + testjpa + 0.0.1-SNAPSHOT + + + 11 + 11 + 1.6.3 + + + + + org.mapstruct + mapstruct + 1.6.3 + + + org.hibernate + hibernate-core + 6.2.7.Final + + + jakarta.servlet + jakarta.servlet-api + 5.0.0 + provided + + + org.slf4j + slf4j-log4j12 + 1.7.30 + + + org.hsqldb + hsqldb + 2.7.2 + + + com.mysql + mysql-connector-j + 8.1.0 + + + org.projectlombok + lombok + 1.18.42 + provided + + + + + + + + org.eclipse.jetty + jetty-maven-plugin + 11.0.16 + + + / + + + 8080 + + + + + org.apache.maven.plugins + maven-war-plugin + 3.4.0 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + 11 + 11 + + + org.projectlombok + lombok + 1.18.42 + + + org.mapstruct + mapstruct-processor + 1.6.3 + + + + + + + + diff --git a/src/main/java/DTO/QuestionDTO.java b/src/main/java/DTO/QuestionDTO.java new file mode 100644 index 0000000..85f1b18 --- /dev/null +++ b/src/main/java/DTO/QuestionDTO.java @@ -0,0 +1,13 @@ +package DTO; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +public class QuestionDTO { + private int id; + private String question; + private String reponse; + +} diff --git a/src/main/java/DTO/QuizzDTO.java b/src/main/java/DTO/QuizzDTO.java new file mode 100644 index 0000000..84859c5 --- /dev/null +++ b/src/main/java/DTO/QuizzDTO.java @@ -0,0 +1,12 @@ +package DTO; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data + +public class QuizzDTO { + private int id; + +} diff --git a/src/main/java/DTO/ReponseDTO.java b/src/main/java/DTO/ReponseDTO.java new file mode 100644 index 0000000..c4e78be --- /dev/null +++ b/src/main/java/DTO/ReponseDTO.java @@ -0,0 +1,10 @@ +package DTO; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data + +public class ReponseDTO { +} diff --git a/src/main/java/DTO/SessionDTO.java b/src/main/java/DTO/SessionDTO.java new file mode 100644 index 0000000..1947e1b --- /dev/null +++ b/src/main/java/DTO/SessionDTO.java @@ -0,0 +1,10 @@ +package DTO; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data + +public class SessionDTO { +} diff --git a/src/main/java/DTO/UtilisateurDTO.java b/src/main/java/DTO/UtilisateurDTO.java new file mode 100644 index 0000000..d4c8eeb --- /dev/null +++ b/src/main/java/DTO/UtilisateurDTO.java @@ -0,0 +1,13 @@ +package DTO; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data + +public class UtilisateurDTO { + private int id; + private String name; + private String email; +} diff --git a/src/main/java/Mapper/QuestionMapper.java b/src/main/java/Mapper/QuestionMapper.java new file mode 100644 index 0000000..98cc3ac --- /dev/null +++ b/src/main/java/Mapper/QuestionMapper.java @@ -0,0 +1,12 @@ +package Mapper; + +import DTO.QuestionDTO; +import metier.Question; +import org.mapstruct.factory.Mappers; + +public interface QuestionMapper { + QuestionMapper INSTANCE = Mappers.getMapper( QuestionMapper.class ); + + QuestionDTO toDTO(Question question); + Question toEntity(QuestionDTO questionDTO); +} diff --git a/src/main/java/Mapper/QuizzMapper.java b/src/main/java/Mapper/QuizzMapper.java new file mode 100644 index 0000000..44fd288 --- /dev/null +++ b/src/main/java/Mapper/QuizzMapper.java @@ -0,0 +1,12 @@ +package Mapper; + +import DTO.QuizzDTO; +import metier.Quizz; +import org.mapstruct.factory.Mappers; + +public interface QuizzMapper { + QuizzMapper INSTANCE = Mappers.getMapper( QuizzMapper.class ); + + QuizzDTO toDTO(Quizz quizz); + Quizz toEntity(QuizzDTO quizzDTO); +} diff --git a/src/main/java/Mapper/ReponseMapper.java b/src/main/java/Mapper/ReponseMapper.java new file mode 100644 index 0000000..d89cedc --- /dev/null +++ b/src/main/java/Mapper/ReponseMapper.java @@ -0,0 +1,12 @@ +package Mapper; + +import DTO.ReponseDTO; +import metier.Reponse; +import org.mapstruct.factory.Mappers; + +public interface ReponseMapper { + ReponseMapper INSTANCE = Mappers.getMapper( ReponseMapper.class ); + + Reponse toEntity(ReponseDTO reponseDTO); + ReponseDTO toDTO(Reponse reponse); +} diff --git a/src/main/java/Mapper/SessionMapper.java b/src/main/java/Mapper/SessionMapper.java new file mode 100644 index 0000000..29cdeb8 --- /dev/null +++ b/src/main/java/Mapper/SessionMapper.java @@ -0,0 +1,13 @@ +package Mapper; + +import DTO.SessionDTO; +import metier.Session; +import metier.Utilisateur; +import org.mapstruct.factory.Mappers; + +public interface SessionMapper { + SessionMapper INSTANCE = Mappers.getMapper( SessionMapper.class ); + + SessionDTO toDTO(Utilisateur utilisateur); + Session toEntity(SessionDTO sessionDTO); +} diff --git a/src/main/java/Mapper/UtilisateurMapper.java b/src/main/java/Mapper/UtilisateurMapper.java new file mode 100644 index 0000000..bc76185 --- /dev/null +++ b/src/main/java/Mapper/UtilisateurMapper.java @@ -0,0 +1,19 @@ +package Mapper; + +import DTO.UtilisateurDTO; +import metier.Utilisateur; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +@Mapper +public interface UtilisateurMapper { + UtilisateurMapper INSTANCE = Mappers.getMapper(UtilisateurMapper.class); + + UtilisateurDTO toDTO(Utilisateur utilisateur); + Utilisateur toEntity(UtilisateurDTO dto); + + List toDTOs(List utilisateurs); + List toEntitys(List dtos); +} diff --git a/src/main/java/metier/Utilisateur.java b/src/main/java/metier/Utilisateur.java index 35b35b1..243d9ce 100644 --- a/src/main/java/metier/Utilisateur.java +++ b/src/main/java/metier/Utilisateur.java @@ -30,5 +30,4 @@ public class Utilisateur implements Serializable { @OneToMany(mappedBy = "utilisateur") private List quizzs; - } \ No newline at end of file diff --git a/src/main/java/servlet/Show.java b/src/main/java/servlet/Show.java index 210a985..15f6ee2 100644 --- a/src/main/java/servlet/Show.java +++ b/src/main/java/servlet/Show.java @@ -4,50 +4,58 @@ import java.io.IOException; import java.util.List; import DAO.*; +import DTO.UtilisateurDTO; +import Mapper.UtilisateurMapper; import metier.*; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; +import org.mapstruct.factory.Mappers; -@WebServlet(name="Show", urlPatterns={"/Show"}) -public class Show extends HttpServlet { +@WebServlet(name = "Show", urlPatterns = {"/Show"}) +public class Show extends HttpServlet { + Utilisateur u; QuizzDAO quizzDAO = new QuizzDAO(); SessionDAO sessionDAO = new SessionDAO(); UtilisateurDAO utilisateurDAO = new UtilisateurDAO(); + UtilisateurMapper mapper_u = Mappers.getMapper(UtilisateurMapper.class); + @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); - String result = ""+ - ""+ - ""+ - ""+ - ""+ + String result = "" + + "" + + "" + + "" + + "" + ""; //UTILISATEUR List listUser = utilisateurDAO.findAll(); - - result += "

Utilisateurs :

"; + + result += "

Utilisateurs :

"; result += - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""; + "
IDNommail
" + + "" + + "" + + "" + + "" + + "" + + ""; for (Utilisateur u : listUser) { - result+= - ""+ - ""+""+""+ - ""; + UtilisateurDTO dto = mapper_u.toDTO(u); + result += + "" + + "" + "" + + ""; + System.out.println(u.getName()+dto.getEmail()); } result += ""+ @@ -67,7 +75,7 @@ public class Show extends HttpServlet { result += "choix de réponse :
"; result += question.getReponse().valHTML(); - result+= "Reponses corrects :
"; + result += "Reponses corrects :
"; for (String reponse : question.getReponse().getReponses()) { result += reponse; } @@ -87,7 +95,7 @@ public class Show extends HttpServlet { ""; for(Session session : listSession){ - result+= + result+= ""+ ""+""+""; String quizzsID = ""; @@ -101,7 +109,7 @@ public class Show extends HttpServlet { result += ""+""; result+=""; } - + result += ""+ "
Nommail
"+u.getId()+""+u.getName()+""+u.getEmail()+"
" + dto.getName() + "" + dto.getEmail() + "
"+session.getId()+""+session.getTheme()+""+session.getCodePIN()+""+quizzsID+""+UtilisateurID+"
"; diff --git a/src/main/java/servlet/UserInfo.java b/src/main/java/servlet/UserInfo.java index 79fc5ee..be1d2b1 100644 --- a/src/main/java/servlet/UserInfo.java +++ b/src/main/java/servlet/UserInfo.java @@ -4,12 +4,14 @@ import java.io.IOException; import java.io.PrintWriter; import DAO.UtilisateurDAO; +import Mapper.UtilisateurMapper; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import metier.Utilisateur; +import org.mapstruct.factory.Mappers; @WebServlet(name = "userinfo", urlPatterns = {"/UserInfo"}) public class UserInfo extends HttpServlet {