diff --git a/build.gradle b/build.gradle index 36100f0..7ffb40d 100644 --- a/build.gradle +++ b/build.gradle @@ -23,6 +23,7 @@ dependencies { testImplementation("org.junit.jupiter:junit-jupiter-api:${junitVersion}") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${junitVersion}") + //implementation files('build/libs/Clavardage-1.0.jar') } test { diff --git a/build/classes/java/main/app/insa/clav/Core/Utilisateurs.class b/build/classes/java/main/app/insa/clav/Core/Utilisateurs.class new file mode 100644 index 0000000..49c3ecc Binary files /dev/null and b/build/classes/java/main/app/insa/clav/Core/Utilisateurs.class differ diff --git a/build/classes/java/main/app/insa/clav/Messages/Message.class b/build/classes/java/main/app/insa/clav/Messages/Message.class new file mode 100644 index 0000000..87dda1d Binary files /dev/null and b/build/classes/java/main/app/insa/clav/Messages/Message.class differ diff --git a/build/classes/java/main/app/insa/clav/Messages/MessagePseudo.class b/build/classes/java/main/app/insa/clav/Messages/MessagePseudo.class new file mode 100644 index 0000000..9c14b91 Binary files /dev/null and b/build/classes/java/main/app/insa/clav/Messages/MessagePseudo.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/GetAllUsers.class b/build/classes/java/main/com/example/ServeurClavardage/GetAllUsers.class index f141d13..827b5c1 100644 Binary files a/build/classes/java/main/com/example/ServeurClavardage/GetAllUsers.class and b/build/classes/java/main/com/example/ServeurClavardage/GetAllUsers.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/GetOutdoorUsers.class b/build/classes/java/main/com/example/ServeurClavardage/GetOutdoorUsers.class index 93530f7..a030d2a 100644 Binary files a/build/classes/java/main/com/example/ServeurClavardage/GetOutdoorUsers.class and b/build/classes/java/main/com/example/ServeurClavardage/GetOutdoorUsers.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Messages/Message.class b/build/classes/java/main/com/example/ServeurClavardage/Messages/Message.class deleted file mode 100644 index dcef62f..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/Messages/Message.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageChatFile.class b/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageChatFile.class deleted file mode 100644 index cfdcd0e..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageChatFile.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageChatTxt.class b/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageChatTxt.class deleted file mode 100644 index 3b56fcd..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageChatTxt.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageDisplay.class b/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageDisplay.class deleted file mode 100644 index 5e1b55a..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageDisplay.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageDisplayFile.class b/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageDisplayFile.class deleted file mode 100644 index f738c3e..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageDisplayFile.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageInit.class b/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageInit.class deleted file mode 100644 index 9b390e4..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/Messages/MessageInit.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Messages/MessagePseudo.class b/build/classes/java/main/com/example/ServeurClavardage/Messages/MessagePseudo.class deleted file mode 100644 index 6ff48a7..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/Messages/MessagePseudo.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/SharedInformation.class b/build/classes/java/main/com/example/ServeurClavardage/SharedInformation.class index 5807f6c..29a0940 100644 Binary files a/build/classes/java/main/com/example/ServeurClavardage/SharedInformation.class and b/build/classes/java/main/com/example/ServeurClavardage/SharedInformation.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionIndoor.class b/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionIndoor.class index c49d4a8..1b65e08 100644 Binary files a/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionIndoor.class and b/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionIndoor.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionOutdoor.class b/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionOutdoor.class index 55acf49..e5af457 100644 Binary files a/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionOutdoor.class and b/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionOutdoor.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionIndoor.class b/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionIndoor.class index 073de43..50ce28e 100644 Binary files a/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionIndoor.class and b/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionIndoor.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.class b/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.class index 9f3a247..9e22614 100644 Binary files a/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.class and b/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Utilisateurs.class b/build/classes/java/main/com/example/ServeurClavardage/Utilisateurs.class deleted file mode 100644 index 8c4c107..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/Utilisateurs.class and /dev/null differ diff --git a/build/libs/Clavardage-1.0.jar b/build/libs/Clavardage-1.0.jar new file mode 100644 index 0000000..9ceb3d5 Binary files /dev/null and b/build/libs/Clavardage-1.0.jar differ diff --git a/build/libs/ServeurClavardage-1.0-SNAPSHOT.war b/build/libs/ServeurClavardage-1.0-SNAPSHOT.war deleted file mode 100644 index 4790fc0..0000000 Binary files a/build/libs/ServeurClavardage-1.0-SNAPSHOT.war and /dev/null differ diff --git a/build/libs/ServletJiggly.war b/build/libs/ServletJiggly.war index 473bff0..ee03b8b 100644 Binary files a/build/libs/ServletJiggly.war and b/build/libs/ServletJiggly.war differ diff --git a/build/tmp/compileJava/source-classes-mapping.txt b/build/tmp/compileJava/source-classes-mapping.txt index 1319966..0bb4705 100644 --- a/build/tmp/compileJava/source-classes-mapping.txt +++ b/build/tmp/compileJava/source-classes-mapping.txt @@ -1,30 +1,20 @@ -com/example/ServeurClavardage/Messages/MessageInit.java - com.example.ServeurClavardage.Messages.MessageInit -com/example/ServeurClavardage/Messages/MessageDisplayFile.java - com.example.ServeurClavardage.Messages.MessageDisplayFile -com/example/ServeurClavardage/Messages/MessageDisplay.java - com.example.ServeurClavardage.Messages.MessageDisplay -com/example/ServeurClavardage/Messages/MessagePseudo.java - com.example.ServeurClavardage.Messages.MessagePseudo -com/example/ServeurClavardage/Messages/MessageChatFile.java - com.example.ServeurClavardage.Messages.MessageChatFile -com/example/ServeurClavardage/Utilisateurs.java - com.example.ServeurClavardage.Utilisateurs -com/example/ServeurClavardage/Messages/Message.java - com.example.ServeurClavardage.Messages.Message -com/example/ServeurClavardage/GetOutdoorUsers.java - com.example.ServeurClavardage.GetOutdoorUsers -com/example/ServeurClavardage/SharedInformation.java - com.example.ServeurClavardage.SharedInformation -com/example/ServeurClavardage/Messages/MessageChatTxt.java - com.example.ServeurClavardage.Messages.MessageChatTxt +app/insa/clav/Messages/MessagePseudo.java + app.insa.clav.Messages.MessagePseudo +app/insa/clav/Messages/Message.java + app.insa.clav.Messages.Message com/example/ServeurClavardage/GetAllUsers.java com.example.ServeurClavardage.GetAllUsers -com/example/ServeurClavardage/SubmitConnectionOutdoor.java - com.example.ServeurClavardage.SubmitConnectionOutdoor -com/example/ServeurClavardage/SubmitConnectionIndoor.java - com.example.ServeurClavardage.SubmitConnectionIndoor +com/example/ServeurClavardage/GetOutdoorUsers.java + com.example.ServeurClavardage.GetOutdoorUsers com/example/ServeurClavardage/SubmitDeconnectionIndoor.java com.example.ServeurClavardage.SubmitDeconnectionIndoor +com/example/ServeurClavardage/SubmitConnectionOutdoor.java + com.example.ServeurClavardage.SubmitConnectionOutdoor com/example/ServeurClavardage/SubmitDeconnectionOutdoor.java com.example.ServeurClavardage.SubmitDeconnectionOutdoor +com/example/ServeurClavardage/SharedInformation.java + com.example.ServeurClavardage.SharedInformation +com/example/ServeurClavardage/SubmitConnectionIndoor.java + com.example.ServeurClavardage.SubmitConnectionIndoor +app/insa/clav/Core/Utilisateurs.java + app.insa.clav.Core.Utilisateurs diff --git a/src/main/java/com/example/ServeurClavardage/Utilisateurs.java b/src/main/java/app/insa/clav/Core/Utilisateurs.java similarity index 52% rename from src/main/java/com/example/ServeurClavardage/Utilisateurs.java rename to src/main/java/app/insa/clav/Core/Utilisateurs.java index feed895..5c18b46 100644 --- a/src/main/java/com/example/ServeurClavardage/Utilisateurs.java +++ b/src/main/java/app/insa/clav/Core/Utilisateurs.java @@ -1,7 +1,6 @@ -package com.example.ServeurClavardage; +package app.insa.clav.Core; -import java.io.Serializable; -import java.net.InetAddress; +import java.net.*; import java.util.Date; @@ -11,26 +10,20 @@ public class Utilisateurs implements Comparable{ private String pseudo; private InetAddress inetAddress; private int id; - private int port; private String login; private boolean isOutdoor; + private Date lastUpdate; + private int tcpListeningPort; - public Date getLatestUpdate() { - return latestUpdate; - } - public void setLatestUpdate(Date latestUpdate) { - this.latestUpdate = latestUpdate; - } - - private Date latestUpdate; - - public Utilisateurs(String pseudo, InetAddress inetAddress, int id, int port, boolean isOutdoor) { + public Utilisateurs(String pseudo, InetAddress inetAddress, int id, int tcpListeningPort) { this.pseudo = pseudo; this.inetAddress = inetAddress; this.id = id; - this.port = port; - this.isOutdoor = isOutdoor; + this.tcpListeningPort = tcpListeningPort; + this.isOutdoor = true; + this.lastUpdate = new Date(); + System.out.println("Date du jour " + this.lastUpdate.toString()); } public void setPseudo(String pseudo) { @@ -45,8 +38,8 @@ public class Utilisateurs implements Comparable{ this.id = id; } - public void setPort(int port) { - this.port = port; + public void setTcpListeningPort(int tcpListeningPort) { + this.tcpListeningPort = tcpListeningPort; } public String getPseudo() { @@ -61,11 +54,10 @@ public class Utilisateurs implements Comparable{ return id; } - public int getPort() { - return port; + public String getLogin() { + return login; } - public boolean isOutdoor() { return isOutdoor; } @@ -74,12 +66,38 @@ public class Utilisateurs implements Comparable{ isOutdoor = outdoor; } - - @Override - public String toString(){ - return Integer.toString(this.id) + "|" + this.pseudo + "|" + this.inetAddress.toString() + "|" + Integer.toString(this.port); + public void setLogin(String login) { + this.login = login; } + public int getTcpListeningPort() { + return tcpListeningPort; + } + + public void update() { + this.lastUpdate = new Date(); + } + + public boolean userToOld(Date date) { + System.out.println("Local Date : " + this.lastUpdate.toString()); + System.out.println("Local time : " + this.lastUpdate.getTime()); + System.out.println("Remote Date : " + date.toString()); + System.out.println("Remote Time : " + date.getTime()); + return (date.getTime() - this.lastUpdate.getTime() > 4000); + } + + @Override + public String toString() { + return "Utilisateurs{" + + "pseudo='" + pseudo + '\'' + + ", inetAddress=" + inetAddress + + ", id=" + id + + ", login='" + login + '\'' + + ", isOutdoor=" + isOutdoor + + ", lastUpdate=" + lastUpdate + + ", tcpListeningPort=" + tcpListeningPort + + '}'; + } @Override public boolean equals(Object obj) { @@ -92,12 +110,4 @@ public class Utilisateurs implements Comparable{ Utilisateurs u = (Utilisateurs) o; return this.pseudo.compareTo(u.pseudo); } - - public String getLogin() { - return login; - } - - public void setLogin(String login) { - this.login = login; - } } diff --git a/src/main/java/com/example/ServeurClavardage/Messages/Message.java b/src/main/java/app/insa/clav/Messages/Message.java similarity index 67% rename from src/main/java/com/example/ServeurClavardage/Messages/Message.java rename to src/main/java/app/insa/clav/Messages/Message.java index de68667..5be7c8c 100644 --- a/src/main/java/com/example/ServeurClavardage/Messages/Message.java +++ b/src/main/java/app/insa/clav/Messages/Message.java @@ -1,4 +1,4 @@ -package com.example.ServeurClavardage.Messages; +package app.insa.clav.Messages; import java.io.Serializable; import java.net.InetAddress; @@ -32,9 +32,6 @@ public class Message implements Serializable { */ public int typeMessage; public InetAddress srcIP; - public int srcResponsePort; //Seulement besoin car on teste en localHost - public InetAddress destIP; //Seulement pour UDP ou ouverture CO TCP - public int destPort; //Seulement pour UDP ou l'ouverture connexion TCP, sinon à 0. /** * Constructeur d'un message depuis un autre @@ -43,9 +40,6 @@ public class Message implements Serializable { public Message(Message msg){ this.typeMessage = msg.typeMessage; this.srcIP = msg.srcIP; - this.srcResponsePort = msg.srcResponsePort; - this.destIP = msg.destIP; - this.destPort = msg.destPort; } /** @@ -56,18 +50,9 @@ public class Message implements Serializable { * * @param srcIP * IP depuis laquelle le msg à été envoyé - * @param srcResponsePort - * Port à utiliser pour répondre à ce message - * @param destIP - * Ip de la machine destinataire - * @param destPort - * Port de la machine destinataire */ - public Message(int typeMessage,InetAddress srcIP, int srcResponsePort,InetAddress destIP,int destPort){ + public Message(int typeMessage,InetAddress srcIP){ this.typeMessage = typeMessage; this.srcIP = srcIP; - this.srcResponsePort = srcResponsePort; - this.destIP = destIP; - this.destPort = destPort; } } diff --git a/src/main/java/com/example/ServeurClavardage/Messages/MessagePseudo.java b/src/main/java/app/insa/clav/Messages/MessagePseudo.java similarity index 62% rename from src/main/java/com/example/ServeurClavardage/Messages/MessagePseudo.java rename to src/main/java/app/insa/clav/Messages/MessagePseudo.java index 6a1cf1c..ed42555 100644 --- a/src/main/java/com/example/ServeurClavardage/Messages/MessagePseudo.java +++ b/src/main/java/app/insa/clav/Messages/MessagePseudo.java @@ -1,4 +1,4 @@ -package com.example.ServeurClavardage.Messages; +package app.insa.clav.Messages; import java.net.InetAddress; @@ -18,36 +18,37 @@ public class MessagePseudo extends Message { * id de l'utilidateur source du message */ public int id; + /** + * nport d'ecoute TCP + */ + public int portEcouteTCP; + /** * Créé un message à partir des info. * @see Message * @param typeMessage * @param srcIP - * @param srcPort - * @param destIP - * @param destPort * @param pseudo + * @param portEcouteTCP * @param id */ - public MessagePseudo(int typeMessage, InetAddress srcIP, int srcPort, InetAddress destIP, int destPort, String pseudo, int id) { - super(typeMessage, srcIP, srcPort, destIP, destPort); + public MessagePseudo(int typeMessage, InetAddress srcIP, String pseudo, int portEcouteTCP, int id) { + super(typeMessage, srcIP); this.pseudo = pseudo; + this.portEcouteTCP = portEcouteTCP; this.id = id; } - /** - * Crée un message à partir d'un message de base - * @see Message - * @param msg - * @param id - * @param pseudo - */ - //Create Messages.MessagePseudo from Messages.Message - public MessagePseudo(Message msg, int id, String pseudo){ - super(msg); - this.pseudo = pseudo; - this.id = id; + @Override + public String toString() { + return "MessagePseudo{" + + "typeMessage=" + typeMessage + + ", srcIP=" + srcIP + + ", pseudo='" + pseudo + '\'' + + ", id=" + id + + ", portEcouteTCP=" + portEcouteTCP + + "} " + super.toString(); } /** diff --git a/src/main/java/com/example/ServeurClavardage/GetAllUsers.java b/src/main/java/com/example/ServeurClavardage/GetAllUsers.java index 9476a0a..b8f49fb 100644 --- a/src/main/java/com/example/ServeurClavardage/GetAllUsers.java +++ b/src/main/java/com/example/ServeurClavardage/GetAllUsers.java @@ -1,15 +1,16 @@ package com.example.ServeurClavardage; -import java.io.*; -import java.net.InetAddress; -import java.util.ArrayList; -import javax.servlet.http.*; -import javax.servlet.annotation.*; - -import com.example.ServeurClavardage.Messages.MessagePseudo; +import app.insa.clav.Core.Utilisateurs; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.ArrayList; @WebServlet(name = "getAllUsers", value = "/getAllUsers") public class GetAllUsers extends HttpServlet { diff --git a/src/main/java/com/example/ServeurClavardage/GetOutdoorUsers.java b/src/main/java/com/example/ServeurClavardage/GetOutdoorUsers.java index 35f8c43..a6ba19d 100644 --- a/src/main/java/com/example/ServeurClavardage/GetOutdoorUsers.java +++ b/src/main/java/com/example/ServeurClavardage/GetOutdoorUsers.java @@ -6,6 +6,7 @@ import java.util.ArrayList; import javax.servlet.http.*; import javax.servlet.annotation.*; +import app.insa.clav.Core.Utilisateurs; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/src/main/java/com/example/ServeurClavardage/Messages/MessageChatFile.java b/src/main/java/com/example/ServeurClavardage/Messages/MessageChatFile.java deleted file mode 100644 index e145e51..0000000 --- a/src/main/java/com/example/ServeurClavardage/Messages/MessageChatFile.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.example.ServeurClavardage.Messages; - -import java.net.InetAddress; - -public class MessageChatFile extends MessageChatTxt{ - - public long fileSize; - public String ext; - - public MessageChatFile(Message msg, String payload, String date, long fileSize, String ext) { - super(msg, payload, date); - this.fileSize = fileSize; - this.ext = ext; - } - - public MessageChatFile(int typeMessage, InetAddress srcIP, int srcResponsePort, InetAddress destIP, int destPort, String payload, String date, long fileSize, String ext) { - super(typeMessage, srcIP, srcResponsePort, destIP, destPort, payload, date); - this.fileSize = fileSize; - this.ext = ext; - } -} diff --git a/src/main/java/com/example/ServeurClavardage/Messages/MessageChatTxt.java b/src/main/java/com/example/ServeurClavardage/Messages/MessageChatTxt.java deleted file mode 100644 index 6ee706e..0000000 --- a/src/main/java/com/example/ServeurClavardage/Messages/MessageChatTxt.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.example.ServeurClavardage.Messages; - -import java.net.InetAddress; - - -/** - * Messages texte dans un chat - */ -//Message de type 6 -public class MessageChatTxt extends Message{ - - public String payload; - public String date; - - - public MessageChatTxt(Message msg, String payload, String date) { - super(msg); - this.payload = payload; - this.date = date; - } - - public MessageChatTxt(int typeMessage, InetAddress srcIP, int srcResponsePort, InetAddress destIP, int destPort, String payload, String date) { - super(typeMessage, srcIP, srcResponsePort, destIP, destPort); - this.payload = payload; - this.date = date; - } -} diff --git a/src/main/java/com/example/ServeurClavardage/Messages/MessageDisplay.java b/src/main/java/com/example/ServeurClavardage/Messages/MessageDisplay.java deleted file mode 100644 index f990872..0000000 --- a/src/main/java/com/example/ServeurClavardage/Messages/MessageDisplay.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.example.ServeurClavardage.Messages; - -/** - * Element of the list that contains the history of messages returned by the DB - */ -public class MessageDisplay { - - - - private int sourceId; - private String date; - private String payload; - /** - * Type 1 --> Normal text message - * Type 2 --> File message not image - * Type 3 --> Image file (png, jpg, gif, jpeg, svg) - */ - private int type; - - public MessageDisplay(int sourceId, String date, String payload,int type) { - this.sourceId = sourceId; - this.date = date; - this.payload = payload; - this.type = type; - } - - public MessageDisplay(){} - - public int getSourceId() { - return sourceId; - } - - public void setSourceId(int sourceId) { - this.sourceId = sourceId; - } - - public String getDate() { - return date; - } - - public void setDate(String date) { - this.date = date; - } - - public String getPayload() { - return payload; - } - - public void setPayload(String payload) { - this.payload = payload; - } - - public int getType() { - return type; - } - - public void setType(int type) { - this.type = type; - } -} - diff --git a/src/main/java/com/example/ServeurClavardage/Messages/MessageDisplayFile.java b/src/main/java/com/example/ServeurClavardage/Messages/MessageDisplayFile.java deleted file mode 100644 index 23cf7ae..0000000 --- a/src/main/java/com/example/ServeurClavardage/Messages/MessageDisplayFile.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.example.ServeurClavardage.Messages; - -import java.io.File; - -public class MessageDisplayFile extends MessageDisplay{ - - private File file; - private String ext; - private int DBId; - - - - public MessageDisplayFile(int sourceId, String date, String payload, int type, File file, String ext, int DBid) { - super(sourceId, date, payload, type); - this.file = file; - this.ext = ext; - this.DBId = DBid; - } - - public MessageDisplayFile() { - } - - public File getFile() { - return file; - } - - public void setFile(File file) { - this.file = file; - } - - public String getExt() { - return ext; - } - - public void setExt(String ext) { - this.ext = ext; - } - - public int getDBId() { - return DBId; - } - - public void setDBId(int DBId) { - this.DBId = DBId; - } - - -} diff --git a/src/main/java/com/example/ServeurClavardage/Messages/MessageInit.java b/src/main/java/com/example/ServeurClavardage/Messages/MessageInit.java deleted file mode 100644 index a93c7c5..0000000 --- a/src/main/java/com/example/ServeurClavardage/Messages/MessageInit.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.example.ServeurClavardage.Messages; - -import java.net.InetAddress; - -/** - * Messaged sent when a user creates a chat room to identifies itself - */ -public class MessageInit extends Message{ - - public int id; - - - public MessageInit(int typeMessage, InetAddress srcIP, int srcResponsePort, InetAddress destIP, int destPort, int localId) { - super(typeMessage, srcIP, srcResponsePort, destIP, destPort); - this.id = localId; - } -} diff --git a/src/main/java/com/example/ServeurClavardage/SharedInformation.java b/src/main/java/com/example/ServeurClavardage/SharedInformation.java index 265193c..27ca612 100644 --- a/src/main/java/com/example/ServeurClavardage/SharedInformation.java +++ b/src/main/java/com/example/ServeurClavardage/SharedInformation.java @@ -1,5 +1,7 @@ package com.example.ServeurClavardage; +import app.insa.clav.Core.Utilisateurs; + import java.util.ArrayList; import java.util.Collection; import java.util.Collections; diff --git a/src/main/java/com/example/ServeurClavardage/SubmitConnectionIndoor.java b/src/main/java/com/example/ServeurClavardage/SubmitConnectionIndoor.java index 78ba901..b75de87 100644 --- a/src/main/java/com/example/ServeurClavardage/SubmitConnectionIndoor.java +++ b/src/main/java/com/example/ServeurClavardage/SubmitConnectionIndoor.java @@ -3,12 +3,11 @@ package com.example.ServeurClavardage; import java.io.*; import java.net.*; import java.nio.charset.StandardCharsets; -import java.util.ArrayList; import javax.servlet.http.*; import javax.servlet.annotation.*; -import com.example.ServeurClavardage.Messages.Message; -import com.example.ServeurClavardage.Messages.MessagePseudo; +import app.insa.clav.Core.Utilisateurs; +import app.insa.clav.Messages.MessagePseudo; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -35,36 +34,8 @@ public class SubmitConnectionIndoor extends HttpServlet { } System.out.println(resp.toString()); } - Utilisateurs newUser = gson.fromJson(resp.toString(),Utilisateurs.class); - System.out.println(newUser); - for (Utilisateurs user : this.sh.getOutdoorUsersList()){ - DatagramSocket socket = new DatagramSocket(); - MessagePseudo msg = new MessagePseudo(4, newUser.getInetAddress(), newUser.getPort(), user.getInetAddress(), user.getPort(), user.getPseudo(),user.getId()); - try { - //Envoi du pseudo sur le reseau local à l'adresse IP dest sur le port dest - byte[] buffer = "".getBytes(); - ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream(); - try { - ObjectOutputStream objectOutStream = new ObjectOutputStream(byteOutStream); - objectOutStream.writeObject(msg); - objectOutStream.close(); - buffer = byteOutStream.toByteArray(); - } catch (IOException e1) { - System.out.println("Exception serialisation de l'objet envoi message"); - } - //InetAddress broadcastAdress = InetAddress.getByAddress("255.255.255.255".getBytes()); - DatagramPacket packet = new DatagramPacket(buffer,buffer.length,msg.destIP,msg.destPort); - socket.send(packet); - } - catch (UnknownHostException e){ - System.out.println("Unknown host dans broadcast address"); - e.printStackTrace(); - } - catch (IOException e){ - System.out.println("IOException send pseudo"); - e.printStackTrace(); - } - } + Utilisateurs newUser = gson.fromJson(resp.toString(), Utilisateurs.class); + newUser.update(); this.sh.addIndoorUser(newUser); } diff --git a/src/main/java/com/example/ServeurClavardage/SubmitConnectionOutdoor.java b/src/main/java/com/example/ServeurClavardage/SubmitConnectionOutdoor.java index 47c9f45..b5f2207 100644 --- a/src/main/java/com/example/ServeurClavardage/SubmitConnectionOutdoor.java +++ b/src/main/java/com/example/ServeurClavardage/SubmitConnectionOutdoor.java @@ -3,14 +3,14 @@ package com.example.ServeurClavardage; import java.io.*; import java.net.DatagramPacket; import java.net.DatagramSocket; -import java.net.InetAddress; import java.net.UnknownHostException; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import javax.servlet.http.*; import javax.servlet.annotation.*; -import com.example.ServeurClavardage.Messages.MessagePseudo; +import app.insa.clav.Core.Utilisateurs; +import app.insa.clav.Messages.MessagePseudo; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -37,38 +37,10 @@ public class SubmitConnectionOutdoor extends HttpServlet { } System.out.println(resp.toString()); } - Utilisateurs newUser = gson.fromJson(resp.toString(),Utilisateurs.class); - ArrayList allUsers = new ArrayList<>(this.sh.getOutdoorUsersList()); - allUsers.addAll(this.sh.getIndoorUsersList()); - for (Utilisateurs user : allUsers){ - DatagramSocket socket = new DatagramSocket(); - MessagePseudo msg = new MessagePseudo(4, newUser.getInetAddress(), newUser.getPort(), user.getInetAddress(), user.getPort(), user.getPseudo(),user.getId()); - try { - //Envoi du pseudo sur le reseau local à l'adresse IP dest sur le port dest - byte[] buffer = "".getBytes(); - ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream(); - try { - ObjectOutputStream objectOutStream = new ObjectOutputStream(byteOutStream); - objectOutStream.writeObject(msg); - objectOutStream.close(); - buffer = byteOutStream.toByteArray(); - } catch (IOException e1) { - System.out.println("Exception serialisation de l'objet envoi message"); - } - //InetAddress broadcastAdress = InetAddress.getByAddress("255.255.255.255".getBytes()); - DatagramPacket packet = new DatagramPacket(buffer,buffer.length,msg.destIP,msg.destPort); - socket.send(packet); - } - catch (UnknownHostException e){ - System.out.println("Unknown host dans broadcast address"); - e.printStackTrace(); - } - catch (IOException e){ - System.out.println("IOException send pseudo"); - e.printStackTrace(); - } - } + Utilisateurs newUser = gson.fromJson(resp.toString(), Utilisateurs.class); + newUser.update(); this.sh.addOutdoorUser(newUser); + } public void destroy() { diff --git a/src/main/java/com/example/ServeurClavardage/SubmitDeconnectionIndoor.java b/src/main/java/com/example/ServeurClavardage/SubmitDeconnectionIndoor.java index 5eee6c1..7ac666f 100644 --- a/src/main/java/com/example/ServeurClavardage/SubmitDeconnectionIndoor.java +++ b/src/main/java/com/example/ServeurClavardage/SubmitDeconnectionIndoor.java @@ -3,12 +3,11 @@ package com.example.ServeurClavardage; import java.io.*; import java.net.*; import java.nio.charset.StandardCharsets; -import java.util.ArrayList; import javax.servlet.http.*; import javax.servlet.annotation.*; -import com.example.ServeurClavardage.Messages.Message; -import com.example.ServeurClavardage.Messages.MessagePseudo; +import app.insa.clav.Core.Utilisateurs; +import app.insa.clav.Messages.MessagePseudo; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -35,37 +34,9 @@ public class SubmitDeconnectionIndoor extends HttpServlet { } System.out.println(resp.toString()); } - Utilisateurs disconnectedUser = gson.fromJson(resp.toString(),Utilisateurs.class); + Utilisateurs disconnectedUser = gson.fromJson(resp.toString(), Utilisateurs.class); this.sh.removeIndoorUser(disconnectedUser); System.out.println(disconnectedUser); - for (Utilisateurs user : this.sh.getOutdoorUsersList()){ - DatagramSocket socket = new DatagramSocket(); - MessagePseudo msg = new MessagePseudo(7, disconnectedUser.getInetAddress(), disconnectedUser.getPort(), user.getInetAddress(), user.getPort(), user.getPseudo(),user.getId()); - try { - //Envoi du pseudo sur le reseau local à l'adresse IP dest sur le port dest - byte[] buffer = "".getBytes(); - ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream(); - try { - ObjectOutputStream objectOutStream = new ObjectOutputStream(byteOutStream); - objectOutStream.writeObject(msg); - objectOutStream.close(); - buffer = byteOutStream.toByteArray(); - } catch (IOException e1) { - System.out.println("Exception serialisation de l'objet envoi message"); - } - //InetAddress broadcastAdress = InetAddress.getByAddress("255.255.255.255".getBytes()); - DatagramPacket packet = new DatagramPacket(buffer,buffer.length,msg.destIP,msg.destPort); - socket.send(packet); - } - catch (UnknownHostException e){ - System.out.println("Unknown host dans broadcast address"); - e.printStackTrace(); - } - catch (IOException e){ - System.out.println("IOException send pseudo"); - e.printStackTrace(); - } - } } public void destroy() { diff --git a/src/main/java/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.java b/src/main/java/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.java index 6729dcd..5edb9e3 100644 --- a/src/main/java/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.java +++ b/src/main/java/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.java @@ -3,14 +3,14 @@ package com.example.ServeurClavardage; import java.io.*; import java.net.DatagramPacket; import java.net.DatagramSocket; -import java.net.InetAddress; import java.net.UnknownHostException; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import javax.servlet.http.*; import javax.servlet.annotation.*; -import com.example.ServeurClavardage.Messages.MessagePseudo; +import app.insa.clav.Core.Utilisateurs; +import app.insa.clav.Messages.MessagePseudo; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -37,38 +37,8 @@ public class SubmitDeconnectionOutdoor extends HttpServlet { } System.out.println(resp.toString()); } - Utilisateurs disconnectedUser = gson.fromJson(resp.toString(),Utilisateurs.class); - this.sh.addOutdoorUser(disconnectedUser); - ArrayList allUsers = new ArrayList<>(this.sh.getOutdoorUsersList()); - allUsers.addAll(this.sh.getIndoorUsersList()); - for (Utilisateurs user : allUsers){ - DatagramSocket socket = new DatagramSocket(); - MessagePseudo msg = new MessagePseudo(7, disconnectedUser.getInetAddress(), disconnectedUser.getPort(), user.getInetAddress(), user.getPort(), user.getPseudo(),user.getId()); - try { - //Envoi du pseudo sur le reseau local à l'adresse IP dest sur le port dest - byte[] buffer = "".getBytes(); - ByteArrayOutputStream byteOutStream = new ByteArrayOutputStream(); - try { - ObjectOutputStream objectOutStream = new ObjectOutputStream(byteOutStream); - objectOutStream.writeObject(msg); - objectOutStream.close(); - buffer = byteOutStream.toByteArray(); - } catch (IOException e1) { - System.out.println("Exception serialisation de l'objet envoi message"); - } - //InetAddress broadcastAdress = InetAddress.getByAddress("255.255.255.255".getBytes()); - DatagramPacket packet = new DatagramPacket(buffer,buffer.length,msg.destIP,msg.destPort); - socket.send(packet); - } - catch (UnknownHostException e){ - System.out.println("Unknown host dans broadcast address"); - e.printStackTrace(); - } - catch (IOException e){ - System.out.println("IOException send pseudo"); - e.printStackTrace(); - } - } + Utilisateurs disconnectedUser = gson.fromJson(resp.toString(), Utilisateurs.class); + this.sh.removeOutdoorUser(disconnectedUser); } public void destroy() {