diff --git a/build/classes/java/main/app/insa/clav/Messages/MessageRetourSrvTCP.class b/build/classes/java/main/app/insa/clav/Messages/MessageRetourSrvTCP.class new file mode 100644 index 0000000..8ace916 Binary files /dev/null and b/build/classes/java/main/app/insa/clav/Messages/MessageRetourSrvTCP.class differ diff --git a/build/classes/java/main/app/insa/clav/Messages/MessageSrvTCP.class b/build/classes/java/main/app/insa/clav/Messages/MessageSrvTCP.class index 9683742..176935f 100644 Binary files a/build/classes/java/main/app/insa/clav/Messages/MessageSrvTCP.class and b/build/classes/java/main/app/insa/clav/Messages/MessageSrvTCP.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/GetAllUsers.class b/build/classes/java/main/com/example/ServeurClavardage/GetAllUsers.class deleted file mode 100644 index 827b5c1..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/GetAllUsers.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/GetConnectionChat.class b/build/classes/java/main/com/example/ServeurClavardage/GetConnectionChat.class deleted file mode 100644 index d90081a..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/GetConnectionChat.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/GetMessageChat.class b/build/classes/java/main/com/example/ServeurClavardage/GetMessageChat.class deleted file mode 100644 index 2c4baab..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/GetMessageChat.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/GetOutdoorUsers.class b/build/classes/java/main/com/example/ServeurClavardage/GetOutdoorUsers.class deleted file mode 100644 index a030d2a..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/GetOutdoorUsers.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/ListMessageTxtParCo.class b/build/classes/java/main/com/example/ServeurClavardage/ListMessageTxtParCo.class deleted file mode 100644 index 803fe4a..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/ListMessageTxtParCo.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/ListMessageTxtParUser.class b/build/classes/java/main/com/example/ServeurClavardage/ListMessageTxtParUser.class deleted file mode 100644 index ace79b1..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/ListMessageTxtParUser.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Request/GetAllUsers.class b/build/classes/java/main/com/example/ServeurClavardage/Request/GetAllUsers.class new file mode 100644 index 0000000..1b6a60a Binary files /dev/null and b/build/classes/java/main/com/example/ServeurClavardage/Request/GetAllUsers.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Request/GetConnectionChat.class b/build/classes/java/main/com/example/ServeurClavardage/Request/GetConnectionChat.class new file mode 100644 index 0000000..0ca36c0 Binary files /dev/null and b/build/classes/java/main/com/example/ServeurClavardage/Request/GetConnectionChat.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Request/GetMessageChat.class b/build/classes/java/main/com/example/ServeurClavardage/Request/GetMessageChat.class new file mode 100644 index 0000000..b03e52e Binary files /dev/null and b/build/classes/java/main/com/example/ServeurClavardage/Request/GetMessageChat.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Request/GetOutdoorUsers.class b/build/classes/java/main/com/example/ServeurClavardage/Request/GetOutdoorUsers.class new file mode 100644 index 0000000..72ab284 Binary files /dev/null and b/build/classes/java/main/com/example/ServeurClavardage/Request/GetOutdoorUsers.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitConnectionChat.class b/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitConnectionChat.class new file mode 100644 index 0000000..34f32ff Binary files /dev/null and b/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitConnectionChat.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitConnectionIndoor.class b/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitConnectionIndoor.class new file mode 100644 index 0000000..d16de9c Binary files /dev/null and b/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitConnectionIndoor.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitConnectionOutdoor.class b/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitConnectionOutdoor.class new file mode 100644 index 0000000..bf9b8b1 Binary files /dev/null and b/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitConnectionOutdoor.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitDeconnectionIndoor.class b/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitDeconnectionIndoor.class new file mode 100644 index 0000000..bb5b031 Binary files /dev/null and b/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitDeconnectionIndoor.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitDeconnectionOutdoor.class b/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitDeconnectionOutdoor.class new file mode 100644 index 0000000..74cd7ac Binary files /dev/null and b/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitDeconnectionOutdoor.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitMessageChat.class b/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitMessageChat.class new file mode 100644 index 0000000..e66ef39 Binary files /dev/null and b/build/classes/java/main/com/example/ServeurClavardage/Request/SubmitMessageChat.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/SharedInformation.class b/build/classes/java/main/com/example/ServeurClavardage/SharedInformation.class deleted file mode 100644 index 05a0267..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/SharedInformation.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionChat.class b/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionChat.class deleted file mode 100644 index 503389d..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionChat.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionIndoor.class b/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionIndoor.class deleted file mode 100644 index 1b65e08..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionIndoor.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionOutdoor.class b/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionOutdoor.class deleted file mode 100644 index e5af457..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/SubmitConnectionOutdoor.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionIndoor.class b/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionIndoor.class deleted file mode 100644 index 50ce28e..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionIndoor.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.class b/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.class deleted file mode 100644 index 9e22614..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/SubmitMessageChat.class b/build/classes/java/main/com/example/ServeurClavardage/SubmitMessageChat.class deleted file mode 100644 index 0c89049..0000000 Binary files a/build/classes/java/main/com/example/ServeurClavardage/SubmitMessageChat.class and /dev/null differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Support/ListMessageTxtParCo.class b/build/classes/java/main/com/example/ServeurClavardage/Support/ListMessageTxtParCo.class new file mode 100644 index 0000000..54313eb Binary files /dev/null and b/build/classes/java/main/com/example/ServeurClavardage/Support/ListMessageTxtParCo.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Support/ListMessageTxtParUser.class b/build/classes/java/main/com/example/ServeurClavardage/Support/ListMessageTxtParUser.class new file mode 100644 index 0000000..426463c Binary files /dev/null and b/build/classes/java/main/com/example/ServeurClavardage/Support/ListMessageTxtParUser.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/ListMessagesInitParUser.class b/build/classes/java/main/com/example/ServeurClavardage/Support/ListMessagesInitParUser.class similarity index 56% rename from build/classes/java/main/com/example/ServeurClavardage/ListMessagesInitParUser.class rename to build/classes/java/main/com/example/ServeurClavardage/Support/ListMessagesInitParUser.class index 1a81601..b3f449b 100644 Binary files a/build/classes/java/main/com/example/ServeurClavardage/ListMessagesInitParUser.class and b/build/classes/java/main/com/example/ServeurClavardage/Support/ListMessagesInitParUser.class differ diff --git a/build/classes/java/main/com/example/ServeurClavardage/Support/SharedInformation.class b/build/classes/java/main/com/example/ServeurClavardage/Support/SharedInformation.class new file mode 100644 index 0000000..924ec09 Binary files /dev/null and b/build/classes/java/main/com/example/ServeurClavardage/Support/SharedInformation.class differ diff --git a/build/libs/ServeurClavardage-1.0-SNAPSHOT.war b/build/libs/ServeurClavardage-1.0-SNAPSHOT.war new file mode 100644 index 0000000..6a6f4cd Binary files /dev/null and b/build/libs/ServeurClavardage-1.0-SNAPSHOT.war differ diff --git a/build/tmp/compileJava/source-classes-mapping.txt b/build/tmp/compileJava/source-classes-mapping.txt index a25ae7a..8bbf60b 100644 --- a/build/tmp/compileJava/source-classes-mapping.txt +++ b/build/tmp/compileJava/source-classes-mapping.txt @@ -1,42 +1,44 @@ -com/example/ServeurClavardage/ListMessageTxtParUser.java - com.example.ServeurClavardage.ListMessageTxtParUser -com/example/ServeurClavardage/SubmitDeconnectionIndoor.java - com.example.ServeurClavardage.SubmitDeconnectionIndoor -com/example/ServeurClavardage/ListMessagesInitParUser.java - com.example.ServeurClavardage.ListMessagesInitParUser -com/example/ServeurClavardage/GetOutdoorUsers.java - com.example.ServeurClavardage.GetOutdoorUsers +com/example/ServeurClavardage/Request/GetConnectionChat.java + com.example.ServeurClavardage.Request.GetConnectionChat +com/example/ServeurClavardage/Request/SubmitDeconnectionIndoor.java + com.example.ServeurClavardage.Request.SubmitDeconnectionIndoor +com/example/ServeurClavardage/Request/GetMessageChat.java + com.example.ServeurClavardage.Request.GetMessageChat +com/example/ServeurClavardage/Request/SubmitConnectionIndoor.java + com.example.ServeurClavardage.Request.SubmitConnectionIndoor +com/example/ServeurClavardage/Support/ListMessageTxtParUser.java + com.example.ServeurClavardage.Support.ListMessageTxtParUser +com/example/ServeurClavardage/Support/ListMessageTxtParCo.java + com.example.ServeurClavardage.Support.ListMessageTxtParCo +com/example/ServeurClavardage/Request/GetOutdoorUsers.java + com.example.ServeurClavardage.Request.GetOutdoorUsers +com/example/ServeurClavardage/Request/SubmitConnectionOutdoor.java + com.example.ServeurClavardage.Request.SubmitConnectionOutdoor +com/example/ServeurClavardage/Support/SharedInformation.java + com.example.ServeurClavardage.Support.SharedInformation app/insa/clav/Messages/MessageInit.java app.insa.clav.Messages.MessageInit -com/example/ServeurClavardage/ListMessageTxtParCo.java - com.example.ServeurClavardage.ListMessageTxtParCo app/insa/clav/Messages/MessageSrvTCP.java app.insa.clav.Messages.MessageSrvTCP app/insa/clav/Messages/MessagePseudo.java app.insa.clav.Messages.MessagePseudo app/insa/clav/Messages/MessageChatFile.java app.insa.clav.Messages.MessageChatFile -com/example/ServeurClavardage/SubmitConnectionOutdoor.java - com.example.ServeurClavardage.SubmitConnectionOutdoor -com/example/ServeurClavardage/SubmitDeconnectionOutdoor.java - com.example.ServeurClavardage.SubmitDeconnectionOutdoor -com/example/ServeurClavardage/SubmitMessageChat.java - com.example.ServeurClavardage.SubmitMessageChat -com/example/ServeurClavardage/SharedInformation.java - com.example.ServeurClavardage.SharedInformation app/insa/clav/Messages/Message.java app.insa.clav.Messages.Message -com/example/ServeurClavardage/GetConnectionChat.java - com.example.ServeurClavardage.GetConnectionChat -com/example/ServeurClavardage/GetAllUsers.java - com.example.ServeurClavardage.GetAllUsers -com/example/ServeurClavardage/SubmitConnectionIndoor.java - com.example.ServeurClavardage.SubmitConnectionIndoor -com/example/ServeurClavardage/SubmitConnectionChat.java - com.example.ServeurClavardage.SubmitConnectionChat +com/example/ServeurClavardage/Request/SubmitDeconnectionOutdoor.java + com.example.ServeurClavardage.Request.SubmitDeconnectionOutdoor +com/example/ServeurClavardage/Request/SubmitConnectionChat.java + com.example.ServeurClavardage.Request.SubmitConnectionChat +com/example/ServeurClavardage/Request/SubmitMessageChat.java + com.example.ServeurClavardage.Request.SubmitMessageChat +com/example/ServeurClavardage/Request/GetAllUsers.java + com.example.ServeurClavardage.Request.GetAllUsers +com/example/ServeurClavardage/Support/ListMessagesInitParUser.java + com.example.ServeurClavardage.Support.ListMessagesInitParUser app/insa/clav/Core/Utilisateurs.java app.insa.clav.Core.Utilisateurs -com/example/ServeurClavardage/GetMessageChat.java - com.example.ServeurClavardage.GetMessageChat +app/insa/clav/Messages/MessageRetourSrvTCP.java + app.insa.clav.Messages.MessageRetourSrvTCP app/insa/clav/Messages/MessageChatTxt.java app.insa.clav.Messages.MessageChatTxt diff --git a/src/main/java/app/insa/clav/Messages/MessageRetourSrvTCP.java b/src/main/java/app/insa/clav/Messages/MessageRetourSrvTCP.java new file mode 100644 index 0000000..5925599 --- /dev/null +++ b/src/main/java/app/insa/clav/Messages/MessageRetourSrvTCP.java @@ -0,0 +1,47 @@ +package app.insa.clav.Messages; + +public class MessageRetourSrvTCP { + + private MessageChatTxt messageChatTxt; + private MessageChatFile messageChatFile; + private Message message; + + public MessageRetourSrvTCP(MessageChatTxt messageChatTxt) { + this.messageChatTxt = messageChatTxt; + this.messageChatFile = null; + this.message = null; + } + + public MessageRetourSrvTCP(MessageChatFile messageChatFile) { + this.messageChatFile = messageChatFile; + this.messageChatTxt = null; + this.message = null; + } + + public MessageRetourSrvTCP(Message message) { + this.messageChatFile = null; + this.messageChatTxt = null; + this.message = message; + } + + public MessageChatTxt getMessageChatTxt() { + return messageChatTxt; + } + + public MessageChatFile getMessageChatFile() { + return messageChatFile; + } + + public Message getMessage() { + return message; + } + + @Override + public String toString() { + return "MessageRetourSrvTCP{" + + "messageChatTxt=" + messageChatTxt + + ", messageChatFile=" + messageChatFile + + ", message=" + message + + '}'; + } +} diff --git a/src/main/java/app/insa/clav/Messages/MessageSrvTCP.java b/src/main/java/app/insa/clav/Messages/MessageSrvTCP.java index 02b52aa..7610444 100644 --- a/src/main/java/app/insa/clav/Messages/MessageSrvTCP.java +++ b/src/main/java/app/insa/clav/Messages/MessageSrvTCP.java @@ -4,12 +4,14 @@ package app.insa.clav.Messages; public class MessageSrvTCP { private int userId; private int id; - private Message message; + private MessageRetourSrvTCP messageRetourSrvTCP; + private MessageInit messageInit; - public MessageSrvTCP(int userId, int id, Message message) { + public MessageSrvTCP(int userId, int id, MessageRetourSrvTCP messageRetourSrvTCP, MessageInit messageInit) { this.userId = userId; this.id = id; - this.message = message; + this.messageRetourSrvTCP = messageRetourSrvTCP; + this.messageInit = messageInit; } public int getUserId() { @@ -20,7 +22,21 @@ public class MessageSrvTCP { return id; } - public Message getMessage() { - return message; + public MessageRetourSrvTCP getMessageRetourSrvTCP() { + return messageRetourSrvTCP; + } + + public MessageInit getMessageInit() { + return messageInit; + } + + @Override + public String toString() { + return "MessageSrvTCP{" + + "userId=" + userId + + ", id=" + id + + ", messageRetourSrvTCP=" + messageRetourSrvTCP + + ", messageInit=" + messageInit + + '}'; } } diff --git a/src/main/java/com/example/ServeurClavardage/ListMessageTxtParCo.java b/src/main/java/com/example/ServeurClavardage/ListMessageTxtParCo.java deleted file mode 100644 index 00aa5d8..0000000 --- a/src/main/java/com/example/ServeurClavardage/ListMessageTxtParCo.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.example.ServeurClavardage; - - - -import app.insa.clav.Messages.Message; - -import java.util.ArrayList; - -public class ListMessageTxtParCo { - private int remoteId; - private ArrayList msgs; - - public ListMessageTxtParCo(int remoteId) { - this.remoteId = remoteId; - this.msgs = new ArrayList(); - } - - public int getRemoteId() { - return remoteId; - } - - public void addMsg(Message msg) { - this.msgs.add(msg); - } - - public Message getMsgs() { - Message msg = msgs.get(0); - msgs.remove(0); - return msg; - } - -} diff --git a/src/main/java/com/example/ServeurClavardage/GetAllUsers.java b/src/main/java/com/example/ServeurClavardage/Request/GetAllUsers.java similarity index 85% rename from src/main/java/com/example/ServeurClavardage/GetAllUsers.java rename to src/main/java/com/example/ServeurClavardage/Request/GetAllUsers.java index b8f49fb..704ca46 100644 --- a/src/main/java/com/example/ServeurClavardage/GetAllUsers.java +++ b/src/main/java/com/example/ServeurClavardage/Request/GetAllUsers.java @@ -1,6 +1,7 @@ -package com.example.ServeurClavardage; +package com.example.ServeurClavardage.Request; import app.insa.clav.Core.Utilisateurs; +import com.example.ServeurClavardage.Support.SharedInformation; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -29,6 +30,7 @@ public class GetAllUsers extends HttpServlet { ArrayList users = new ArrayList<>(this.sh.getOutdoorUsersList()); users.addAll(this.sh.getIndoorUsersList()); String param = gson.toJson(users); + //System.out.println("Demande des utilisateurs présents : renvoyé -> " + users); PrintWriter out = response.getWriter(); out.print(param); } diff --git a/src/main/java/com/example/ServeurClavardage/GetConnectionChat.java b/src/main/java/com/example/ServeurClavardage/Request/GetConnectionChat.java similarity index 89% rename from src/main/java/com/example/ServeurClavardage/GetConnectionChat.java rename to src/main/java/com/example/ServeurClavardage/Request/GetConnectionChat.java index ad9d7f3..127ac1f 100644 --- a/src/main/java/com/example/ServeurClavardage/GetConnectionChat.java +++ b/src/main/java/com/example/ServeurClavardage/Request/GetConnectionChat.java @@ -1,7 +1,8 @@ -package com.example.ServeurClavardage; +package com.example.ServeurClavardage.Request; import app.insa.clav.Messages.MessageInit; import app.insa.clav.Messages.MessageSrvTCP; +import com.example.ServeurClavardage.Support.SharedInformation; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -36,11 +37,11 @@ public class GetConnectionChat extends HttpServlet { while ((responseLine = br.readLine()) != null) { resp.append(responseLine.trim()); } - System.out.println(resp.toString()); } MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class); response.setContentType("application/json"); ArrayList msgs = this.sh.getCoList(msgSrv.getUserId()); + //System.out.println("Demande des connection avec " + msgSrv + " : renvoyé -> " + msgs); String param = gson.toJson(msgs); PrintWriter out = response.getWriter(); out.print(param); diff --git a/src/main/java/com/example/ServeurClavardage/GetMessageChat.java b/src/main/java/com/example/ServeurClavardage/Request/GetMessageChat.java similarity index 82% rename from src/main/java/com/example/ServeurClavardage/GetMessageChat.java rename to src/main/java/com/example/ServeurClavardage/Request/GetMessageChat.java index f912970..b63c623 100644 --- a/src/main/java/com/example/ServeurClavardage/GetMessageChat.java +++ b/src/main/java/com/example/ServeurClavardage/Request/GetMessageChat.java @@ -1,7 +1,9 @@ -package com.example.ServeurClavardage; +package com.example.ServeurClavardage.Request; import app.insa.clav.Messages.Message; +import app.insa.clav.Messages.MessageRetourSrvTCP; import app.insa.clav.Messages.MessageSrvTCP; +import com.example.ServeurClavardage.Support.SharedInformation; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -35,11 +37,11 @@ public class GetMessageChat extends HttpServlet { while ((responseLine = br.readLine()) != null) { resp.append(responseLine.trim()); } - System.out.println(resp.toString()); } MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class); response.setContentType("application/json"); - Message msgs = this.sh.getMessageList(msgSrv.getUserId(), msgSrv.getId()); + MessageRetourSrvTCP msgs = this.sh.getMessageList(msgSrv.getUserId(), msgSrv.getId()); + //System.out.println("Demande des messages avec " + msgSrv + " : renvoyé -> " + msgs); String param = gson.toJson(msgs); PrintWriter out = response.getWriter(); out.print(param); diff --git a/src/main/java/com/example/ServeurClavardage/GetOutdoorUsers.java b/src/main/java/com/example/ServeurClavardage/Request/GetOutdoorUsers.java similarity index 83% rename from src/main/java/com/example/ServeurClavardage/GetOutdoorUsers.java rename to src/main/java/com/example/ServeurClavardage/Request/GetOutdoorUsers.java index a6ba19d..ad394c6 100644 --- a/src/main/java/com/example/ServeurClavardage/GetOutdoorUsers.java +++ b/src/main/java/com/example/ServeurClavardage/Request/GetOutdoorUsers.java @@ -1,12 +1,12 @@ -package com.example.ServeurClavardage; +package com.example.ServeurClavardage.Request; import java.io.*; -import java.net.InetAddress; import java.util.ArrayList; import javax.servlet.http.*; import javax.servlet.annotation.*; import app.insa.clav.Core.Utilisateurs; +import com.example.ServeurClavardage.Support.SharedInformation; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -26,6 +26,7 @@ public class GetOutdoorUsers extends HttpServlet { final GsonBuilder builder = new GsonBuilder(); final Gson gson = builder.create(); ArrayList outdoorArrayList = this.sh.getOutdoorUsersList(); + //System.out.println("Demande des outdoorUser : renvoyé -> " + outdoorArrayList); String param = gson.toJson(outdoorArrayList); PrintWriter out = response.getWriter(); out.print(param); diff --git a/src/main/java/com/example/ServeurClavardage/SubmitConnectionChat.java b/src/main/java/com/example/ServeurClavardage/Request/SubmitConnectionChat.java similarity index 80% rename from src/main/java/com/example/ServeurClavardage/SubmitConnectionChat.java rename to src/main/java/com/example/ServeurClavardage/Request/SubmitConnectionChat.java index 8dfdf02..2779eb4 100644 --- a/src/main/java/com/example/ServeurClavardage/SubmitConnectionChat.java +++ b/src/main/java/com/example/ServeurClavardage/Request/SubmitConnectionChat.java @@ -1,7 +1,8 @@ -package com.example.ServeurClavardage; +package com.example.ServeurClavardage.Request; import app.insa.clav.Messages.MessageInit; import app.insa.clav.Messages.MessageSrvTCP; +import com.example.ServeurClavardage.Support.SharedInformation; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -34,11 +35,12 @@ public class SubmitConnectionChat extends HttpServlet { while ((responseLine = br.readLine()) != null) { resp.append(responseLine.trim()); } - System.out.println(resp.toString()); } MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class); response.setContentType("application/json"); - this.sh.addMsgInit(msgSrv.getUserId(), (MessageInit) msgSrv.getMessage()); + System.out.println("Submit connection Chat avec " + msgSrv); + this.sh.addMsgInit(msgSrv.getUserId(),msgSrv.getId(), msgSrv.getMessageInit()); + //System.out.println("Etat après le dépot de connexion : " + this.sh.getCoList(msgSrv.getUserId())); } public void destroy() { diff --git a/src/main/java/com/example/ServeurClavardage/SubmitConnectionIndoor.java b/src/main/java/com/example/ServeurClavardage/Request/SubmitConnectionIndoor.java similarity index 87% rename from src/main/java/com/example/ServeurClavardage/SubmitConnectionIndoor.java rename to src/main/java/com/example/ServeurClavardage/Request/SubmitConnectionIndoor.java index b75de87..8eb62af 100644 --- a/src/main/java/com/example/ServeurClavardage/SubmitConnectionIndoor.java +++ b/src/main/java/com/example/ServeurClavardage/Request/SubmitConnectionIndoor.java @@ -1,13 +1,12 @@ -package com.example.ServeurClavardage; +package com.example.ServeurClavardage.Request; import java.io.*; -import java.net.*; import java.nio.charset.StandardCharsets; import javax.servlet.http.*; import javax.servlet.annotation.*; import app.insa.clav.Core.Utilisateurs; -import app.insa.clav.Messages.MessagePseudo; +import com.example.ServeurClavardage.Support.SharedInformation; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -32,9 +31,9 @@ public class SubmitConnectionIndoor extends HttpServlet { while ((responseLine = br.readLine()) != null) { resp.append(responseLine.trim()); } - System.out.println(resp.toString()); } Utilisateurs newUser = gson.fromJson(resp.toString(), Utilisateurs.class); + //System.out.println("Submit connection Indoor avec " + newUser); newUser.update(); this.sh.addIndoorUser(newUser); } diff --git a/src/main/java/com/example/ServeurClavardage/SubmitConnectionOutdoor.java b/src/main/java/com/example/ServeurClavardage/Request/SubmitConnectionOutdoor.java similarity index 83% rename from src/main/java/com/example/ServeurClavardage/SubmitConnectionOutdoor.java rename to src/main/java/com/example/ServeurClavardage/Request/SubmitConnectionOutdoor.java index b5f2207..73f25e8 100644 --- a/src/main/java/com/example/ServeurClavardage/SubmitConnectionOutdoor.java +++ b/src/main/java/com/example/ServeurClavardage/Request/SubmitConnectionOutdoor.java @@ -1,16 +1,12 @@ -package com.example.ServeurClavardage; +package com.example.ServeurClavardage.Request; import java.io.*; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.UnknownHostException; import java.nio.charset.StandardCharsets; -import java.util.ArrayList; import javax.servlet.http.*; import javax.servlet.annotation.*; import app.insa.clav.Core.Utilisateurs; -import app.insa.clav.Messages.MessagePseudo; +import com.example.ServeurClavardage.Support.SharedInformation; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -35,9 +31,9 @@ public class SubmitConnectionOutdoor extends HttpServlet { while ((responseLine = br.readLine()) != null) { resp.append(responseLine.trim()); } - System.out.println(resp.toString()); } Utilisateurs newUser = gson.fromJson(resp.toString(), Utilisateurs.class); + //System.out.println("Submit connection outdoor avec " + newUser); newUser.update(); this.sh.addOutdoorUser(newUser); diff --git a/src/main/java/com/example/ServeurClavardage/SubmitDeconnectionIndoor.java b/src/main/java/com/example/ServeurClavardage/Request/SubmitDeconnectionIndoor.java similarity index 86% rename from src/main/java/com/example/ServeurClavardage/SubmitDeconnectionIndoor.java rename to src/main/java/com/example/ServeurClavardage/Request/SubmitDeconnectionIndoor.java index 7ac666f..4b1ea49 100644 --- a/src/main/java/com/example/ServeurClavardage/SubmitDeconnectionIndoor.java +++ b/src/main/java/com/example/ServeurClavardage/Request/SubmitDeconnectionIndoor.java @@ -1,13 +1,12 @@ -package com.example.ServeurClavardage; +package com.example.ServeurClavardage.Request; import java.io.*; -import java.net.*; import java.nio.charset.StandardCharsets; import javax.servlet.http.*; import javax.servlet.annotation.*; import app.insa.clav.Core.Utilisateurs; -import app.insa.clav.Messages.MessagePseudo; +import com.example.ServeurClavardage.Support.SharedInformation; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -32,11 +31,10 @@ public class SubmitDeconnectionIndoor extends HttpServlet { while ((responseLine = br.readLine()) != null) { resp.append(responseLine.trim()); } - System.out.println(resp.toString()); } Utilisateurs disconnectedUser = gson.fromJson(resp.toString(), Utilisateurs.class); + System.out.println("Submit déconnection indoor avec " + disconnectedUser); this.sh.removeIndoorUser(disconnectedUser); - System.out.println(disconnectedUser); } public void destroy() { diff --git a/src/main/java/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.java b/src/main/java/com/example/ServeurClavardage/Request/SubmitDeconnectionOutdoor.java similarity index 83% rename from src/main/java/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.java rename to src/main/java/com/example/ServeurClavardage/Request/SubmitDeconnectionOutdoor.java index 5edb9e3..ff32e3a 100644 --- a/src/main/java/com/example/ServeurClavardage/SubmitDeconnectionOutdoor.java +++ b/src/main/java/com/example/ServeurClavardage/Request/SubmitDeconnectionOutdoor.java @@ -1,16 +1,12 @@ -package com.example.ServeurClavardage; +package com.example.ServeurClavardage.Request; import java.io.*; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.UnknownHostException; import java.nio.charset.StandardCharsets; -import java.util.ArrayList; import javax.servlet.http.*; import javax.servlet.annotation.*; import app.insa.clav.Core.Utilisateurs; -import app.insa.clav.Messages.MessagePseudo; +import com.example.ServeurClavardage.Support.SharedInformation; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -35,9 +31,9 @@ public class SubmitDeconnectionOutdoor extends HttpServlet { while ((responseLine = br.readLine()) != null) { resp.append(responseLine.trim()); } - System.out.println(resp.toString()); } Utilisateurs disconnectedUser = gson.fromJson(resp.toString(), Utilisateurs.class); + System.out.println("Submit déconnection outdoor avec " + disconnectedUser); this.sh.removeOutdoorUser(disconnectedUser); } diff --git a/src/main/java/com/example/ServeurClavardage/SubmitMessageChat.java b/src/main/java/com/example/ServeurClavardage/Request/SubmitMessageChat.java similarity index 88% rename from src/main/java/com/example/ServeurClavardage/SubmitMessageChat.java rename to src/main/java/com/example/ServeurClavardage/Request/SubmitMessageChat.java index 7d72383..0321d0a 100644 --- a/src/main/java/com/example/ServeurClavardage/SubmitMessageChat.java +++ b/src/main/java/com/example/ServeurClavardage/Request/SubmitMessageChat.java @@ -1,6 +1,7 @@ -package com.example.ServeurClavardage; +package com.example.ServeurClavardage.Request; import app.insa.clav.Messages.MessageSrvTCP; +import com.example.ServeurClavardage.Support.SharedInformation; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -33,11 +34,11 @@ public class SubmitMessageChat extends HttpServlet { while ((responseLine = br.readLine()) != null) { resp.append(responseLine.trim()); } - System.out.println(resp.toString()); } MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class); response.setContentType("application/json"); - this.sh.addMsgTxt(msgSrv.getUserId(), msgSrv.getId(), msgSrv.getMessage()); + System.out.println("Submit message chat avec " + msgSrv); + this.sh.addMsgTxt(msgSrv.getUserId(), msgSrv.getId(), msgSrv.getMessageRetourSrvTCP()); } public void destroy() { diff --git a/src/main/java/com/example/ServeurClavardage/Support/ListMessageTxtParCo.java b/src/main/java/com/example/ServeurClavardage/Support/ListMessageTxtParCo.java new file mode 100644 index 0000000..33aebcb --- /dev/null +++ b/src/main/java/com/example/ServeurClavardage/Support/ListMessageTxtParCo.java @@ -0,0 +1,41 @@ +package com.example.ServeurClavardage.Support; + + + +import app.insa.clav.Messages.Message; +import app.insa.clav.Messages.MessageRetourSrvTCP; + +import java.util.ArrayList; + +public class ListMessageTxtParCo { + private int remoteId; + private ArrayList msgs; + + public ListMessageTxtParCo(int remoteId) { + this.remoteId = remoteId; + this.msgs = new ArrayList(); + } + + public int getRemoteId() { + return remoteId; + } + + public void addMsg(MessageRetourSrvTCP msg) { + this.msgs.add(msg); + } + + public ArrayList getMsgsList() { + return msgs; + } + + public MessageRetourSrvTCP getMsgs() { + if (msgs.isEmpty()) { + return null; + } else { + MessageRetourSrvTCP msg = msgs.get(0); + msgs.remove(0); + return msg; + } + } + +} diff --git a/src/main/java/com/example/ServeurClavardage/ListMessageTxtParUser.java b/src/main/java/com/example/ServeurClavardage/Support/ListMessageTxtParUser.java similarity index 89% rename from src/main/java/com/example/ServeurClavardage/ListMessageTxtParUser.java rename to src/main/java/com/example/ServeurClavardage/Support/ListMessageTxtParUser.java index fd3acca..fda95d5 100644 --- a/src/main/java/com/example/ServeurClavardage/ListMessageTxtParUser.java +++ b/src/main/java/com/example/ServeurClavardage/Support/ListMessageTxtParUser.java @@ -1,7 +1,6 @@ -package com.example.ServeurClavardage; +package com.example.ServeurClavardage.Support; import app.insa.clav.Core.Utilisateurs; -import app.insa.clav.Messages.Message; import java.util.ArrayList; diff --git a/src/main/java/com/example/ServeurClavardage/ListMessagesInitParUser.java b/src/main/java/com/example/ServeurClavardage/Support/ListMessagesInitParUser.java similarity index 93% rename from src/main/java/com/example/ServeurClavardage/ListMessagesInitParUser.java rename to src/main/java/com/example/ServeurClavardage/Support/ListMessagesInitParUser.java index 4c1c974..7c672cc 100644 --- a/src/main/java/com/example/ServeurClavardage/ListMessagesInitParUser.java +++ b/src/main/java/com/example/ServeurClavardage/Support/ListMessagesInitParUser.java @@ -1,4 +1,4 @@ -package com.example.ServeurClavardage; +package com.example.ServeurClavardage.Support; import app.insa.clav.Core.Utilisateurs; import app.insa.clav.Messages.MessageInit; diff --git a/src/main/java/com/example/ServeurClavardage/SharedInformation.java b/src/main/java/com/example/ServeurClavardage/Support/SharedInformation.java similarity index 52% rename from src/main/java/com/example/ServeurClavardage/SharedInformation.java rename to src/main/java/com/example/ServeurClavardage/Support/SharedInformation.java index c22a04a..a318a5d 100644 --- a/src/main/java/com/example/ServeurClavardage/SharedInformation.java +++ b/src/main/java/com/example/ServeurClavardage/Support/SharedInformation.java @@ -1,11 +1,11 @@ -package com.example.ServeurClavardage; +package com.example.ServeurClavardage.Support; import app.insa.clav.Core.Utilisateurs; import app.insa.clav.Messages.Message; import app.insa.clav.Messages.MessageInit; +import app.insa.clav.Messages.MessageRetourSrvTCP; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.Iterator; @@ -45,16 +45,19 @@ public class SharedInformation { for (Iterator iter = listMsgInit.iterator(); iter.hasNext(); ) { ListMessagesInitParUser list = iter.next(); if (user == list.getUser().getId()) { - msgs = list.getMsgs(); + msgs = new ArrayList<>(list.getMsgs()); + //System.out.println("TROUVEEE DANS LE GETTTTTT " + user + " avec : " + msgs); list.clearMsgs(); + //System.out.println("TROUVEEE BIS DANS LE GETTTTTT " + user + " avec : " + msgs); break; } } + //System.out.println("Co list getted : " + msgs); return msgs; } - public synchronized Message getMessageList(int user, int remoteId){ - Message msgs = null; + public synchronized MessageRetourSrvTCP getMessageList(int user, int remoteId){ + MessageRetourSrvTCP msgs = null; for (Iterator iter1 = listMessageTxt.iterator(); iter1.hasNext(); ) { ListMessageTxtParUser list1 = iter1.next(); if (list1.getUser().getId() == user) { @@ -71,17 +74,67 @@ public class SharedInformation { return msgs; } - public synchronized void addMsgInit(int user, MessageInit msg){ + private void createUserInLists(Utilisateurs user) { + boolean trouve = false; for (Iterator iter = listMsgInit.iterator(); iter.hasNext(); ) { ListMessagesInitParUser list = iter.next(); - if (user == list.getUser().getId()) { - list.addMsg(msg); + if (user.getId() == list.getUser().getId()) { + trouve = true; + break; + } + } + if (!trouve) { + listMsgInit.add(new ListMessagesInitParUser(user)); + } + + trouve = false; + for (Iterator iter1 = listMessageTxt.iterator(); iter1.hasNext(); ) { + ListMessageTxtParUser list1 = iter1.next(); + if (list1.getUser().getId() == user.getId()) { + trouve = true; + break; + } + } + if (!trouve) { + listMessageTxt.add(new ListMessageTxtParUser(user)); + } + } + + private void createCoInList(int user, int remoteId) { + boolean trouve = false; + for (Iterator iter1 = listMessageTxt.iterator(); iter1.hasNext(); ) { + ListMessageTxtParUser list1 = iter1.next(); + if (list1.getUser().getId() == user) { + for (Iterator iter2 = list1.getlistMsgsTxtParCo().iterator(); iter2.hasNext(); ) { + ListMessageTxtParCo list2 = iter2.next(); + if (remoteId == list2.getRemoteId()) { + trouve = true; + break; + } + } + if (!trouve) { + list1.addCo(remoteId); + } break; } } } - public synchronized void addMsgTxt(int user, int remoteId, Message msg) { + public synchronized void addMsgInit(int user, int remoteId, MessageInit msg){ + for (Iterator iter = listMsgInit.iterator(); iter.hasNext(); ) { + ListMessagesInitParUser list = iter.next(); + if (user == list.getUser().getId()) { + //System.out.println("UTILISATEUR TROOUVE"); + list.addMsg(msg); + break; + } + } + createCoInList(user, remoteId); + createCoInList(remoteId, user); + printLists(); + } + + public synchronized void addMsgTxt(int user, int remoteId, MessageRetourSrvTCP msg) { for (Iterator iter1 = listMessageTxt.iterator(); iter1.hasNext(); ) { ListMessageTxtParUser list1 = iter1.next(); if (list1.getUser().getId() == user) { @@ -95,18 +148,21 @@ public class SharedInformation { break; } } + printLists(); } public synchronized void addIndoorUser(Utilisateurs newUser){ this.indoorUsersList.remove(newUser); this.indoorUsersList.add(newUser); Collections.sort(this.indoorUsersList); + createUserInLists(newUser); } public synchronized void addOutdoorUser(Utilisateurs newUser){ this.outdoorUsersList.remove(newUser); this.outdoorUsersList.add(newUser); Collections.sort(this.outdoorUsersList); + createUserInLists(newUser); } public synchronized void removeIndoorUser(Utilisateurs user){ @@ -116,4 +172,22 @@ public class SharedInformation { public synchronized void removeOutdoorUser(Utilisateurs user){ this.outdoorUsersList.remove(user); } -} + + private void printLists() { + System.out.println("Affichage de la liste des connexions :"); + for (Iterator iter = listMsgInit.iterator(); iter.hasNext(); ) { + ListMessagesInitParUser list = iter.next(); + System.out.println(" {" + list.getUser() + ", " + list.getMsgs() + "}"); + } + System.out.println("Affichage de la liste des messages :"); + for (Iterator iter1 = listMessageTxt.iterator(); iter1.hasNext(); ) { + ListMessageTxtParUser list1 = iter1.next(); + System.out.println(" {" + list1.getUser() + ", "); + for (Iterator iter2 = list1.getlistMsgsTxtParCo().iterator(); iter2.hasNext(); ) { + ListMessageTxtParCo list2 = iter2.next(); + System.out.println(" {" + list2.getRemoteId() + ", " + list2.getMsgsList() + "}"); + } + System.out.println(" }"); + } + } +} \ No newline at end of file