historique

This commit is contained in:
LMAGallois 2021-01-04 16:47:33 +01:00
parent 21eef445a7
commit 26243f1363
5 changed files with 59 additions and 18 deletions

View file

@ -359,15 +359,14 @@ public class Controller {
/*** recup history and put it in model ***/ /*** recup history and put it in model ***/
/*
try { try {
System.out.println(this.getHistory().retrieveMessage(getMyUser(), c.getRemoteUser())); //System.out.println(this.getHistory().retrieveMessage(getMyUser(), c.getRemoteUser()));
String history = this.getHistory().retrieveMessage(getMyUser(), c.getRemoteUser()); c.addListMessage(this.getHistory().retrieveMessage(getMyUser(), c.getRemoteUser()));
} catch (SQLException e) { } catch (SQLException e) {
System.out.println("souci avec le retrieveMsg"); System.out.println("souci avec le retrieveMsg");
e.printStackTrace(); e.printStackTrace();
} }
*/ //System.out.println(myUser.getChats().get(myUser.getChatIndexOf(rm)));
return c; return c;
} }
public String askOpenSession(int index) { public String askOpenSession(int index) {
@ -382,7 +381,7 @@ public class Controller {
} }
else { // else create it else { // else create it
c=openSession(rm); c=openSession(rm);
JOptionPane.showMessageDialog(null ,"New session with "+c.getRemoteUser().getPseudo()); JOptionPane.showMessageDialog(null ,"New session with "+rm.getPseudo());
} }
// Look for history // Look for history
@ -425,7 +424,7 @@ public class Controller {
// Sauvegarde dans la base de données // Sauvegarde dans la base de données
DateFormat dateFormat = new SimpleDateFormat("yyyy MM dd HH mm ss"); DateFormat dateFormat = new SimpleDateFormat("yyyy MM dd HH mm ss");
Date date=new Date(); Date date=new Date();
//this.getHistory().saveMessage(getMyUser(), c.getRemoteUser(),message ,dateFormat.format(date)); this.getHistory().saveMessage(getMyUser(), c.getRemoteUser(),message ,dateFormat.format(date));
// Send message // Send message
out.println(message); out.println(message);

View file

@ -8,10 +8,14 @@ import java.sql.ResultSet;
import java.sql.ResultSetMetaData; import java.sql.ResultSetMetaData;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Statement; import java.sql.Statement;
import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import javax.sql.rowset.JdbcRowSet; import javax.sql.rowset.JdbcRowSet;
import model.Message;
import model.Msg_Text;
public class Historique { public class Historique {
public void saveMessage(model.User ctr1, model.RemoteUser ctr2, String input, String date) { public void saveMessage(model.User ctr1, model.RemoteUser ctr2, String input, String date) {
@ -78,7 +82,7 @@ public class Historique {
} }
public String retrieveMessage(model.LocalUser user1, model.RemoteUser user2) throws SQLException { public ArrayList<Message> retrieveMessage(model.LocalUser user1, model.RemoteUser user2) throws SQLException {
try { try {
Class.forName("java.sql.Driver"); Class.forName("java.sql.Driver");
} catch (ClassNotFoundException e) { } catch (ClassNotFoundException e) {
@ -86,12 +90,32 @@ public class Historique {
e.printStackTrace(); e.printStackTrace();
} }
Connection con=DriverManager.getConnection("jdbc:mysql://srv-bdens.insa-toulouse.fr:3306","tp_servlet_003","povu3Ma2"); Connection con=DriverManager.getConnection("jdbc:mysql://srv-bdens.insa-toulouse.fr:3306","tp_servlet_003","povu3Ma2");
Statement stat=con.createStatement(); Statement stat = null;
Statement stat2=con.createStatement(); try {
stat = con.createStatement();
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
Statement stat2 = null;
try {
stat2 = con.createStatement();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
int nb_changed_rows = stat.executeUpdate("USE tp_servlet_003"); int nb_changed_rows = stat.executeUpdate("USE tp_servlet_003");
try { try {
nb_changed_rows = stat.executeUpdate("CREATE TABLE chat ( user_IPcode1 INTEGER, user_IPcode2 INTEGER ,Message VARCHAR(450) ,temps VARCHAR(450) )"); nb_changed_rows = stat.executeUpdate("USE TABLE chat ( user_IPcode1 INTEGER, user_IPcode2 INTEGER ,Message VARCHAR(450) ,temps VARCHAR(450) )");
}catch (Exception e) {
e.printStackTrace();
}
nb_changed_rows = stat2.executeUpdate("USE tp_servlet_003");
try {
nb_changed_rows = stat2.executeUpdate("USE TABLE chat ( user_IPcode1 INTEGER, user_IPcode2 INTEGER ,Message VARCHAR(450) ,temps VARCHAR(450) )");
}catch (Exception e) { }catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -101,7 +125,8 @@ public class Historique {
boolean encore1 = RSSent.next(); boolean encore1 = RSSent.next();
ResultSet RSReceived=(stat2.executeQuery("SELECT user_IPcode1, user_IPcode2, Message, temps FROM chat WHERE user_IPcode1="+user2.getIPcode())); ResultSet RSReceived=(stat2.executeQuery("SELECT user_IPcode1, user_IPcode2, Message, temps FROM chat WHERE user_IPcode1="+user2.getIPcode()));
boolean encore2 = RSReceived.next(); boolean encore2 = RSReceived.next();
String message=null; ArrayList<Message> message=new ArrayList<Message>();
//String message=null;
String[] string1=null; String[] string1=null;
String[] string2=null; String[] string2=null;
Calendar date1=Calendar.getInstance(); Calendar date1=Calendar.getInstance();
@ -114,7 +139,6 @@ public class Historique {
encore1=RSSent.next(); encore1=RSSent.next();
} }
string1=RSSent.getString(4).split(" "); string1=RSSent.getString(4).split(" ");
System.out.println(RSSent.getString(4));
date1.set(Integer.valueOf(string1[0]), Integer.valueOf(string1[1]), Integer.valueOf(string1[2]),Integer.valueOf(string1[3]), Integer.valueOf(string1[4]), Integer.valueOf(string1[5])); date1.set(Integer.valueOf(string1[0]), Integer.valueOf(string1[1]), Integer.valueOf(string1[2]),Integer.valueOf(string1[3]), Integer.valueOf(string1[4]), Integer.valueOf(string1[5]));
//RSReceived=(stat.executeQuery("SELECT user_IPcode1, user_IPcode2, Message, temps FROM chat WHERE user_IPcode1="+user2.getIPcode())); //RSReceived=(stat.executeQuery("SELECT user_IPcode1, user_IPcode2, Message, temps FROM chat WHERE user_IPcode1="+user2.getIPcode()));
@ -125,13 +149,17 @@ public class Historique {
} }
string2=RSReceived.getString(4).split(" "); string2=RSReceived.getString(4).split(" ");
date2.set(Integer.valueOf(string2[0]), Integer.valueOf(string2[1]), Integer.valueOf(string2[2]),Integer.valueOf(string2[3]), Integer.valueOf(string2[4]), Integer.valueOf(string2[5])); date2.set(Integer.valueOf(string2[0]), Integer.valueOf(string2[1]), Integer.valueOf(string2[2]),Integer.valueOf(string2[3]), Integer.valueOf(string2[4]), Integer.valueOf(string2[5]));
if (date1.compareTo(date2)>=0) { if (date1.compareTo(date2)>=0) {
message=message+"\n"+RSReceived.getString(3); Msg_Text msg =new Msg_Text(user2,RSReceived.getString(4),RSReceived.getString(3));
message=message+"\n"+RSSent.getString(3); message.add(msg);
Msg_Text msg1 =new Msg_Text(user1,RSSent.getString(4),RSSent.getString(3));
message.add(msg1);
}else { }else {
message=message+"\n"+RSSent.getString(3); Msg_Text msg1 =new Msg_Text(user1,RSSent.getString(4),RSSent.getString(3));
message=message+"\n"+RSReceived.getString(3); message.add(msg1);
Msg_Text msg =new Msg_Text(user2,RSReceived.getString(4),RSReceived.getString(3));
message.add(msg);
} }
encore1=RSSent.next(); encore1=RSSent.next();
encore2=RSReceived.next(); encore2=RSReceived.next();

View file

@ -49,6 +49,9 @@ public class Chat {
public void addMessage(Message msg) { public void addMessage(Message msg) {
this.messages.add(msg); this.messages.add(msg);
} }
public void addListMessage( ArrayList<Message> msg) {
this.messages=msg;
}
public void activate() { public void activate() {
this.active = true; this.active = true;
} }

View file

@ -24,6 +24,10 @@ public abstract class Message {
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
this.date = dateFormat.format(new Date()); this.date = dateFormat.format(new Date());
} }
public Message(User autor, String date) {
this.autor = autor;
this.date = date;
}
/*** GETTERS ***/ /*** GETTERS ***/
public String getDate() { public String getDate() {
return date; return date;
@ -36,6 +40,9 @@ public abstract class Message {
public void setAutorIP(User autor) { public void setAutorIP(User autor) {
this.autor = autor; this.autor = autor;
} }
public void setDate(String date) {
this.date=date;
}
public abstract Object getMessage(); public abstract Object getMessage();

View file

@ -11,7 +11,11 @@ public class Msg_Text extends Message{
super(autor); super(autor);
this.text = text; this.text = text;
} }
public Msg_Text(User autor,String date, String text) {
super(autor,date);
this.text = text;
}
@Override @Override
public String getMessage() { public String getMessage() {
return this.text; return this.text;