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.InetAddress;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
|
import java.sql.SQLException;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -335,9 +336,15 @@ public class Controller {
|
||||||
}catch(IOException e) {
|
}catch(IOException e) {
|
||||||
System.out.println("Error linking to TCP server of "+ c.getRemoteUser().getPortTCP());
|
System.out.println("Error linking to TCP server of "+ c.getRemoteUser().getPortTCP());
|
||||||
}
|
}
|
||||||
|
|
||||||
c.setSocket(link);
|
c.setSocket(link);
|
||||||
JOptionPane.showMessageDialog(null ,"New chat with "+c.getRemoteUser().getPseudo());
|
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)
|
// TODO Récupération de la conversation (historique)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -360,22 +367,14 @@ public class Controller {
|
||||||
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) );
|
|
||||||
|
|
||||||
/*
|
|
||||||
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
|
// 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()
|
// 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)
|
// Envoie du message (avec la date)
|
||||||
|
//System.out.println(dateFormat.format(date));
|
||||||
|
//System.out.println(message);
|
||||||
out.println(dateFormat.format(date));
|
out.println(dateFormat.format(date));
|
||||||
out.println(message);
|
out.println(message);
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,112 +10,150 @@ import java.sql.SQLException;
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
|
||||||
|
import javax.sql.rowset.JdbcRowSet;
|
||||||
|
|
||||||
public class Historique {
|
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) {
|
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");
|
System.out.println("coucou");
|
||||||
|
|
||||||
int nb_changed_rows=0;
|
|
||||||
try {
|
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) {
|
} catch (SQLException e) {
|
||||||
System.out.println("insertion pas établie");
|
System.out.println("insertion pas établie");
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
//nb_changed_rows = this.bdd.getStatement().executeUpdate("DELETE FROM table where name=‘noname’");
|
// try {
|
||||||
if (nb_changed_rows==0){
|
// nb_changed_rows = stat.executeUpdate("DELETE FROM chat WHERE data(VARCHAR(255))="valeur"");
|
||||||
System.out.println("la modification n'a pas eu lieue");
|
// } 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 {
|
public String retrieveMessage(model.LocalUser user1, model.RemoteUser user2) throws SQLException {
|
||||||
this.setRSSent(this.bdd.getStatement().executeQuery("SELECT"+user1.getIPcode()+","+user2.getIPcode()+",? ,? FROM table"));
|
try {
|
||||||
this.setRSReceived(this.bdd.getStatement().executeQuery("SELECT"+user2.getIPcode()+","+user1.getIPcode()+",?, ? FROM table"));
|
Class.forName("java.sql.Driver");
|
||||||
//this.setRSMDSent(this.getRSSent().getMetaData());
|
} catch (ClassNotFoundException e) {
|
||||||
//this.setRSMDReceived(this.getRSReceived().getMetaData());
|
// TODO Auto-generated catch block
|
||||||
boolean encore1 = this.getRSSent().next();
|
e.printStackTrace();
|
||||||
boolean encore2 = this.getRSReceived().next();
|
}
|
||||||
|
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 message=null;
|
||||||
String[] string1=null;
|
String[] string1=null;
|
||||||
String[] string2=null;
|
String[] string2=null;
|
||||||
Calendar date1=Calendar.getInstance();
|
Calendar date1=Calendar.getInstance();
|
||||||
Calendar date2=Calendar.getInstance();
|
Calendar date2=Calendar.getInstance();
|
||||||
while(encore1 || encore2) {
|
while(encore1 || encore2) {
|
||||||
while (this.getRSSent().getInt(1)!=user2.getIPcode()) {
|
//RSSent=(stat.executeQuery("SELECT user_IPcode1, user_IPcode2, Message, temps FROM chat WHERE user_IPcode1="+user1.getIPcode()));
|
||||||
encore1=this.getRSSent().next();
|
//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]));
|
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()) {
|
while (RSReceived.getInt(1)!=user1.getIPcode()) {
|
||||||
encore2=this.getRSReceived().next();
|
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]));
|
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+this.getRSReceived().getString(2);
|
message=message+"\n"+RSReceived.getString(3);
|
||||||
message=message+this.getRSSent().getString(2);
|
message=message+"\n"+RSSent.getString(3);
|
||||||
}else {
|
}else {
|
||||||
message=message+this.getRSSent().getString(2);
|
message=message+"\n"+RSSent.getString(3);
|
||||||
message=message+this.getRSReceived().getString(2);
|
message=message+"\n"+RSReceived.getString(3);
|
||||||
}
|
}
|
||||||
encore1=this.getRSSent().next();
|
encore1=RSSent.next();
|
||||||
encore2=this.getRSReceived().next();
|
encore2=RSReceived.next();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
RSSent.close();
|
||||||
|
RSReceived.close();
|
||||||
|
stat.close();
|
||||||
|
stat2.close();
|
||||||
|
con.close();
|
||||||
|
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void close_all() throws SQLException {
|
|
||||||
this.rs_received.close();
|
// //MAIN
|
||||||
this.rs_sent.close();
|
// public Historique() {
|
||||||
this.bdd.close();
|
//
|
||||||
}
|
// System.out.println("coucoudb");
|
||||||
//MAIN
|
//
|
||||||
public Historique() {
|
//
|
||||||
|
// }
|
||||||
//this.bdd=new model.Database();
|
|
||||||
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