historique
This commit is contained in:
parent
21eef445a7
commit
26243f1363
5 changed files with 59 additions and 18 deletions
|
@ -359,15 +359,14 @@ public class Controller {
|
|||
|
||||
|
||||
/*** recup history and put it in model ***/
|
||||
/*
|
||||
try {
|
||||
System.out.println(this.getHistory().retrieveMessage(getMyUser(), c.getRemoteUser()));
|
||||
String history = this.getHistory().retrieveMessage(getMyUser(), c.getRemoteUser());
|
||||
//System.out.println(this.getHistory().retrieveMessage(getMyUser(), c.getRemoteUser()));
|
||||
c.addListMessage(this.getHistory().retrieveMessage(getMyUser(), c.getRemoteUser()));
|
||||
} catch (SQLException e) {
|
||||
System.out.println("souci avec le retrieveMsg");
|
||||
e.printStackTrace();
|
||||
}
|
||||
*/
|
||||
//System.out.println(myUser.getChats().get(myUser.getChatIndexOf(rm)));
|
||||
return c;
|
||||
}
|
||||
public String askOpenSession(int index) {
|
||||
|
@ -382,7 +381,7 @@ public class Controller {
|
|||
}
|
||||
else { // else create it
|
||||
c=openSession(rm);
|
||||
JOptionPane.showMessageDialog(null ,"New session with "+c.getRemoteUser().getPseudo());
|
||||
JOptionPane.showMessageDialog(null ,"New session with "+rm.getPseudo());
|
||||
}
|
||||
|
||||
// Look for history
|
||||
|
@ -425,7 +424,7 @@ public class Controller {
|
|||
// Sauvegarde dans la base de données
|
||||
DateFormat dateFormat = new SimpleDateFormat("yyyy MM dd HH mm ss");
|
||||
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
|
||||
out.println(message);
|
||||
|
|
|
@ -8,10 +8,14 @@ import java.sql.ResultSet;
|
|||
import java.sql.ResultSetMetaData;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
|
||||
import javax.sql.rowset.JdbcRowSet;
|
||||
|
||||
import model.Message;
|
||||
import model.Msg_Text;
|
||||
|
||||
public class Historique {
|
||||
|
||||
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 {
|
||||
Class.forName("java.sql.Driver");
|
||||
} catch (ClassNotFoundException e) {
|
||||
|
@ -86,12 +90,32 @@ public class Historique {
|
|||
e.printStackTrace();
|
||||
}
|
||||
Connection con=DriverManager.getConnection("jdbc:mysql://srv-bdens.insa-toulouse.fr:3306","tp_servlet_003","povu3Ma2");
|
||||
Statement stat=con.createStatement();
|
||||
Statement stat2=con.createStatement();
|
||||
Statement stat = null;
|
||||
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");
|
||||
|
||||
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) {
|
||||
e.printStackTrace();
|
||||
|
||||
|
@ -101,7 +125,8 @@ public class Historique {
|
|||
boolean encore1 = RSSent.next();
|
||||
ResultSet RSReceived=(stat2.executeQuery("SELECT user_IPcode1, user_IPcode2, Message, temps FROM chat WHERE user_IPcode1="+user2.getIPcode()));
|
||||
boolean encore2 = RSReceived.next();
|
||||
String message=null;
|
||||
ArrayList<Message> message=new ArrayList<Message>();
|
||||
//String message=null;
|
||||
String[] string1=null;
|
||||
String[] string2=null;
|
||||
Calendar date1=Calendar.getInstance();
|
||||
|
@ -114,7 +139,6 @@ public class Historique {
|
|||
encore1=RSSent.next();
|
||||
}
|
||||
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]));
|
||||
|
||||
//RSReceived=(stat.executeQuery("SELECT user_IPcode1, user_IPcode2, Message, temps FROM chat WHERE user_IPcode1="+user2.getIPcode()));
|
||||
|
@ -127,11 +151,15 @@ public class Historique {
|
|||
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) {
|
||||
message=message+"\n"+RSReceived.getString(3);
|
||||
message=message+"\n"+RSSent.getString(3);
|
||||
Msg_Text msg =new Msg_Text(user2,RSReceived.getString(4),RSReceived.getString(3));
|
||||
message.add(msg);
|
||||
Msg_Text msg1 =new Msg_Text(user1,RSSent.getString(4),RSSent.getString(3));
|
||||
message.add(msg1);
|
||||
}else {
|
||||
message=message+"\n"+RSSent.getString(3);
|
||||
message=message+"\n"+RSReceived.getString(3);
|
||||
Msg_Text msg1 =new Msg_Text(user1,RSSent.getString(4),RSSent.getString(3));
|
||||
message.add(msg1);
|
||||
Msg_Text msg =new Msg_Text(user2,RSReceived.getString(4),RSReceived.getString(3));
|
||||
message.add(msg);
|
||||
}
|
||||
encore1=RSSent.next();
|
||||
encore2=RSReceived.next();
|
||||
|
|
|
@ -49,6 +49,9 @@ public class Chat {
|
|||
public void addMessage(Message msg) {
|
||||
this.messages.add(msg);
|
||||
}
|
||||
public void addListMessage( ArrayList<Message> msg) {
|
||||
this.messages=msg;
|
||||
}
|
||||
public void activate() {
|
||||
this.active = true;
|
||||
}
|
||||
|
|
|
@ -24,6 +24,10 @@ public abstract class Message {
|
|||
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
||||
this.date = dateFormat.format(new Date());
|
||||
}
|
||||
public Message(User autor, String date) {
|
||||
this.autor = autor;
|
||||
this.date = date;
|
||||
}
|
||||
/*** GETTERS ***/
|
||||
public String getDate() {
|
||||
return date;
|
||||
|
@ -36,6 +40,9 @@ public abstract class Message {
|
|||
public void setAutorIP(User autor) {
|
||||
this.autor = autor;
|
||||
}
|
||||
public void setDate(String date) {
|
||||
this.date=date;
|
||||
}
|
||||
|
||||
|
||||
public abstract Object getMessage();
|
||||
|
|
|
@ -11,6 +11,10 @@ public class Msg_Text extends Message{
|
|||
super(autor);
|
||||
this.text = text;
|
||||
}
|
||||
public Msg_Text(User autor,String date, String text) {
|
||||
super(autor,date);
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMessage() {
|
||||
|
|
Loading…
Reference in a new issue