diff --git a/Implementation/chatapp/build/tmp/compileJava/source-classes-mapping.txt b/Implementation/chatapp/build/tmp/compileJava/source-classes-mapping.txt index 927369d..3add4f0 100644 --- a/Implementation/chatapp/build/tmp/compileJava/source-classes-mapping.txt +++ b/Implementation/chatapp/build/tmp/compileJava/source-classes-mapping.txt @@ -1,27 +1,31 @@ -chatapp/View/ConnexionScreen.java - chatapp.View.ConnexionScreen chatapp/View/DemarrerSession.java chatapp.View.DemarrerSession -chatapp/Protocol/RunnerEcouteTCP.java - chatapp.Protocol.RunnerEcouteTCP chatapp/View/FenetreSession.java chatapp.View.FenetreSession chatapp.View.FenetreSession$1 -chatapp/Controller/ChatApp.java - chatapp.Controller.ChatApp -chatapp/Model/DataBase.java - chatapp.Model.DataBase +chatapp/Model/Utilisateur.java + chatapp.Model.Utilisateur +chatapp/View/ConnexionScreen.java + chatapp.View.ConnexionScreen chatapp/View/ChangementPseudo.java chatapp.View.ChangementPseudo -chatapp/Protocol/RunnerEcouteUDP.java - chatapp.Protocol.RunnerEcouteUDP +chatapp/View/View_Utilisateurs.java + chatapp.View.View_Utilisateurs +chatapp/Model/MessageHorodate.java + chatapp.Model.MessageHorodate chatapp/Model/ListUtilisateurs.java 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.RunnerUDP chatapp.Protocol.UDPEchange -chatapp/Model/MessageHorodate.java - chatapp.Model.MessageHorodate +chatapp/Controller/ChatApp.java + chatapp.Controller.ChatApp chatapp/Main.java chatapp.Main chatapp/View/Clavardage.java @@ -29,11 +33,7 @@ chatapp/View/Clavardage.java chatapp.View.Clavardage$1 chatapp/Protocol/SessionClavardage.java chatapp.Protocol.SessionClavardage -chatapp/View/View_Utilisateurs.java - chatapp.View.View_Utilisateurs -chatapp/Model/Utilisateur.java - chatapp.Model.Utilisateur -chatapp/View/View_Menu.java - chatapp.View.View_Menu -chatapp/Launcher.java - chatapp.Launcher +chatapp/Model/DataBase.java + chatapp.Model.DataBase +chatapp/Protocol/RunnerEcouteUDP.java + chatapp.Protocol.RunnerEcouteUDP diff --git a/Implementation/chatapp/src/main/java/chatapp/Model/DataBase.java b/Implementation/chatapp/src/main/java/chatapp/Model/DataBase.java index 29cdaf1..1764bab 100644 --- a/Implementation/chatapp/src/main/java/chatapp/Model/DataBase.java +++ b/Implementation/chatapp/src/main/java/chatapp/Model/DataBase.java @@ -193,33 +193,8 @@ public class DataBase { * @param Pseudo pseudo actuelle de l'utilisateur */ public void ajoutUtilisateurs(String ID , String Pseudo ) { - // Verification que l'utilisateur n'existe pas - String existe= "SELECT * FROM `Utilisateurs` WHERE `ID` LIKE '" + ID +"'"; - 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 - } + if(this.idExiste(ID)){ + this.majPseudo(ID, Pseudo); } else { // L'utilisateur n'existe pas , on va le rajouter. @@ -297,7 +272,7 @@ public class DataBase { grand = ID ; } String nomTable = "Chat_" + petit + "_" + grand ; - String requete = "SELECT * FROM "+ nomTable; + String requete = "SELECT * FROM `"+ nomTable +"`"; Statement stmt = null; ResultSet rs = null ; try { @@ -392,7 +367,7 @@ public class DataBase { grand = ID ; } String nomTable = "Chat_" + petit + "_" + grand ; - String requete = "SELECT * FROM "+ nomTable; + String requete = "SELECT * FROM `"+ nomTable+"`"; Statement stmt = null; ResultSet rs = null ; try { @@ -467,4 +442,25 @@ public class DataBase { } 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; + } } diff --git a/Implementation/chatapp/src/main/java/chatapp/Protocol/SessionClavardage.java b/Implementation/chatapp/src/main/java/chatapp/Protocol/SessionClavardage.java index fc655cc..e5c35e5 100644 --- a/Implementation/chatapp/src/main/java/chatapp/Protocol/SessionClavardage.java +++ b/Implementation/chatapp/src/main/java/chatapp/Protocol/SessionClavardage.java @@ -24,7 +24,6 @@ public class SessionClavardage extends Thread { private ObjectOutputStream out; private ObjectInputStream in; private PropertyChangeSupport pcs; - private DataBase db; private ArrayList derniersMsg; // on met temporairement les derniers msgs pour éviter les pb de synchro inter-threads private int SessionID; public SessionClavardage(Socket link, ChatApp app) { @@ -39,8 +38,6 @@ public class SessionClavardage extends Thread { } this.derniersMsg = new ArrayList(); this.SessionID = 2; - this.db=DataBase.getInstance(); - Platform.runLater( () -> new FenetreSession(this) ); @@ -62,7 +59,7 @@ public class SessionClavardage extends Thread { } this.derniersMsg = new ArrayList(); this.pcs = new PropertyChangeSupport(this); - db.CreationTableHistorique("Doudou","Marvel"); + this.app.getDb().CreationTableHistorique("Doudou","Marvel"); this.start(); Platform.runLater( () -> new FenetreSession(this) diff --git a/Implementation/chatapp/src/main/java/chatapp/View/Clavardage.java b/Implementation/chatapp/src/main/java/chatapp/View/Clavardage.java index 91e9f1f..f4ef160 100644 --- a/Implementation/chatapp/src/main/java/chatapp/View/Clavardage.java +++ b/Implementation/chatapp/src/main/java/chatapp/View/Clavardage.java @@ -22,8 +22,9 @@ import javafx.scene.text.Text; import javafx.stage.Stage; public class Clavardage implements Initializable, PropertyChangeListener { - + @FXML //fx:id="plusButton" public Button plusButton; + @FXML // ResourceBundle that was given to the FXMLLoader private ResourceBundle resources; @@ -46,6 +47,7 @@ public class Clavardage implements Initializable, PropertyChangeListener { private Utilisateur u2; private SessionClavardage session; + private Integer Indice = 0 ; @FXML void envoyerMessage(ActionEvent event) { @@ -83,6 +85,7 @@ public class Clavardage implements Initializable, PropertyChangeListener { msg += " ("+ d.toString() +") "; msg+=": "+msgh.getMessage(); ChatText.appendText(msg); + Indice++; break; case "FinDeLaSession" : this.session.arretSession(); @@ -108,5 +111,8 @@ public class Clavardage implements Initializable, PropertyChangeListener { } 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); } } \ No newline at end of file