bdd
This commit is contained in:
parent
75548e7f08
commit
fcb1ccf532
3 changed files with 119 additions and 163 deletions
|
@ -9,6 +9,7 @@ import java.net.DatagramSocket;
|
|||
import java.net.InetAddress;
|
||||
import java.net.Socket;
|
||||
import java.net.UnknownHostException;
|
||||
import java.sql.SQLException;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
|
@ -335,9 +336,15 @@ public class Controller {
|
|||
}catch(IOException e) {
|
||||
System.out.println("Error linking to TCP server of "+ c.getRemoteUser().getPortTCP());
|
||||
}
|
||||
|
||||
c.setSocket(link);
|
||||
JOptionPane.showMessageDialog(null ,"New chat with "+c.getRemoteUser().getPseudo());
|
||||
|
||||
try {
|
||||
System.out.println(this.getHistory().retrieveMessage(getMyUser(), c.getRemoteUser()));
|
||||
} catch (SQLException e) {
|
||||
System.out.println("souci avec le retrieveMsg");
|
||||
e.printStackTrace();
|
||||
}
|
||||
// TODO Récupération de la conversation (historique)
|
||||
}
|
||||
|
||||
|
@ -361,21 +368,13 @@ public class Controller {
|
|||
|
||||
Date date=new Date();
|
||||
|
||||
//this.getHistory().saveMessage(getMyUser(), c.getRemoteUser(),message ,dateFormat.format(date) );
|
||||
|
||||
/*
|
||||
System.out.println(this.getHistory());
|
||||
System.out.println(this.myUser.getPseudo());
|
||||
System.out.println(c.getRemoteUser().getPseudo());
|
||||
System.out.println(message);
|
||||
System.out.println(dateString);
|
||||
*/
|
||||
|
||||
// Sauvegarde dans la base de données
|
||||
// TODO save history (On doit choisir entre sauvegarder à la reception ou a l'emission) même appel dans ListeningThreadTCPChat.run()
|
||||
//this.getHistory().saveMessage(this.myUser, c.getRemoteUser(),message ,dateString);
|
||||
//this.getHistory().saveMessage(getMyUser(), c.getRemoteUser(),message ,dateFormat.format(date));
|
||||
|
||||
// Envoie du message (avec la date)
|
||||
//System.out.println(dateFormat.format(date));
|
||||
//System.out.println(message);
|
||||
out.println(dateFormat.format(date));
|
||||
out.println(message);
|
||||
}
|
||||
|
|
|
@ -10,112 +10,150 @@ import java.sql.SQLException;
|
|||
import java.sql.Statement;
|
||||
import java.util.Calendar;
|
||||
|
||||
import javax.sql.rowset.JdbcRowSet;
|
||||
|
||||
public class Historique {
|
||||
private model.Database bdd;
|
||||
private ResultSet rs_received;
|
||||
private ResultSet rs_sent;
|
||||
private ResultSetMetaData rsmd_received;
|
||||
private ResultSetMetaData rsmd_sent;
|
||||
|
||||
public void setRSReceived(ResultSet rs) {
|
||||
this.rs_received=rs;
|
||||
}
|
||||
|
||||
public void setRSSent(ResultSet rs) {
|
||||
this.rs_sent=rs;
|
||||
}
|
||||
|
||||
public ResultSet getRSSent() {
|
||||
return this.rs_sent;
|
||||
}
|
||||
|
||||
public ResultSet getRSReceived() {
|
||||
return this.rs_received;
|
||||
}
|
||||
|
||||
public void setRSMDReceived(ResultSetMetaData rsmd) {
|
||||
this.rsmd_received=rsmd;
|
||||
}
|
||||
public void setRSMDSent(ResultSetMetaData rsmd) {
|
||||
this.rsmd_sent=rsmd;
|
||||
}
|
||||
public ResultSetMetaData getRSMDReceived() {
|
||||
return this.rsmd_received;
|
||||
}
|
||||
public ResultSetMetaData getRSMDSent() {
|
||||
return this.rsmd_sent;
|
||||
}
|
||||
|
||||
public void saveMessage(model.User ctr1, model.RemoteUser ctr2, String input, String date) {
|
||||
try {
|
||||
Class.forName("java.sql.Driver");
|
||||
} catch (ClassNotFoundException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
Connection con = null;
|
||||
try {
|
||||
con = DriverManager.getConnection("jdbc:mysql://srv-bdens.insa-toulouse.fr:3306","tp_servlet_003","povu3Ma2");
|
||||
} catch (SQLException e1) {
|
||||
// TODO Auto-generated catch block
|
||||
e1.printStackTrace();
|
||||
}
|
||||
Statement stat = null;
|
||||
try {
|
||||
stat = con.createStatement();
|
||||
} catch (SQLException e1) {
|
||||
// TODO Auto-generated catch block
|
||||
e1.printStackTrace();
|
||||
}
|
||||
int nb_changed_rows = 0;
|
||||
try {
|
||||
nb_changed_rows = stat.executeUpdate("USE tp_servlet_003");
|
||||
} catch (SQLException e1) {
|
||||
// TODO Auto-generated catch block
|
||||
e1.printStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
nb_changed_rows = stat.executeUpdate("CREATE TABLE chat ( user_IPcode1 INTEGER, user_IPcode2 INTEGER ,Message VARCHAR(450) ,temps VARCHAR(450) )");
|
||||
}catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
||||
}
|
||||
System.out.println("coucou");
|
||||
|
||||
int nb_changed_rows=0;
|
||||
try {
|
||||
nb_changed_rows = this.bdd.getStatement().executeUpdate("INSERT INTO chat values ("+ctr1.getIPcode()+","+ctr2.getIPcode()+","+input+","+date+")");
|
||||
nb_changed_rows = stat.executeUpdate("INSERT INTO chat VALUES ('"+ctr1.getIPcode()+"','"+ctr2.getIPcode()+"','"+input+"','"+date+"')");
|
||||
} catch (SQLException e) {
|
||||
System.out.println("insertion pas établie");
|
||||
e.printStackTrace();
|
||||
}
|
||||
//nb_changed_rows = this.bdd.getStatement().executeUpdate("DELETE FROM table where name=‘noname’");
|
||||
if (nb_changed_rows==0){
|
||||
System.out.println("la modification n'a pas eu lieue");
|
||||
// try {
|
||||
// nb_changed_rows = stat.executeUpdate("DELETE FROM chat WHERE data(VARCHAR(255))="valeur"");
|
||||
// } catch (SQLException e) {
|
||||
// // TODO Auto-generated catch block
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
try {
|
||||
stat.close();
|
||||
} catch (SQLException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
con.close();
|
||||
} catch (SQLException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public String retrieveMessage(model.LocalUser user1, model.RemoteUser user2) throws SQLException {
|
||||
this.setRSSent(this.bdd.getStatement().executeQuery("SELECT"+user1.getIPcode()+","+user2.getIPcode()+",? ,? FROM table"));
|
||||
this.setRSReceived(this.bdd.getStatement().executeQuery("SELECT"+user2.getIPcode()+","+user1.getIPcode()+",?, ? FROM table"));
|
||||
//this.setRSMDSent(this.getRSSent().getMetaData());
|
||||
//this.setRSMDReceived(this.getRSReceived().getMetaData());
|
||||
boolean encore1 = this.getRSSent().next();
|
||||
boolean encore2 = this.getRSReceived().next();
|
||||
try {
|
||||
Class.forName("java.sql.Driver");
|
||||
} catch (ClassNotFoundException e) {
|
||||
// TODO Auto-generated catch block
|
||||
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();
|
||||
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) )");
|
||||
}catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
||||
}
|
||||
ResultSet RSSent=(stat.executeQuery("SELECT user_IPcode1, user_IPcode2, Message, temps FROM chat WHERE user_IPcode1="+user1.getIPcode()));
|
||||
//System.out.println(RSSent);
|
||||
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;
|
||||
String[] string1=null;
|
||||
String[] string2=null;
|
||||
Calendar date1=Calendar.getInstance();
|
||||
Calendar date2=Calendar.getInstance();
|
||||
while(encore1 || encore2) {
|
||||
while (this.getRSSent().getInt(1)!=user2.getIPcode()) {
|
||||
encore1=this.getRSSent().next();
|
||||
//RSSent=(stat.executeQuery("SELECT user_IPcode1, user_IPcode2, Message, temps FROM chat WHERE user_IPcode1="+user1.getIPcode()));
|
||||
//boolean temp=RSSent.next();
|
||||
|
||||
while (RSSent.getInt(2)!=user2.getIPcode()) {
|
||||
encore1=RSSent.next();
|
||||
}
|
||||
string1=this.getRSSent().getString(3).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]));
|
||||
|
||||
//RSReceived=(stat.executeQuery("SELECT user_IPcode1, user_IPcode2, Message, temps FROM chat WHERE user_IPcode1="+user2.getIPcode()));
|
||||
//boolean tempi = RSReceived.next();
|
||||
|
||||
while (this.getRSReceived().getInt(0)!=user1.getIPcode()) {
|
||||
encore2=this.getRSReceived().next();
|
||||
while (RSReceived.getInt(1)!=user1.getIPcode()) {
|
||||
encore2=RSReceived.next();
|
||||
}
|
||||
string2=this.getRSReceived().getString(3).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]));
|
||||
|
||||
if (date1.compareTo(date2)>=0) {
|
||||
message=message+this.getRSReceived().getString(2);
|
||||
message=message+this.getRSSent().getString(2);
|
||||
message=message+"\n"+RSReceived.getString(3);
|
||||
message=message+"\n"+RSSent.getString(3);
|
||||
}else {
|
||||
message=message+this.getRSSent().getString(2);
|
||||
message=message+this.getRSReceived().getString(2);
|
||||
message=message+"\n"+RSSent.getString(3);
|
||||
message=message+"\n"+RSReceived.getString(3);
|
||||
}
|
||||
encore1=this.getRSSent().next();
|
||||
encore2=this.getRSReceived().next();
|
||||
encore1=RSSent.next();
|
||||
encore2=RSReceived.next();
|
||||
|
||||
}
|
||||
RSSent.close();
|
||||
RSReceived.close();
|
||||
stat.close();
|
||||
stat2.close();
|
||||
con.close();
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
public void close_all() throws SQLException {
|
||||
this.rs_received.close();
|
||||
this.rs_sent.close();
|
||||
this.bdd.close();
|
||||
}
|
||||
//MAIN
|
||||
public Historique() {
|
||||
|
||||
//this.bdd=new model.Database();
|
||||
System.out.println("coucoudb");
|
||||
|
||||
|
||||
}
|
||||
// //MAIN
|
||||
// public Historique() {
|
||||
//
|
||||
// System.out.println("coucoudb");
|
||||
//
|
||||
//
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,81 +0,0 @@
|
|||
package model;
|
||||
|
||||
import java.sql.Connection;
|
||||
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
|
||||
public class Database {
|
||||
private Statement statement;
|
||||
private Connection con;
|
||||
|
||||
public Statement getStatement() {
|
||||
return this.statement;
|
||||
}
|
||||
|
||||
public void close () throws SQLException {
|
||||
this.statement.close();
|
||||
this.con.close();
|
||||
|
||||
}
|
||||
|
||||
|
||||
public Database() {
|
||||
try {
|
||||
Class.forName("java.sql.Driver");
|
||||
System.out.println("coucou");
|
||||
} catch (ClassNotFoundException e) {
|
||||
System.out.println("probleme avec le driver");
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
this.con=DriverManager.getConnection("jdbc:mysql://srv-bdens.insa-toulouse.fr:3306","tp_servlet_003","povu3Ma2");
|
||||
System.out.println("coucou");
|
||||
} catch (SQLException e) {
|
||||
System.out.println("co pas établie");
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
this.statement=this.con.createStatement();
|
||||
System.out.println("coucou");
|
||||
} catch (SQLException e) {
|
||||
System.out.println("statement pas établi");
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
int nb_changed_rows=0;
|
||||
// try {
|
||||
// nb_changed_rows = statement.executeUpdate("CREATE DATABASE base");
|
||||
// System.out.println("coucou");
|
||||
// } catch (SQLException e) {
|
||||
// System.out.println("base de données pas établit");
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
try {
|
||||
nb_changed_rows = statement.executeUpdate("USE tp_servlet_003");
|
||||
System.out.println("coucou");
|
||||
} catch (SQLException e) {
|
||||
System.out.println("use base pas établi");
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
nb_changed_rows = statement.executeUpdate("CREATE TABLE chat ( user_IPcode1 INTEGER, user_IPcode2 INTEGER ,Message VARCHAR(450) ,temps VARCHAR(450) )");
|
||||
System.out.println("coucou");
|
||||
System.out.println(nb_changed_rows);
|
||||
|
||||
} catch (SQLException e) {
|
||||
System.out.println("table non créée");
|
||||
e.printStackTrace();
|
||||
}
|
||||
//
|
||||
// if (nb_changed_rows==0){
|
||||
// System.out.println("la modification n'a pas eu lieue");
|
||||
// };
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue