Correction de quelques bugs

This commit is contained in:
Auriane Lartigue 2020-12-28 12:25:42 +04:00
parent 9e78fabd30
commit a3ca07fe22
4 changed files with 53 additions and 54 deletions

View file

@ -1,27 +1,31 @@
chatapp/View/ConnexionScreen.java
chatapp.View.ConnexionScreen
chatapp/View/DemarrerSession.java chatapp/View/DemarrerSession.java
chatapp.View.DemarrerSession chatapp.View.DemarrerSession
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/Model/DataBase.java chatapp/View/ConnexionScreen.java
chatapp.Model.DataBase chatapp.View.ConnexionScreen
chatapp/View/ChangementPseudo.java chatapp/View/ChangementPseudo.java
chatapp.View.ChangementPseudo chatapp.View.ChangementPseudo
chatapp/Protocol/RunnerEcouteUDP.java chatapp/View/View_Utilisateurs.java
chatapp.Protocol.RunnerEcouteUDP chatapp.View.View_Utilisateurs
chatapp/Model/MessageHorodate.java
chatapp.Model.MessageHorodate
chatapp/Model/ListUtilisateurs.java chatapp/Model/ListUtilisateurs.java
chatapp.Model.ListUtilisateurs chatapp.Model.ListUtilisateurs
chatapp/View/View_Menu.java
chatapp.View.View_Menu
chatapp/Launcher.java
chatapp.Launcher
chatapp/Protocol/RunnerEcouteTCP.java
chatapp.Protocol.RunnerEcouteTCP
chatapp/Protocol/UDPEchange.java chatapp/Protocol/UDPEchange.java
chatapp.Protocol.RunnerUDP chatapp.Protocol.RunnerUDP
chatapp.Protocol.UDPEchange chatapp.Protocol.UDPEchange
chatapp/Model/MessageHorodate.java chatapp/Controller/ChatApp.java
chatapp.Model.MessageHorodate chatapp.Controller.ChatApp
chatapp/Main.java chatapp/Main.java
chatapp.Main chatapp.Main
chatapp/View/Clavardage.java chatapp/View/Clavardage.java
@ -29,11 +33,7 @@ chatapp/View/Clavardage.java
chatapp.View.Clavardage$1 chatapp.View.Clavardage$1
chatapp/Protocol/SessionClavardage.java chatapp/Protocol/SessionClavardage.java
chatapp.Protocol.SessionClavardage chatapp.Protocol.SessionClavardage
chatapp/View/View_Utilisateurs.java chatapp/Model/DataBase.java
chatapp.View.View_Utilisateurs chatapp.Model.DataBase
chatapp/Model/Utilisateur.java chatapp/Protocol/RunnerEcouteUDP.java
chatapp.Model.Utilisateur chatapp.Protocol.RunnerEcouteUDP
chatapp/View/View_Menu.java
chatapp.View.View_Menu
chatapp/Launcher.java
chatapp.Launcher

View file

