Skip to content
Snippets Groups Projects
Commit 4e71a942 authored by Alexandre Dehaine's avatar Alexandre Dehaine
Browse files

progress

parent 77364eb6
Branches
No related tags found
No related merge requests found
No preview for this file type
File added
File added
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
...@@ -6,6 +6,7 @@ public interface ConversationDao { ...@@ -6,6 +6,7 @@ public interface ConversationDao {
Conversation findById(int idConv); Conversation findById(int idConv);
List<Message> findAllMessages(int idConv); List<Message> findAllMessages(int idConv);
List<Utilisateur> findAllUtilisateurs(int idConv); List<Utilisateur> findAllUtilisateurs(int idConv);
List<Conversation> findByUser(String email);
boolean createConversation(String nomConv, Utilisateur createur); boolean createConversation(String nomConv, Utilisateur createur);
boolean deleteConversation(int idConv); boolean deleteConversation(int idConv);
} }
...@@ -6,7 +6,6 @@ import java.sql.ResultSet; ...@@ -6,7 +6,6 @@ import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Statement; import java.sql.Statement;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -16,7 +15,7 @@ public class ConversationJdbcDao implements ConversationDao{ ...@@ -16,7 +15,7 @@ public class ConversationJdbcDao implements ConversationDao{
@Override @Override
public Conversation findById(int idConv) { public Conversation findById(int idConv) {
try (Connection con = getCon(); Statement stmt = con.createStatement()) { try (Connection con = getCon(); Statement stmt = con.createStatement()) {
String sql = "SELECT * FROM Conversation WHERE idConv = "+ idConv +";"; String sql = "SELECT * FROM Conversations WHERE idConv = "+ idConv +";";
System.err.println(sql); System.err.println(sql);
ResultSet rs = stmt.executeQuery(sql); ResultSet rs = stmt.executeQuery(sql);
rs.next(); rs.next();
...@@ -31,15 +30,35 @@ public class ConversationJdbcDao implements ConversationDao{ ...@@ -31,15 +30,35 @@ public class ConversationJdbcDao implements ConversationDao{
return new Conversation(0, "err", new Utilisateur("err","err" , "err"),LocalDate.now()); return new Conversation(0, "err", new Utilisateur("err","err" , "err"),LocalDate.now());
} }
@Override
public List<Conversation> findByUser(String email) {
try (Connection con = getCon(); Statement stmt = con.createStatement()) {
String sql = "SELECT DISTINCT idConv FROM Messages WHERE utilisateur = '"+ email +"';";
System.err.println(sql);
ResultSet rs = stmt.executeQuery(sql);
List<Conversation> list = new ArrayList<Conversation>();
while(rs.next()){
list.add(findById(rs.getInt(1)));
}
rs.close();
con.close();
return list;
}catch (SQLException e) {
System.out.println("Erreur lors de l'accès à la base de données : " + e.getMessage());
e.printStackTrace();
}
return new ArrayList<Conversation>();
}
@Override @Override
public List<Message> findAllMessages(int idConv) { public List<Message> findAllMessages(int idConv) {
try (Connection con = getCon(); Statement stmt = con.createStatement()) { try (Connection con = getCon(); Statement stmt = con.createStatement()) {
String sql = "SELECT * FROM Message WHERE idConv = "+idConv+";"; String sql = "SELECT * FROM Messages WHERE idConv = "+idConv+";";
System.err.println(sql); System.err.println(sql);
ResultSet rs = stmt.executeQuery(sql); ResultSet rs = stmt.executeQuery(sql);
List<Message> list = new ArrayList<Message>(); List<Message> list = new ArrayList<Message>();
while(rs.next()){ while(rs.next()){
list.add(new Message(rs.getInt(1), rs.getInt(2), jdbcUser.findByEmail(rs.getString(3)), rs.getDate(4).toLocalDate() , rs.getTime(5).toLocalTime(), rs.getString(6))); list.add(new Message(rs.getInt(1), rs.getInt(2), rs.getDate(3).toLocalDate(), rs.getTime(4).toLocalTime(), rs.getString(5), jdbcUser.findByEmail(rs.getString(6))));
} }
rs.close(); rs.close();
con.close(); con.close();
......
...@@ -10,7 +10,7 @@ public class Message { ...@@ -10,7 +10,7 @@ public class Message {
LocalDate jour; LocalDate jour;
LocalTime heure; LocalTime heure;
String message; String message;
public Message(int idMessage, int idConv, Utilisateur utilisateur, LocalDate jour, LocalTime heure, String message) { public Message(int idMessage, int idConv, LocalDate jour, LocalTime heure, String message, Utilisateur utilisateur) {
this.idMessage = idMessage; this.idMessage = idMessage;
this.idConv = idConv; this.idConv = idConv;
this.utilisateur = utilisateur; this.utilisateur = utilisateur;
......
...@@ -13,6 +13,7 @@ import java.util.List; ...@@ -13,6 +13,7 @@ import java.util.List;
public class MessageJdbcDao implements MessageDao{ public class MessageJdbcDao implements MessageDao{
UtilisateurJdbcDao jdbcUser = new UtilisateurJdbcDao(); UtilisateurJdbcDao jdbcUser = new UtilisateurJdbcDao();
//find a message by its id
@Override @Override
public Message findById(int idMessage) { public Message findById(int idMessage) {
try (Connection con = getCon(); Statement stmt = con.createStatement()) { try (Connection con = getCon(); Statement stmt = con.createStatement()) {
...@@ -20,7 +21,7 @@ public class MessageJdbcDao implements MessageDao{ ...@@ -20,7 +21,7 @@ public class MessageJdbcDao implements MessageDao{
System.err.println(sql); System.err.println(sql);
ResultSet rs = stmt.executeQuery(sql); ResultSet rs = stmt.executeQuery(sql);
rs.next(); rs.next();
Message message = new Message(rs.getInt(1), rs.getInt(2), jdbcUser.findByEmail(rs.getString(3)), rs.getDate(4).toLocalDate() , rs.getTime(5).toLocalTime(), rs.getString(6)); Message message = new Message(rs.getInt(1), rs.getInt(2), rs.getDate(3).toLocalDate(), rs.getTime(4).toLocalTime(), rs.getString(5), jdbcUser.findByEmail(rs.getString(6)));
rs.close(); rs.close();
con.close(); con.close();
return message; return message;
...@@ -28,9 +29,10 @@ public class MessageJdbcDao implements MessageDao{ ...@@ -28,9 +29,10 @@ public class MessageJdbcDao implements MessageDao{
System.out.println("Erreur lors de l'accès à la base de données : " + e.getMessage()); System.out.println("Erreur lors de l'accès à la base de données : " + e.getMessage());
e.printStackTrace(); e.printStackTrace();
} }
return new Message(0, 0, new Utilisateur("err","err" , "err"),LocalDate.now(), LocalTime.now(), "err"); return new Message(0, 0, Date.getDate(3).toLocalDate(), rs.getTime(4).toLocalTime(), rs.getString(5), jdbcUser.findByEmail(rs.getString(6))); // requette d'erreur de message
} }
//find all message from one user
@Override @Override
public List<Message> findAll(Utilisateur utilisateur) { public List<Message> findAll(Utilisateur utilisateur) {
try (Connection con = getCon(); Statement stmt = con.createStatement()) { try (Connection con = getCon(); Statement stmt = con.createStatement()) {
...@@ -39,7 +41,7 @@ public class MessageJdbcDao implements MessageDao{ ...@@ -39,7 +41,7 @@ public class MessageJdbcDao implements MessageDao{
ResultSet rs = stmt.executeQuery(sql); ResultSet rs = stmt.executeQuery(sql);
List<Message> list = new ArrayList<Message>(); List<Message> list = new ArrayList<Message>();
while(rs.next()){ while(rs.next()){
list.add(new Message(rs.getInt(1), rs.getInt(2), jdbcUser.findByEmail(rs.getString(3)), rs.getDate(4).toLocalDate() , rs.getTime(5).toLocalTime(), rs.getString(6))); list.add(new Message(rs.getInt(1), rs.getInt(2), rs.getDate(3).toLocalDate(), rs.getTime(4).toLocalTime(), rs.getString(5), jdbcUser.findByEmail(rs.getString(6))));
} }
rs.close(); rs.close();
con.close(); con.close();
...@@ -51,6 +53,7 @@ public class MessageJdbcDao implements MessageDao{ ...@@ -51,6 +53,7 @@ public class MessageJdbcDao implements MessageDao{
return new ArrayList<Message>(); return new ArrayList<Message>();
} }
//find all the messages from a cnversation
@Override @Override
public List<Message> findAll(Conversation conversation) { public List<Message> findAll(Conversation conversation) {
try (Connection con = getCon(); Statement stmt = con.createStatement()) { try (Connection con = getCon(); Statement stmt = con.createStatement()) {
...@@ -71,6 +74,7 @@ public class MessageJdbcDao implements MessageDao{ ...@@ -71,6 +74,7 @@ public class MessageJdbcDao implements MessageDao{
return new ArrayList<Message>(); return new ArrayList<Message>();
} }
//create a new message in a conv
@Override @Override
public boolean createMessage(Utilisateur utilisateur, String message, int idConv) { public boolean createMessage(Utilisateur utilisateur, String message, int idConv) {
try (Connection con = getCon(); Statement stmt = con.createStatement()) { try (Connection con = getCon(); Statement stmt = con.createStatement()) {
...@@ -88,6 +92,7 @@ public class MessageJdbcDao implements MessageDao{ ...@@ -88,6 +92,7 @@ public class MessageJdbcDao implements MessageDao{
return false; return false;
} }
//update a message
@Override @Override
public boolean updateMessage(int idMessage, String message) { public boolean updateMessage(int idMessage, String message) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
......
<%@ page pageEncoding="UTF-8" %>
<%@ page import="dao.*" %>
<%@ page import="java.util.List" %>
<%@ page import="jakarta.servlet.*" %>
<!DOCTYPE html>
<html>
<head>
<title> Accueil </title>
<%-- <% response.setIntHeader("Refresh", 5); %> --%>
</head>
<body>
<%
UtilisateurJdbcDao jdbcUser = new UtilisateurJdbcDao();
Utilisateur utilisateur= jdbcUser.findByEmail("alexandre.dehaine.etu@univ-lille.fr");
out.println(utilisateur);
ConversationJdbcDao jdbcConv = new ConversationJdbcDao();
List<Conversation> conv = jdbcConv.findByUser(utilisateur.getEmail());
%>
<br>
<style>
table, th, td {
border: 1px solid black;
}
</style>
<table>
<tr>
<th>idConv</th>
<th>nomConv</th>
<th>createur</th>
<th>dateCrea</th>
</tr>
<% for (int i = 0; i < conv.size(); i++){
out.println("<tr>");
out.println("<td>" + conv.get(i).getIdConv() + "</td>");
out.println("<td>" + conv.get(i).getNomConv() + "</td>");
out.println("<td>" + conv.get(i).getCreateur() + "</td>");
out.println("<td>" + conv.get(i).getDateCrea() + "</td>");
out.println("</tr>");
}
String stringConv = request.getParameter("idConv");
int selectedConvId;
try{
selectedConvId = Integer.parseInt(stringConv);
} catch (NumberFormatException e){
selectedConvId = 0;
}
out.println(selectedConvId);
List<Message> selectedConv = jdbcConv.findAllMessages(selectedConvId);
for(int i =0; i < selectedConv.size();i++){
out.println(selectedConv.get(i) + "<br>");
}
%>
</table>
</body>
</html>
<%@ page pageEncoding="UTF-8" %>
<%@ page import="dao.*" %>
<!DOCTYPE html>
<html>
<head>
<title> MaPage </title>
</head>
<body>
<%
UtilisateurJdbcDao jdbcUser = new UtilisateurJdbcDao();
Utilisateur utilisateur= jdbcUser.findByEmail("alexandre.dehaine.etu@univ-lille.fr");
out.println(utilisateur);
%>
<br>
</body>
</html>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment