diff --git a/Implementation/chatapp/build/tmp/compileJava/source-classes-mapping.txt b/Implementation/chatapp/build/tmp/compileJava/source-classes-mapping.txt index acaf915..1c6d54d 100644 --- a/Implementation/chatapp/build/tmp/compileJava/source-classes-mapping.txt +++ b/Implementation/chatapp/build/tmp/compileJava/source-classes-mapping.txt @@ -13,14 +13,15 @@ chatapp/Protocol/RunnerEcouteTCP.java chatapp/View/FenetreSession.java chatapp.View.FenetreSession chatapp.View.FenetreSession$1 -chatapp/Protocol/HttpEchange.java - chatapp.Protocol.HttpEchange +chatapp/Controller/ChatApp.java + chatapp.Controller.ChatApp chatapp/View/ChangementPseudo.java chatapp.View.ChangementPseudo -chatapp/View/View_Menu.java - chatapp.View.View_Menu -chatapp/View/DemarrerSession.java - chatapp.View.DemarrerSession +chatapp/Protocol/RunnerEcouteUDP.java + chatapp.Protocol.RunnerEcouteUDP +chatapp/Protocol/UDPEchange.java + chatapp.Protocol.RunnerUDP + chatapp.Protocol.UDPEchange chatapp/Main.java chatapp.Main chatapp/View/Clavardage.java @@ -32,10 +33,9 @@ chatapp/View/ConnexionScreen.java chatapp.View.ConnexionScreen chatapp/View/View_Utilisateurs.java chatapp.View.View_Utilisateurs -chatapp/Protocol/UDPEchange.java - chatapp.Protocol.RunnerUDP - chatapp.Protocol.UDPEchange -chatapp/Controller/ChatApp.java - chatapp.Controller.ChatApp -chatapp/Protocol/RunnerEcouteUDP.java - chatapp.Protocol.RunnerEcouteUDP +chatapp/View/View_Menu.java + chatapp.View.View_Menu +chatapp/Protocol/HttpEchange.java + chatapp.Protocol.HttpEchange +chatapp/View/DemarrerSession.java + chatapp.View.DemarrerSession diff --git a/Implementation/chatapp/src/main/java/chatapp/Controller/ChatApp.java b/Implementation/chatapp/src/main/java/chatapp/Controller/ChatApp.java index 1ec0daf..c07ccd2 100644 --- a/Implementation/chatapp/src/main/java/chatapp/Controller/ChatApp.java +++ b/Implementation/chatapp/src/main/java/chatapp/Controller/ChatApp.java @@ -110,7 +110,24 @@ public class ChatApp implements PropertyChangeListener { * @return False si modiferPseudo a echoue, True sinon */ private boolean modifierPseudoExterne(String nouveau) { - return false; + boolean reussi = false; + try { + if(externeEchange.sendPost("Pseudo " + nouveau)){ + reussi = true ; + this.getMe().setPseudo(nouveau); + db.majPseudo(this.me.getId(),nouveau); + System.out.println("Changement pseudo accepte, nouvelle liste des utilisateurs actifs:"); + this.getActifUsers().afficherListeUtilisateurs(); + } + else{ + System.out.println("Echec changement de pseudo"); + } + } catch (IOException e) { + e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + return reussi; } /** @@ -183,7 +200,15 @@ public class ChatApp implements PropertyChangeListener { */ private boolean connexionExterne(String pseudo) throws IOException, InterruptedException{ this.me.setPseudo(pseudo); - return externeEchange.sendPost("Connexion"); + if(externeEchange.sendPost("Connexion")){ + this.connecte=true; + this.db.ajoutUtilisateurs(this.me.getId(),pseudo); + this.db.majUtilisateursActifs(true,this.me.getId()); + return true; + } + else{ + return false; + } } @@ -214,7 +239,7 @@ public class ChatApp implements PropertyChangeListener { else { System.out.println("Connexion echoue"); - UDPEchange.setConnecte(false); + UDPEchange.setConnecte(true); return false ; } } @@ -265,8 +290,31 @@ public class ChatApp implements PropertyChangeListener { * Il va prevenir le serveur de presence de son depart.
* */ - private void deconnexionExterne() { + private void deconnexionExterne() throws IOException{ // A IMPLEMENTER + System.out.println("Deco lancee"); + boolean deco = false; + try { + deco = externeEchange.sendPost("Deconnexion"); + } catch (InterruptedException e) { + e.printStackTrace(); + } + if(deco){ + System.out.print("Deconnexion reussie"); + } + else{ + System.out.println("Deconnexion echouee"); + } + db.majUtilisateursActifs(false,this.me.getId()); + this.connecte=false; + try { + main.stop(); + } catch (Exception e) { + e.printStackTrace(); + } + Platform.exit(); + System.exit(0); + } diff --git a/Implementation/chatapp/src/main/java/chatapp/Protocol/HttpEchange.java b/Implementation/chatapp/src/main/java/chatapp/Protocol/HttpEchange.java index 396bad2..c89d43a 100644 --- a/Implementation/chatapp/src/main/java/chatapp/Protocol/HttpEchange.java +++ b/Implementation/chatapp/src/main/java/chatapp/Protocol/HttpEchange.java @@ -37,6 +37,7 @@ public class HttpEchange { */ public boolean sendPost(String type) throws IOException, InterruptedException{ boolean reussi = false ; + /*---------------------------------CONNEXION---------------------------------*/ if (type.equals("Connexion")){ System.out.println("Tentative de connexion distante"); HttpClient client = HttpClient.newHttpClient(); @@ -63,6 +64,60 @@ public class HttpEchange { } } } + /*---------------------------------DECONNEXION---------------------------------*/ + else if(type.equals("Deconnexion")){ + System.out.println("Tentative de deconnexion distante"); + HttpClient client = HttpClient.newHttpClient(); + String requestBody = "Deconnexion\n" + this.chatapp.getMe().toString() ; + HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create(url)) + .POST(HttpRequest.BodyPublishers.ofString(requestBody)) + .build(); + + HttpResponse