BDD Fct GetPseudo / TailleBDD / AjoutUtilisateurs fonctionnelles
このコミットが含まれているのは:
コミット
a4df947767
3個のファイルの変更、192行の追加、79行の削除
|
@ -1,39 +1,39 @@
|
||||||
chatapp/Model/DataBase.java
|
chatapp/View/DemarrerSession.java
|
||||||
chatapp.Model.DataBase
|
chatapp.View.DemarrerSession
|
||||||
chatapp/Model/ListUtilisateurs.java
|
|
||||||
chatapp.Model.ListUtilisateurs
|
|
||||||
chatapp/Model/Utilisateur.java
|
|
||||||
chatapp.Model.Utilisateur
|
|
||||||
chatapp/Model/MessageHorodate.java
|
|
||||||
chatapp.Model.MessageHorodate
|
|
||||||
chatapp/Launcher.java
|
|
||||||
chatapp.Launcher
|
|
||||||
chatapp/Protocol/RunnerEcouteTCP.java
|
|
||||||
chatapp.Protocol.RunnerEcouteTCP
|
|
||||||
chatapp/View/FenetreSession.java
|
chatapp/View/FenetreSession.java
|
||||||
chatapp.View.FenetreSession
|
chatapp.View.FenetreSession
|
||||||
chatapp.View.FenetreSession$1
|
chatapp.View.FenetreSession$1
|
||||||
chatapp/Controller/ChatApp.java
|
chatapp/Model/Utilisateur.java
|
||||||
chatapp.Controller.ChatApp
|
chatapp.Model.Utilisateur
|
||||||
chatapp/View/DemarrerSession.java
|
chatapp/View/ConnexionScreen.java
|
||||||
chatapp.View.DemarrerSession
|
chatapp.View.ConnexionScreen
|
||||||
chatapp/Protocol/RunnerEcouteUDP.java
|
chatapp/View/ChangementPseudo.java
|
||||||
chatapp.Protocol.RunnerEcouteUDP
|
chatapp.View.ChangementPseudo
|
||||||
chatapp/Protocol/UDPEchange.java
|
|
||||||
chatapp.Protocol.RunnerUDP
|
|
||||||
chatapp.Protocol.UDPEchange
|
|
||||||
chatapp/Main.java
|
|
||||||
chatapp.Main
|
|
||||||
chatapp/View/Clavardage.java
|
chatapp/View/Clavardage.java
|
||||||
chatapp.View.Clavardage
|
chatapp.View.Clavardage
|
||||||
chatapp.View.Clavardage$1
|
chatapp.View.Clavardage$1
|
||||||
chatapp/Protocol/SessionClavardage.java
|
chatapp/Launcher.java
|
||||||
chatapp.Protocol.SessionClavardage
|
chatapp.Launcher
|
||||||
chatapp/View/ConnexionScreen.java
|
chatapp/Model/ListUtilisateurs.java
|
||||||
chatapp.View.ConnexionScreen
|
chatapp.Model.ListUtilisateurs
|
||||||
chatapp/View/View_Utilisateurs.java
|
|
||||||
chatapp.View.View_Utilisateurs
|
|
||||||
chatapp/View/View_Menu.java
|
chatapp/View/View_Menu.java
|
||||||
chatapp.View.View_Menu
|
chatapp.View.View_Menu
|
||||||
chatapp/View/ChangementPseudo.java
|
chatapp/Model/MessageHorodate.java
|
||||||
chatapp.View.ChangementPseudo
|
chatapp.Model.MessageHorodate
|
||||||
|
chatapp/View/View_Utilisateurs.java
|
||||||
|
chatapp.View.View_Utilisateurs
|
||||||
|
chatapp/Protocol/RunnerEcouteTCP.java
|
||||||
|
chatapp.Protocol.RunnerEcouteTCP
|
||||||
|
chatapp/Protocol/UDPEchange.java
|
||||||
|
chatapp.Protocol.RunnerUDP
|
||||||
|
chatapp.Protocol.UDPEchange
|
||||||
|
chatapp/Controller/ChatApp.java
|
||||||
|
chatapp.Controller.ChatApp
|
||||||
|
chatapp/Main.java
|
||||||
|
chatapp.Main
|
||||||
|
chatapp/Protocol/SessionClavardage.java
|
||||||
|
chatapp.Protocol.SessionClavardage
|
||||||
|
chatapp/Model/DataBase.java
|
||||||
|
chatapp.Model.DataBase
|
||||||
|
chatapp/Protocol/RunnerEcouteUDP.java
|
||||||
|
chatapp.Protocol.RunnerEcouteUDP
|
||||||
|
|
|
@ -2,6 +2,6 @@ package chatapp;
|
||||||
|
|
||||||
public class Launcher {
|
public class Launcher {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Main.main(args);
|
// Main.main(args);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,19 +30,25 @@ public class DataBase {
|
||||||
|
|
||||||
private static DataBase instance = null; // Singleton
|
private static DataBase instance = null; // Singleton
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructeur de la database
|
||||||
|
* On installe le driver et on établit la connection.
|
||||||
|
*/
|
||||||
public DataBase() {
|
public DataBase() {
|
||||||
try {
|
try {
|
||||||
// Besoin d'installer le driver JDBC entre java IDE et le system DBMS pour faire un pont entre les deux
|
//Besoin d'installer le driver JDBC entre java IDE et le system DBMS pour faire un pont entre les deux
|
||||||
Class.forName("com.mysql.cj.jdbc.Driver");
|
Class.forName("com.mysql.cj.jdbc.Driver");
|
||||||
System.out.println("Driver Installe");
|
System.out.println("Driver Installe");
|
||||||
} catch (ClassNotFoundException e) {
|
} catch (ClassNotFoundException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
System.out.println("Echec installation Driver");
|
System.out.println("Echec installation Driver");
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Etablir une connexion , forme : (url, "myLogin", "myPassword");
|
//Etablir une connexion , forme : (url, "myLogin", "myPassword");
|
||||||
this.connection = DriverManager.getConnection("jdbc:mysql://localhost/POO_AL_NM?allowPublicKeyRetrieval=true&useSSL=false", "root", "1234");
|
// Nabil : DECOMMENTER CETTE LIGNE
|
||||||
|
//this.connection = DriverManager.getConnection("jdbc:mysql://localhost/POO_AL_NM?allowPublicKeyRetrieval=true&useSSL=false", "root", "1234");
|
||||||
|
// Auriane : DECOMMENTER CETTE LIGNE
|
||||||
|
this.connection = DriverManager.getConnection("jdbc:mysql://localhost:8889/POO_AL_NM?allowPublicKeyRetrieval=true&useSSL=false", "root", "root");
|
||||||
//this.connection = DriverManager.getConnection(this.DBurl,login,pswd);
|
//this.connection = DriverManager.getConnection(this.DBurl,login,pswd);
|
||||||
System.out.println("Connexion Etablie");
|
System.out.println("Connexion Etablie");
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
|
@ -51,6 +57,10 @@ public class DataBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Méthode permettant de renvoyer une instance de la classe DataBase
|
||||||
|
* @return Retourne l'instance du singleton DataBase.
|
||||||
|
*/
|
||||||
public static DataBase getInstance() {
|
public static DataBase getInstance() {
|
||||||
synchronized (DataBase.class) {
|
synchronized (DataBase.class) {
|
||||||
DataBase DB = instance;
|
DataBase DB = instance;
|
||||||
|
@ -61,7 +71,7 @@ public class DataBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Methode permettant de creer une table pour stocker les messages entre deux utilisateurs
|
* Methode permettant de creer une table pour stocker les messages entre deux utilisateurs
|
||||||
* @param ID1 Id du premier utilisateur
|
* @param ID1 Id du premier utilisateur
|
||||||
* @param ID2 Id du second utilisateur
|
* @param ID2 Id du second utilisateur
|
||||||
|
@ -91,7 +101,6 @@ public class DataBase {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
System.out.println("Echec creation Statement");
|
System.out.println("Echec creation Statement");
|
||||||
}
|
}
|
||||||
|
|
||||||
//Execute la donnée SQL statement passe en parametre
|
//Execute la donnée SQL statement passe en parametre
|
||||||
try {
|
try {
|
||||||
Ps.executeUpdate();
|
Ps.executeUpdate();
|
||||||
|
@ -101,7 +110,7 @@ public class DataBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Methode permettant de mettre a jour le pseudo d'un utilisateur en fonction de son ID dans la base de donnee
|
* Methode permettant de mettre a jour le pseudo d'un utilisateur en fonction de son ID dans la base de donnee
|
||||||
* @param ID Id de l'utilisateur qui vient de changer de pseudo
|
* @param ID Id de l'utilisateur qui vient de changer de pseudo
|
||||||
* @param Pseudo Nouveau Pseudo de l'utilisateur
|
* @param Pseudo Nouveau Pseudo de l'utilisateur
|
||||||
|
@ -112,8 +121,8 @@ public class DataBase {
|
||||||
//Statement est utilisé pour envoyer une requete SQL à la base de donnee
|
//Statement est utilisé pour envoyer une requete SQL à la base de donnee
|
||||||
try {
|
try {
|
||||||
Ps = connection.prepareStatement(requete);
|
Ps = connection.prepareStatement(requete);
|
||||||
Ps.setString(1, Pseudo);
|
Ps.setString(1, Pseudo); // ? n°1 devient la valeur contenu dans Pseudo
|
||||||
Ps.setString(2, ID);
|
Ps.setString(2, ID); // ? n°2 devient la valeur contenu dans ID
|
||||||
System.out.println("Statement cree");
|
System.out.println("Statement cree");
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -130,7 +139,7 @@ public class DataBase {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Methode permettant de mettre a jour le pseudo d'un utilisateur en fonction de son ID dans la base de donnee
|
* Methode permettant de mettre a jour le pseudo d'un utilisateur en fonction de son ID dans la base de donnee
|
||||||
* @param IDdest Id de l'utilisateur Destinataire du message
|
* @param IDdest Id de l'utilisateur Destinataire du message
|
||||||
* @param IDdest Id de celui qui envoi le message
|
* @param IDdest Id de celui qui envoi le message
|
||||||
|
@ -154,15 +163,15 @@ public class DataBase {
|
||||||
//Statement est utilisé pour envoyer une requete SQL à la base de donnee
|
//Statement est utilisé pour envoyer une requete SQL à la base de donnee
|
||||||
try {
|
try {
|
||||||
Ps = connection.prepareStatement(requete);
|
Ps = connection.prepareStatement(requete);
|
||||||
Ps.setString(1, IDdest);
|
Ps.setString(1, IDdest); // ? n°1 devient la valeur contenu dans IDdest
|
||||||
Ps.setString(2, IDsrc);
|
Ps.setString(2, IDsrc); // ? n°2 devient la valeur contenu dans IDsrc
|
||||||
Ps.setString(3, Msg);
|
Ps.setString(3, Msg); // ? n°3 devient la valeur contenu dans Msg
|
||||||
|
//La date de l'envoi n'a pas besoin d'être renseigné, elle est automatique
|
||||||
System.out.println("Statement cree");
|
System.out.println("Statement cree");
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
System.out.println("Echec creation Statement");
|
System.out.println("Echec creation Statement");
|
||||||
}
|
}
|
||||||
|
|
||||||
//Execute la donnée SQL statement passe en parametre
|
//Execute la donnée SQL statement passe en parametre
|
||||||
try {
|
try {
|
||||||
Ps.executeUpdate();
|
Ps.executeUpdate();
|
||||||
|
@ -173,52 +182,54 @@ public class DataBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Methode permettant d'ajouter un utilisateur dans la base de donnée si celui-ci n'existe pas deja
|
* Methode permettant d'ajouter un utilisateur dans la base de donnée si celui-ci n'existe pas deja
|
||||||
* @param ID Id de l'utilisateur que l'on veut rajouter
|
* @param ID Id de l'utilisateur que l'on veut rajouter
|
||||||
* @param Pseudo pseudo actuelle de l'utilisateur
|
* @param Pseudo pseudo actuelle de l'utilisateur
|
||||||
*/
|
*/
|
||||||
public void ajoutUtilisateurs(String ID , String Pseudo ) {
|
public void ajoutUtilisateurs(String ID , String Pseudo ) {
|
||||||
// Verification que l'utilisateur n'existe pas
|
// Verification que l'utilisateur n'existe pas
|
||||||
String existe= "SELECT Pseudo FROM Utilisateurs WHERE ID = " + ID +",";
|
String existe= "SELECT * FROM `Utilisateurs` WHERE `ID` LIKE '" + ID +"'";
|
||||||
Statement stmt = null;
|
Statement stmt = null;
|
||||||
ResultSet rs = null ;
|
ResultSet rs = null ;
|
||||||
try {
|
try {
|
||||||
stmt = this.connection.createStatement();
|
stmt = this.connection.createStatement();
|
||||||
} catch (SQLException throwables) {
|
rs = stmt.executeQuery(existe);
|
||||||
throwables.printStackTrace();
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
rs = stmt.executeQuery(existe);
|
|
||||||
} catch (SQLException throwables) {
|
} catch (SQLException throwables) {
|
||||||
throwables.printStackTrace();
|
throwables.printStackTrace();
|
||||||
}
|
}
|
||||||
String P = "" ;
|
String P = "" ;
|
||||||
try {
|
try {
|
||||||
P = rs.getString("Pseudo");
|
if(rs.next()){
|
||||||
|
P = rs.getString("Pseudo");
|
||||||
|
// On recupere le pseudo de l'utilisateur dont l'ID est le parametre d'entree ID
|
||||||
|
// Si l'utilisateur n'est pas encore dans la base de donnée , P reste vide
|
||||||
|
}
|
||||||
} catch (SQLException throwables) {
|
} catch (SQLException throwables) {
|
||||||
throwables.printStackTrace();
|
throwables.printStackTrace();
|
||||||
}
|
}
|
||||||
if( !P.equals("") ) {
|
if( !P.equals("") ) {
|
||||||
// L'utilisateur existe deja
|
// L'utilisateur existe deja
|
||||||
if (!P.equals(Pseudo)){
|
System.out.println("L'utilisateur " + P + " existe deja");
|
||||||
|
if (!P.equals(Pseudo)){ // On regarde si le pseudo associé à ID dans la base de donnee est bien a jour
|
||||||
this.majPseudo(ID,Pseudo); // On met a jour le nouveau pseudo
|
this.majPseudo(ID,Pseudo); // On met a jour le nouveau pseudo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
// L'utilisateur n'existe pas , on va le rajouter.
|
||||||
|
System.out.println("On rajoute l'utilisateur " + Pseudo);
|
||||||
String requete = "INSERT INTO `Utilisateurs` (`ID`, `Pseudo`, `Actif`) VALUES ( ? , ? , '1')";
|
String requete = "INSERT INTO `Utilisateurs` (`ID`, `Pseudo`, `Actif`) VALUES ( ? , ? , '1')";
|
||||||
PreparedStatement Ps = null;
|
PreparedStatement Ps = null;
|
||||||
//Statement est utilisé pour envoyer une requete SQL à la base de donnee
|
//Statement est utilisé pour envoyer une requete SQL à la base de donnee
|
||||||
try {
|
try {
|
||||||
Ps = connection.prepareStatement(requete);
|
Ps = connection.prepareStatement(requete);
|
||||||
Ps.setString(1, ID);
|
Ps.setString(1, ID); // ? n°1 devient la valeur contenu dans ID
|
||||||
Ps.setString(2, Pseudo);
|
Ps.setString(2, Pseudo); // ? n°2 devient la valeur contenu dans Pseudo
|
||||||
System.out.println("Statement cree");
|
System.out.println("Statement cree");
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
System.out.println("Echec creation Statement");
|
System.out.println("Echec creation Statement");
|
||||||
}
|
}
|
||||||
|
|
||||||
//Execute la donnée SQL statement passe en parametre
|
//Execute la donnée SQL statement passe en parametre
|
||||||
try {
|
try {
|
||||||
Ps.executeUpdate();
|
Ps.executeUpdate();
|
||||||
|
@ -229,20 +240,20 @@ public class DataBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Methode permettant de mettre a jour les utilisateurs actuellement actif
|
* Methode permettant de mettre a jour les utilisateurs actuellement actif
|
||||||
* @param ID Id de l'utilisateur qui vient de se connecter ou deconnecter
|
* @param Id Id de l'utilisateur qui vient de se connecter ou deconnecter
|
||||||
* @param connecte Boolean true si il est connecte , false sinon
|
* @param Connecte Boolean true si il est connecte , false sinon
|
||||||
*/
|
*/
|
||||||
public void majUtilisateursActifs(Boolean Connecte, String Id) {
|
public void majUtilisateursActifs(Boolean Connecte, String Id) {
|
||||||
String requete= "UPDATE `Utilisateurs` SET `Actif`=? WHERE id=?";
|
String requete= "UPDATE `Utilisateurs` SET `Actif`=? WHERE id=?";
|
||||||
PreparedStatement Ps = null ;
|
PreparedStatement Ps = null ;
|
||||||
Integer Actif = Connecte ? 1 : 0;
|
Integer Actif = Connecte ? 1 : 0; // True -> 1 , False -> 0
|
||||||
//Statement est utilisé pour envoyer une requete SQL à la base de donnee
|
//Statement est utilisé pour envoyer une requete SQL à la base de donnee
|
||||||
try {
|
try {
|
||||||
Ps = connection.prepareStatement(requete);
|
Ps = connection.prepareStatement(requete);
|
||||||
Ps.setInt(1, Actif);
|
Ps.setInt(1, Actif); // ? n°1 devient la valeur contenu dans Actif (1 ou 0)
|
||||||
Ps.setString(2, Id);
|
Ps.setString(2, Id); // // ? n°2 devient la valeur contenu dans Id
|
||||||
System.out.println("Statement cree");
|
System.out.println("Statement cree");
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -257,10 +268,11 @@ public class DataBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Methode permettant de recuperer les N derniers messages envoyés entre 2 utilisateurs
|
* Methode permettant de recuperer les N derniers messages envoyés entre 2 utilisateurs
|
||||||
* @param ID Utilisateur associé a ChatApp
|
* @param ID Utilisateur associé a ChatApp
|
||||||
* @param destinataire Celui avec qui correspond ID
|
* @param IDdestinataire Celui avec qui correspond ID
|
||||||
|
* @param N le nombre de messages souhaités
|
||||||
* @return Les N derniers Messages
|
* @return Les N derniers Messages
|
||||||
*/
|
*/
|
||||||
public String recupNMsg(String ID, String IDdestinataire, int N) {
|
public String recupNMsg(String ID, String IDdestinataire, int N) {
|
||||||
|
@ -273,11 +285,11 @@ public class DataBase {
|
||||||
grand = IDdestinataire;
|
grand = IDdestinataire;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
petit = ID;
|
petit = IDdestinataire;
|
||||||
grand = IDdestinataire ;
|
grand = ID ;
|
||||||
}
|
}
|
||||||
String nomTable = "Chat_" + petit + "_" + grand ;
|
String nomTable = "Chat_" + petit + "_" + grand ;
|
||||||
String requete= "SELECT * FROM nomTable";
|
String requete = "SELECT * FROM "+ nomTable;
|
||||||
Statement stmt = null;
|
Statement stmt = null;
|
||||||
ResultSet rs = null ;
|
ResultSet rs = null ;
|
||||||
try {
|
try {
|
||||||
|
@ -290,7 +302,10 @@ public class DataBase {
|
||||||
} catch (SQLException throwables) {
|
} catch (SQLException throwables) {
|
||||||
throwables.printStackTrace();
|
throwables.printStackTrace();
|
||||||
}
|
}
|
||||||
|
Integer Taille = tailleBDD(nomTable);
|
||||||
|
if(Taille < N ){
|
||||||
|
N = Taille ;
|
||||||
|
}
|
||||||
for(int i = 0 ; i < N; i++){
|
for(int i = 0 ; i < N; i++){
|
||||||
try {
|
try {
|
||||||
if( rs.next()){
|
if( rs.next()){
|
||||||
|
@ -304,24 +319,25 @@ public class DataBase {
|
||||||
String PseudoSource = getPseudo(IDSource) ;
|
String PseudoSource = getPseudo(IDSource) ;
|
||||||
Msg += ( PseudoSource + "(" + Envoi + ") : " + Message );
|
Msg += ( PseudoSource + "(" + Envoi + ") : " + Message );
|
||||||
}
|
}
|
||||||
|
Msg += '\n';
|
||||||
}
|
}
|
||||||
|
// MSG de la forme :
|
||||||
|
// Source (Date) : Texte
|
||||||
} catch (SQLException throwables) {
|
} catch (SQLException throwables) {
|
||||||
throwables.printStackTrace();
|
throwables.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Msg ;
|
return Msg ;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Methode permettant de recuperer le pseudo actuel d'un utilisateur en fonction de son ID
|
* Methode permettant de recuperer le pseudo actuel d'un utilisateur en fonction de son ID
|
||||||
* @param ID Id de l'utilsateur dont on veut connaitre le pseudo
|
* @param idSource Id de l'utilsateur dont on veut connaitre le pseudo
|
||||||
* @return Pseudo
|
* @return Pseudo
|
||||||
*/
|
*/
|
||||||
private String getPseudo(String idSource) {
|
private String getPseudo(String idSource) {
|
||||||
String Pseudo = "" ;
|
String Pseudo = "" ;
|
||||||
String requete= "SELECT * FROM `Utilisateurs` WHERE ID = " + idSource;
|
String requete= "SELECT * FROM `Utilisateurs` WHERE `ID` LIKE '" + idSource + "'";
|
||||||
Statement stmt = null;
|
Statement stmt = null;
|
||||||
ResultSet rs = null ;
|
ResultSet rs = null ;
|
||||||
try {
|
try {
|
||||||
|
@ -335,13 +351,110 @@ public class DataBase {
|
||||||
throwables.printStackTrace();
|
throwables.printStackTrace();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
if (! rs.getString("Pseudo").equals(null) ){
|
if (rs.next()){
|
||||||
Pseudo = rs.getString("Pseudo") ;
|
Pseudo = rs.getString("Pseudo") ;
|
||||||
}
|
}
|
||||||
|
} catch (SQLException throwables) {
|
||||||
|
throwables.printStackTrace();
|
||||||
|
}
|
||||||
|
return Pseudo ;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Methode permettant de recuperer les messages d'une plage de donnée [deb,fin] envoyés entre 2 utilisateurs
|
||||||
|
* @param ID Utilisateur associé a ChatApp
|
||||||
|
* @param IDdestinataire Celui avec qui correspond ID
|
||||||
|
* @param deb On veut les messages à partir de l'indice deb
|
||||||
|
* @param fin On veut les messages jusqu'a l'indice fin
|
||||||
|
* @return Les messages d'une plage de donnée [deb,fin]
|
||||||
|
*/
|
||||||
|
public String recupMsg(String ID, String IDdestinataire, int deb , int fin) {
|
||||||
|
String Msg = "" ;
|
||||||
|
String petit;
|
||||||
|
String grand;
|
||||||
|
int comparaison = ID.compareTo(IDdestinataire);
|
||||||
|
if (comparaison < 0) {
|
||||||
|
petit = ID;
|
||||||
|
grand = IDdestinataire;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
petit = IDdestinataire;
|
||||||
|
grand = ID ;
|
||||||
|
}
|
||||||
|
String nomTable = "Chat_" + petit + "_" + grand ;
|
||||||
|
String requete = "SELECT * FROM "+ nomTable;
|
||||||
|
Statement stmt = null;
|
||||||
|
ResultSet rs = null ;
|
||||||
|
try {
|
||||||
|
stmt = this.connection.createStatement();
|
||||||
} catch (SQLException throwables) {
|
} catch (SQLException throwables) {
|
||||||
throwables.printStackTrace();
|
throwables.printStackTrace();
|
||||||
}
|
}
|
||||||
return Pseudo ;
|
try {
|
||||||
|
rs = stmt.executeQuery(requete);
|
||||||
|
} catch (SQLException throwables) {
|
||||||
|
throwables.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i = 0 ; i < fin; i++){
|
||||||
|
try {
|
||||||
|
if( rs.next()){
|
||||||
|
String IDSource = rs.getString("Source");
|
||||||
|
String Envoi = rs.getTimestamp("Envoi").toString();
|
||||||
|
String Message = rs.getString("Message");
|
||||||
|
if (IDSource.equals(ID)){
|
||||||
|
//Msg += ( "Moi (" + Envoi + ") : " + Message ) ;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
String PseudoSource = getPseudo(IDSource) ;
|
||||||
|
Msg += ( PseudoSource + "(" + Envoi + ") : " + Message );
|
||||||
|
}
|
||||||
|
Msg += '\n';
|
||||||
|
}
|
||||||
|
} catch (SQLException throwables) {
|
||||||
|
throwables.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return Msg ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cette méthode sert à recuperer la taille d'un base de donnée
|
||||||
|
* @param nomTable Nom de la table de donnée dont on veut récuperer le nom
|
||||||
|
* @return Taille de la BDD
|
||||||
|
*/
|
||||||
|
public Integer tailleBDD(String nomTable) {
|
||||||
|
Integer Taille = 0 ;
|
||||||
|
String requete = "SELECT * FROM `"+nomTable+ "`";
|
||||||
|
Statement stmt = null;
|
||||||
|
ResultSet rs = null ;
|
||||||
|
try {
|
||||||
|
stmt = this.connection.createStatement();
|
||||||
|
} catch (SQLException throwables) {
|
||||||
|
throwables.printStackTrace();
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
rs = stmt.executeQuery(requete);
|
||||||
|
} catch (SQLException throwables) {
|
||||||
|
throwables.printStackTrace();
|
||||||
|
}
|
||||||
|
while(true){
|
||||||
|
try {
|
||||||
|
if (!rs.next()) break;
|
||||||
|
} catch (SQLException throwables) {
|
||||||
|
throwables.printStackTrace();
|
||||||
|
}
|
||||||
|
Taille++;
|
||||||
|
}
|
||||||
|
return Taille;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
DataBase db = DataBase.getInstance();
|
||||||
|
String Msg = db.recupNMsg("MacYAYA", "MacBibil", 5);
|
||||||
|
System.out.println(Msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
読み込み中…
新しいイシューから参照