From 5533ca2c49fbf54efd2464358cd49aa17908412f Mon Sep 17 00:00:00 2001
From: Yannis Devos <yannis.devos.etu@univ-lille.fr>
Date: Fri, 14 Feb 2025 11:00:10 +0100
Subject: [PATCH] modif connection a la bdd, ajout d'autre DAO

---
 WEB-INF/src/dao/BDConnection.java | 21 +++++++++
 WEB-INF/src/dao/ThreadDAO.java    | 71 +++++++++++++++++++++++++++++++
 WEB-INF/src/dao/UserDAO.java      | 55 +-----------------------
 WEB-INF/src/dto/Message.java      | 36 ++++++++++++++++
 WEB-INF/src/dto/MyThread.java     | 37 ++++++++++++++++
 WEB-INF/src/dto/User.java         |  1 -
 6 files changed, 167 insertions(+), 54 deletions(-)
 create mode 100644 WEB-INF/src/dao/BDConnection.java
 create mode 100644 WEB-INF/src/dao/ThreadDAO.java
 create mode 100644 WEB-INF/src/dto/Message.java
 create mode 100644 WEB-INF/src/dto/MyThread.java

diff --git a/WEB-INF/src/dao/BDConnection.java b/WEB-INF/src/dao/BDConnection.java
new file mode 100644
index 0000000..3a191cd
--- /dev/null
+++ b/WEB-INF/src/dao/BDConnection.java
@@ -0,0 +1,21 @@
+package dao;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+
+public class BDConnection {
+    private Connection connection;
+
+    public BDConnection(){
+        try{
+            Class.forName("org.postgresql.Driver");
+            this.connection = DriverManager.getConnection("jdbc:postgresql://psqlserv/but2", "yannisdevosetu", "moi");
+        } catch (Exception e) {
+            e.getStackTrace();
+        }
+    }
+
+    public Connection getConnection(){
+        return this.connection;
+    }
+}
diff --git a/WEB-INF/src/dao/ThreadDAO.java b/WEB-INF/src/dao/ThreadDAO.java
new file mode 100644
index 0000000..4356c11
--- /dev/null
+++ b/WEB-INF/src/dao/ThreadDAO.java
@@ -0,0 +1,71 @@
+package dao;
+
+import dto.User;
+
+import java.sql.*;
+
+public class ThreadDAO {
+    private Connection con;
+
+    public ThreadDAO(){
+        this.con = new BDConnection().getConnection();
+    }
+
+
+    //      WIP     //
+
+//    public String getAllUsers(){
+//        StringBuilder txt = new StringBuilder();
+//        try{
+//            Statement stmt = this.con.createStatement();
+//            ResultSet rs = stmt.executeQuery("SELECT * FROM userAccount;");
+//
+//            while(rs.next()){
+//                int userId = rs.getInt(1);
+//                String username = rs.getString(2);
+//                String pwd = rs.getString(3);
+//
+//                txt.append("Id : ").append(userId).append(" Username : ").append(username).append(" Password : ").append(pwd).append('\n');
+//            }
+//        } catch (SQLException sqle) {
+//            sqle.getStackTrace();
+//        }
+//
+//        return txt.toString();
+//    }
+//
+//    public String getUserById(int id){
+//        StringBuilder txt = new StringBuilder();
+//        try{
+//            PreparedStatement stmt = this.con.prepareStatement("SELECT * FROM userAccount WHERE id=?");
+//            stmt.setInt(1, id);
+//            ResultSet rs = stmt.executeQuery();
+//
+//            if(rs.next()){
+//                int userId = rs.getInt(1);
+//                String username = rs.getString(2);
+//                String pwd = rs.getString(3);
+//
+//                txt.append("Id : ").append(userId).append(" Username : ").append(username).append(" Password : ").append(pwd).append('\n');
+//            }
+//        } catch (SQLException sqle) {
+//            sqle.getStackTrace();
+//        }
+//
+//        return txt.toString();
+//    }
+//
+//    public void addUser(User nUser){
+//        try{
+//            PreparedStatement stmt = this.con.prepareStatement("INSERT INTO userAccount VALUES (?,?,?)");
+//            stmt.setInt(1, nUser.getID());
+//            stmt.setString(2, nUser.getUserName());
+//            stmt.setString(3, nUser.getPwd());
+//
+//            stmt.executeUpdate();
+//
+//        } catch (SQLException sqle) {
+//            sqle.getStackTrace();
+//        }
+//    }
+}
diff --git a/WEB-INF/src/dao/UserDAO.java b/WEB-INF/src/dao/UserDAO.java
index 1815ad7..879b665 100644
--- a/WEB-INF/src/dao/UserDAO.java
+++ b/WEB-INF/src/dao/UserDAO.java
@@ -9,12 +9,7 @@ public class UserDAO extends HttpServlet{
     private Connection con;
 
     public UserDAO(){
-        try{
-            Class.forName("org.postgresql.Driver");
-            this.con = DriverManager.getConnection("jdbc:postgresql://psqlserv/but2", "yannisdevosetu", "moi");
-        } catch (Exception e) {
-            e.getStackTrace();
-        }
+        this.con = new BDConnection().getConnection();
     }
 
     public String getAllUsers(){
@@ -71,50 +66,4 @@ public class UserDAO extends HttpServlet{
             sqle.getStackTrace();
         }
     }
-}
-
-
-
-
-
-//{
-//    public void service( HttpServletRequest req, HttpServletResponse res )
-//            throws ServletException, IOException
-//    {
-//        StringBuilder txt = new StringBuilder("<tr><th>nMatch</th><th>eq1</th><th>eq2</th><th>date</th><th>sc1</th><th>sc2</th></tr>");
-//
-//        try {
-//            Statement stmt = con.createStatement();
-//            ResultSet rs = stmt.executeQuery("SELECT * FROM rencontres");
-//
-//            while (rs.next()) {
-//                int nMatch = rs.getInt(1);
-//                int eq1 = rs.getInt(2);
-//                int eq2 = rs.getInt(3);
-//                String date = rs.getString(4);
-//                int sc1 = rs.getInt(5);
-//                int sc2 = rs.getInt(6);
-//
-//                txt.append("<tr><td>").append(nMatch).append("</td><td>").append(eq1)
-//                        .append("</td><td>").append(eq2)
-//                        .append("</td><td>").append(date)
-//                        .append("</td><td>").append(sc1)
-//                        .append("</td><td>").append(sc2)
-//                        .append("</td></tr>");
-//            }
-//
-//        } catch(ClassNotFoundException cnfe){
-//            System.out.println(cnfe.getMessage());
-//        }
-//
-//        res.setContentType("text/html;charset=UTF-8");
-//        PrintWriter out = res.getWriter();
-//        out.println( "<head><title>servlet first</title>" );
-//        out.print("<link href=\"css/styles.css\" rel=\"stylesheet\" />");
-//        out.println( "<META content=\"charset=UTF-8\"></head><body><center>" );
-//        out.println( "<h1>Test de ma Servlet</h1>" );
-//        out.println( "<h2>Super ! ça marche</h2>" );
-//        out.println("<table>" + txt + "</table>");
-//        out.println( "</center> </body>" );
-//    }
-//}
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/WEB-INF/src/dto/Message.java b/WEB-INF/src/dto/Message.java
new file mode 100644
index 0000000..27369de
--- /dev/null
+++ b/WEB-INF/src/dto/Message.java
@@ -0,0 +1,36 @@
+package dto;
+
+public class Message {
+    private int msgID;
+    private String content;
+
+
+    //      Constructor     //
+
+    public Message(int msgID, String content) {
+        this.msgID = msgID;
+        this.content = content;
+    }
+
+
+    //      Getter      //
+
+    public int getMsgID() {
+        return msgID;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+
+    //      Setter      //
+
+    public void setMsgID(int msgID) {
+        this.msgID = msgID;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+}
diff --git a/WEB-INF/src/dto/MyThread.java b/WEB-INF/src/dto/MyThread.java
new file mode 100644
index 0000000..ad18699
--- /dev/null
+++ b/WEB-INF/src/dto/MyThread.java
@@ -0,0 +1,37 @@
+package dto;
+
+public class MyThread {
+    private int threadID;
+    private String threadName;
+
+
+    //      Constructor     //
+
+    public MyThread(int id, String name){
+        this.threadID = id;
+        this.threadName = name;
+    }
+
+
+    //      Getter      //
+
+    public int getThreadID() {
+        return threadID;
+    }
+
+    public String getThreadName() {
+        return threadName;
+    }
+
+
+    //      Setter      //
+
+
+    public void setThreadID(int threadID) {
+        this.threadID = threadID;
+    }
+
+    public void setThreadName(String threadName) {
+        this.threadName = threadName;
+    }
+}
diff --git a/WEB-INF/src/dto/User.java b/WEB-INF/src/dto/User.java
index 3642e93..da5dd8a 100644
--- a/WEB-INF/src/dto/User.java
+++ b/WEB-INF/src/dto/User.java
@@ -6,7 +6,6 @@ public class User {
     private String pwd;
 
 
-
     //      Constructor     //
 
     public User(int id, String username, String pwd){
-- 
GitLab