@ -193,33 +193,8 @@ public class DataBase {
* @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 if(this.idExiste(ID)){
String existe= "SELECT * FROM `Utilisateurs` WHERE `ID` LIKE '" + ID +"'"; this.majPseudo(ID, Pseudo);
Statement stmt;
ResultSet rs = null ;
try {
stmt = this.connection.createStatement();
rs = stmt.executeQuery(existe);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
String P = "" ;
try {
assert rs != null;
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) {
throwables.printStackTrace();
}
if( !P.equals("") ) {
// L'utilisateur existe deja
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
}
} }
else { else {
// L'utilisateur n'existe pas , on va le rajouter. // L'utilisateur n'existe pas , on va le rajouter.
@ -297,7 +272,7 @@ public class DataBase {
grand = ID ; 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 {
@ -392,7 +367,7 @@ public class DataBase {
grand = ID ; 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 {
@ -467,4 +442,25 @@ public class DataBase {
} }
return Taille; return Taille;
} }
/**
* Methode permettant de savoir si un utilisateur existe dans la base de donnée 'Utilisateurs'
* @param ID On recherche l'utilisateur dont l'ID est ID
* @return True si l'utilisateur existe , False sinon
*/
public boolean idExiste(String ID){
boolean existe = false ;
// Verification que l'utilisateur n'existe pas
String requete = "SELECT * FROM `Utilisateurs` WHERE `ID` LIKE '" + ID +"'";
Statement stmt;
ResultSet rs = null ;
try {
stmt = this.connection.createStatement();
rs = stmt.executeQuery(requete);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
existe = (!rs.equals(null));
return existe;
}
} }

View file

@ -24,7 +24,6 @@ public class SessionClavardage extends Thread {
private ObjectOutputStream out; private ObjectOutputStream out;
private ObjectInputStream in; private ObjectInputStream in;
private PropertyChangeSupport pcs; private PropertyChangeSupport pcs;
private DataBase db;
private ArrayList<MessageHorodate> derniersMsg; // on met temporairement les derniers msgs pour éviter les pb de synchro inter-threads private ArrayList<MessageHorodate> derniersMsg; // on met temporairement les derniers msgs pour éviter les pb de synchro inter-threads
private int SessionID; private int SessionID;
public SessionClavardage(Socket link, ChatApp app) { public SessionClavardage(Socket link, ChatApp app) {
@ -39,8 +38,6 @@ public class SessionClavardage extends Thread {
} }
this.derniersMsg = new ArrayList<MessageHorodate>(); this.derniersMsg = new ArrayList<MessageHorodate>();
this.SessionID = 2; this.SessionID = 2;
this.db=DataBase.getInstance();
Platform.runLater( () -> Platform.runLater( () ->
new FenetreSession(this) new FenetreSession(this)
); );
@ -62,7 +59,7 @@ public class SessionClavardage extends Thread {
} }
this.derniersMsg = new ArrayList<MessageHorodate>(); this.derniersMsg = new ArrayList<MessageHorodate>();
this.pcs = new PropertyChangeSupport(this); this.pcs = new PropertyChangeSupport(this);
db.CreationTableHistorique("Doudou","Marvel"); this.app.getDb().CreationTableHistorique("Doudou","Marvel");
this.start(); this.start();
Platform.runLater( () -> Platform.runLater( () ->
new FenetreSession(this) new FenetreSession(this)

View file

@ -22,8 +22,9 @@ import javafx.scene.text.Text;
import javafx.stage.Stage; import javafx.stage.Stage;
public class Clavardage implements Initializable, PropertyChangeListener { public class Clavardage implements Initializable, PropertyChangeListener {
@FXML //fx:id="plusButton"
public Button plusButton; public Button plusButton;
@FXML // ResourceBundle that was given to the FXMLLoader @FXML // ResourceBundle that was given to the FXMLLoader
private ResourceBundle resources; private ResourceBundle resources;
@ -46,6 +47,7 @@ public class Clavardage implements Initializable, PropertyChangeListener {
private Utilisateur u2; private Utilisateur u2;
private SessionClavardage session; private SessionClavardage session;
private Integer Indice = 0 ;
@FXML @FXML
void envoyerMessage(ActionEvent event) { void envoyerMessage(ActionEvent event) {
@ -83,6 +85,7 @@ public class Clavardage implements Initializable, PropertyChangeListener {
msg += " ("+ d.toString() +") "; msg += " ("+ d.toString() +") ";
msg+=": "+msgh.getMessage(); msg+=": "+msgh.getMessage();
ChatText.appendText(msg); ChatText.appendText(msg);
Indice++;
break; break;
case "FinDeLaSession" : case "FinDeLaSession" :
this.session.arretSession(); this.session.arretSession();
@ -108,5 +111,8 @@ public class Clavardage implements Initializable, PropertyChangeListener {
} }
public void ajouterMessagesHistorique(ActionEvent actionEvent) { public void ajouterMessagesHistorique(ActionEvent actionEvent) {
String historique = this.session.getApp().getDb().recupMsg(session.getApp().getMe().getId(),this.u2.getId(), Indice , Indice + 5);
Indice +=5;
ChatText.insertText(0,historique);
} }
} }