Version fonctionnelle : TAF -> Clean Code

This commit is contained in:
Paul Faure 2021-02-13 02:34:45 +01:00
parent 6937eace68
commit e232ff6d7d
48 changed files with 260 additions and 115 deletions

Binary file not shown.

View file

@ -1,42 +1,44 @@
com/example/ServeurClavardage/ListMessageTxtParUser.java com/example/ServeurClavardage/Request/GetConnectionChat.java
com.example.ServeurClavardage.ListMessageTxtParUser com.example.ServeurClavardage.Request.GetConnectionChat
com/example/ServeurClavardage/SubmitDeconnectionIndoor.java com/example/ServeurClavardage/Request/SubmitDeconnectionIndoor.java
com.example.ServeurClavardage.SubmitDeconnectionIndoor com.example.ServeurClavardage.Request.SubmitDeconnectionIndoor
com/example/ServeurClavardage/ListMessagesInitParUser.java com/example/ServeurClavardage/Request/GetMessageChat.java
com.example.ServeurClavardage.ListMessagesInitParUser com.example.ServeurClavardage.Request.GetMessageChat
com/example/ServeurClavardage/GetOutdoorUsers.java com/example/ServeurClavardage/Request/SubmitConnectionIndoor.java
com.example.ServeurClavardage.GetOutdoorUsers 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.java
app.insa.clav.Messages.MessageInit 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.java
app.insa.clav.Messages.MessageSrvTCP app.insa.clav.Messages.MessageSrvTCP
app/insa/clav/Messages/MessagePseudo.java app/insa/clav/Messages/MessagePseudo.java
app.insa.clav.Messages.MessagePseudo app.insa.clav.Messages.MessagePseudo
app/insa/clav/Messages/MessageChatFile.java app/insa/clav/Messages/MessageChatFile.java
app.insa.clav.Messages.MessageChatFile 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.java
app.insa.clav.Messages.Message app.insa.clav.Messages.Message
com/example/ServeurClavardage/GetConnectionChat.java com/example/ServeurClavardage/Request/SubmitDeconnectionOutdoor.java
com.example.ServeurClavardage.GetConnectionChat com.example.ServeurClavardage.Request.SubmitDeconnectionOutdoor
com/example/ServeurClavardage/GetAllUsers.java com/example/ServeurClavardage/Request/SubmitConnectionChat.java
com.example.ServeurClavardage.GetAllUsers com.example.ServeurClavardage.Request.SubmitConnectionChat
com/example/ServeurClavardage/SubmitConnectionIndoor.java com/example/ServeurClavardage/Request/SubmitMessageChat.java
com.example.ServeurClavardage.SubmitConnectionIndoor com.example.ServeurClavardage.Request.SubmitMessageChat
com/example/ServeurClavardage/SubmitConnectionChat.java com/example/ServeurClavardage/Request/GetAllUsers.java
com.example.ServeurClavardage.SubmitConnectionChat 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.java
app.insa.clav.Core.Utilisateurs app.insa.clav.Core.Utilisateurs
com/example/ServeurClavardage/GetMessageChat.java app/insa/clav/Messages/MessageRetourSrvTCP.java
com.example.ServeurClavardage.GetMessageChat app.insa.clav.Messages.MessageRetourSrvTCP
app/insa/clav/Messages/MessageChatTxt.java app/insa/clav/Messages/MessageChatTxt.java
app.insa.clav.Messages.MessageChatTxt app.insa.clav.Messages.MessageChatTxt

View file

@ -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 +
'}';
}
}

View file

@ -4,12 +4,14 @@ package app.insa.clav.Messages;
public class MessageSrvTCP { public class MessageSrvTCP {
private int userId; private int userId;
private int id; 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.userId = userId;
this.id = id; this.id = id;
this.message = message; this.messageRetourSrvTCP = messageRetourSrvTCP;
this.messageInit = messageInit;
} }
public int getUserId() { public int getUserId() {
@ -20,7 +22,21 @@ public class MessageSrvTCP {
return id; return id;
} }
public Message getMessage() { public MessageRetourSrvTCP getMessageRetourSrvTCP() {
return message; return messageRetourSrvTCP;
}
public MessageInit getMessageInit() {
return messageInit;
}
@Override
public String toString() {
return "MessageSrvTCP{" +
"userId=" + userId +
", id=" + id +
", messageRetourSrvTCP=" + messageRetourSrvTCP +
", messageInit=" + messageInit +
'}';
} }
} }

View file

@ -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<Message> msgs;
public ListMessageTxtParCo(int remoteId) {
this.remoteId = remoteId;
this.msgs = new ArrayList<Message>();
}
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;
}
}

View file

@ -1,6 +1,7 @@
package com.example.ServeurClavardage; package com.example.ServeurClavardage.Request;
import app.insa.clav.Core.Utilisateurs; import app.insa.clav.Core.Utilisateurs;
import com.example.ServeurClavardage.Support.SharedInformation;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@ -29,6 +30,7 @@ public class GetAllUsers extends HttpServlet {
ArrayList<Utilisateurs> users = new ArrayList<>(this.sh.getOutdoorUsersList()); ArrayList<Utilisateurs> users = new ArrayList<>(this.sh.getOutdoorUsersList());
users.addAll(this.sh.getIndoorUsersList()); users.addAll(this.sh.getIndoorUsersList());
String param = gson.toJson(users); String param = gson.toJson(users);
//System.out.println("Demande des utilisateurs présents : renvoyé -> " + users);
PrintWriter out = response.getWriter(); PrintWriter out = response.getWriter();
out.print(param); out.print(param);
} }

View file

@ -1,7 +1,8 @@
package com.example.ServeurClavardage; package com.example.ServeurClavardage.Request;
import app.insa.clav.Messages.MessageInit; import app.insa.clav.Messages.MessageInit;
import app.insa.clav.Messages.MessageSrvTCP; import app.insa.clav.Messages.MessageSrvTCP;
import com.example.ServeurClavardage.Support.SharedInformation;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@ -36,11 +37,11 @@ public class GetConnectionChat extends HttpServlet {
while ((responseLine = br.readLine()) != null) { while ((responseLine = br.readLine()) != null) {
resp.append(responseLine.trim()); resp.append(responseLine.trim());
} }
System.out.println(resp.toString());
} }
MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class); MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class);
response.setContentType("application/json"); response.setContentType("application/json");
ArrayList<MessageInit> msgs = this.sh.getCoList(msgSrv.getUserId()); ArrayList<MessageInit> msgs = this.sh.getCoList(msgSrv.getUserId());
//System.out.println("Demande des connection avec " + msgSrv + " : renvoyé -> " + msgs);
String param = gson.toJson(msgs); String param = gson.toJson(msgs);
PrintWriter out = response.getWriter(); PrintWriter out = response.getWriter();
out.print(param); out.print(param);

View file

@ -1,7 +1,9 @@
package com.example.ServeurClavardage; package com.example.ServeurClavardage.Request;
import app.insa.clav.Messages.Message; import app.insa.clav.Messages.Message;
import app.insa.clav.Messages.MessageRetourSrvTCP;
import app.insa.clav.Messages.MessageSrvTCP; import app.insa.clav.Messages.MessageSrvTCP;
import com.example.ServeurClavardage.Support.SharedInformation;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@ -35,11 +37,11 @@ public class GetMessageChat extends HttpServlet {
while ((responseLine = br.readLine()) != null) { while ((responseLine = br.readLine()) != null) {
resp.append(responseLine.trim()); resp.append(responseLine.trim());
} }
System.out.println(resp.toString());
} }
MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class); MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class);
response.setContentType("application/json"); 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); String param = gson.toJson(msgs);
PrintWriter out = response.getWriter(); PrintWriter out = response.getWriter();
out.print(param); out.print(param);

View file

@ -1,12 +1,12 @@
package com.example.ServeurClavardage; package com.example.ServeurClavardage.Request;
import java.io.*; import java.io.*;
import java.net.InetAddress;
import java.util.ArrayList; import java.util.ArrayList;
import javax.servlet.http.*; import javax.servlet.http.*;
import javax.servlet.annotation.*; import javax.servlet.annotation.*;
import app.insa.clav.Core.Utilisateurs; import app.insa.clav.Core.Utilisateurs;
import com.example.ServeurClavardage.Support.SharedInformation;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@ -26,6 +26,7 @@ public class GetOutdoorUsers extends HttpServlet {
final GsonBuilder builder = new GsonBuilder(); final GsonBuilder builder = new GsonBuilder();
final Gson gson = builder.create(); final Gson gson = builder.create();
ArrayList<Utilisateurs> outdoorArrayList = this.sh.getOutdoorUsersList(); ArrayList<Utilisateurs> outdoorArrayList = this.sh.getOutdoorUsersList();
//System.out.println("Demande des outdoorUser : renvoyé -> " + outdoorArrayList);
String param = gson.toJson(outdoorArrayList); String param = gson.toJson(outdoorArrayList);
PrintWriter out = response.getWriter(); PrintWriter out = response.getWriter();
out.print(param); out.print(param);

View file

@ -1,7 +1,8 @@
package com.example.ServeurClavardage; package com.example.ServeurClavardage.Request;
import app.insa.clav.Messages.MessageInit; import app.insa.clav.Messages.MessageInit;
import app.insa.clav.Messages.MessageSrvTCP; import app.insa.clav.Messages.MessageSrvTCP;
import com.example.ServeurClavardage.Support.SharedInformation;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@ -34,11 +35,12 @@ public class SubmitConnectionChat extends HttpServlet {
while ((responseLine = br.readLine()) != null) { while ((responseLine = br.readLine()) != null) {
resp.append(responseLine.trim()); resp.append(responseLine.trim());
} }
System.out.println(resp.toString());
} }
MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class); MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class);
response.setContentType("application/json"); 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() { public void destroy() {

View file

@ -1,13 +1,12 @@
package com.example.ServeurClavardage; package com.example.ServeurClavardage.Request;
import java.io.*; import java.io.*;
import java.net.*;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import javax.servlet.http.*; import javax.servlet.http.*;
import javax.servlet.annotation.*; import javax.servlet.annotation.*;
import app.insa.clav.Core.Utilisateurs; 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.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@ -32,9 +31,9 @@ public class SubmitConnectionIndoor extends HttpServlet {
while ((responseLine = br.readLine()) != null) { while ((responseLine = br.readLine()) != null) {
resp.append(responseLine.trim()); resp.append(responseLine.trim());
} }
System.out.println(resp.toString());
} }
Utilisateurs newUser = gson.fromJson(resp.toString(), Utilisateurs.class); Utilisateurs newUser = gson.fromJson(resp.toString(), Utilisateurs.class);
//System.out.println("Submit connection Indoor avec " + newUser);
newUser.update(); newUser.update();
this.sh.addIndoorUser(newUser); this.sh.addIndoorUser(newUser);
} }

View file

@ -1,16 +1,12 @@
package com.example.ServeurClavardage; package com.example.ServeurClavardage.Request;
import java.io.*; import java.io.*;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.UnknownHostException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import javax.servlet.http.*; import javax.servlet.http.*;
import javax.servlet.annotation.*; import javax.servlet.annotation.*;
import app.insa.clav.Core.Utilisateurs; 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.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@ -35,9 +31,9 @@ public class SubmitConnectionOutdoor extends HttpServlet {
while ((responseLine = br.readLine()) != null) { while ((responseLine = br.readLine()) != null) {
resp.append(responseLine.trim()); resp.append(responseLine.trim());
} }
System.out.println(resp.toString());
} }
Utilisateurs newUser = gson.fromJson(resp.toString(), Utilisateurs.class); Utilisateurs newUser = gson.fromJson(resp.toString(), Utilisateurs.class);
//System.out.println("Submit connection outdoor avec " + newUser);
newUser.update(); newUser.update();
this.sh.addOutdoorUser(newUser); this.sh.addOutdoorUser(newUser);

View file

@ -1,13 +1,12 @@
package com.example.ServeurClavardage; package com.example.ServeurClavardage.Request;
import java.io.*; import java.io.*;
import java.net.*;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import javax.servlet.http.*; import javax.servlet.http.*;
import javax.servlet.annotation.*; import javax.servlet.annotation.*;
import app.insa.clav.Core.Utilisateurs; 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.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@ -32,11 +31,10 @@ public class SubmitDeconnectionIndoor extends HttpServlet {
while ((responseLine = br.readLine()) != null) { while ((responseLine = br.readLine()) != null) {
resp.append(responseLine.trim()); resp.append(responseLine.trim());
} }
System.out.println(resp.toString());
} }
Utilisateurs disconnectedUser = gson.fromJson(resp.toString(), Utilisateurs.class); Utilisateurs disconnectedUser = gson.fromJson(resp.toString(), Utilisateurs.class);
System.out.println("Submit déconnection indoor avec " + disconnectedUser);
this.sh.removeIndoorUser(disconnectedUser); this.sh.removeIndoorUser(disconnectedUser);
System.out.println(disconnectedUser);
} }
public void destroy() { public void destroy() {

View file

@ -1,16 +1,12 @@
package com.example.ServeurClavardage; package com.example.ServeurClavardage.Request;
import java.io.*; import java.io.*;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.UnknownHostException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import javax.servlet.http.*; import javax.servlet.http.*;
import javax.servlet.annotation.*; import javax.servlet.annotation.*;
import app.insa.clav.Core.Utilisateurs; 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.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@ -35,9 +31,9 @@ public class SubmitDeconnectionOutdoor extends HttpServlet {
while ((responseLine = br.readLine()) != null) { while ((responseLine = br.readLine()) != null) {
resp.append(responseLine.trim()); resp.append(responseLine.trim());
} }
System.out.println(resp.toString());
} }
Utilisateurs disconnectedUser = gson.fromJson(resp.toString(), Utilisateurs.class); Utilisateurs disconnectedUser = gson.fromJson(resp.toString(), Utilisateurs.class);
System.out.println("Submit déconnection outdoor avec " + disconnectedUser);
this.sh.removeOutdoorUser(disconnectedUser); this.sh.removeOutdoorUser(disconnectedUser);
} }

View file

@ -1,6 +1,7 @@
package com.example.ServeurClavardage; package com.example.ServeurClavardage.Request;
import app.insa.clav.Messages.MessageSrvTCP; import app.insa.clav.Messages.MessageSrvTCP;
import com.example.ServeurClavardage.Support.SharedInformation;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@ -33,11 +34,11 @@ public class SubmitMessageChat extends HttpServlet {
while ((responseLine = br.readLine()) != null) { while ((responseLine = br.readLine()) != null) {
resp.append(responseLine.trim()); resp.append(responseLine.trim());
} }
System.out.println(resp.toString());
} }
MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class); MessageSrvTCP msgSrv = gson.fromJson(resp.toString(), MessageSrvTCP.class);
response.setContentType("application/json"); 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() { public void destroy() {

View file

@ -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<MessageRetourSrvTCP> msgs;
public ListMessageTxtParCo(int remoteId) {
this.remoteId = remoteId;
this.msgs = new ArrayList<MessageRetourSrvTCP>();
}
public int getRemoteId() {
return remoteId;
}
public void addMsg(MessageRetourSrvTCP msg) {
this.msgs.add(msg);
}
public ArrayList<MessageRetourSrvTCP> getMsgsList() {
return msgs;
}
public MessageRetourSrvTCP getMsgs() {
if (msgs.isEmpty()) {
return null;
} else {
MessageRetourSrvTCP msg = msgs.get(0);
msgs.remove(0);
return msg;
}
}
}

View file

@ -1,7 +1,6 @@
package com.example.ServeurClavardage; package com.example.ServeurClavardage.Support;
import app.insa.clav.Core.Utilisateurs; import app.insa.clav.Core.Utilisateurs;
import app.insa.clav.Messages.Message;
import java.util.ArrayList; import java.util.ArrayList;

View file

@ -1,4 +1,4 @@
package com.example.ServeurClavardage; package com.example.ServeurClavardage.Support;
import app.insa.clav.Core.Utilisateurs; import app.insa.clav.Core.Utilisateurs;
import app.insa.clav.Messages.MessageInit; import app.insa.clav.Messages.MessageInit;

View file

@ -1,11 +1,11 @@
package com.example.ServeurClavardage; package com.example.ServeurClavardage.Support;
import app.insa.clav.Core.Utilisateurs; import app.insa.clav.Core.Utilisateurs;
import app.insa.clav.Messages.Message; import app.insa.clav.Messages.Message;
import app.insa.clav.Messages.MessageInit; import app.insa.clav.Messages.MessageInit;
import app.insa.clav.Messages.MessageRetourSrvTCP;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.Iterator; import java.util.Iterator;
@ -45,16 +45,19 @@ public class SharedInformation {
for (Iterator<ListMessagesInitParUser> iter = listMsgInit.iterator(); iter.hasNext(); ) { for (Iterator<ListMessagesInitParUser> iter = listMsgInit.iterator(); iter.hasNext(); ) {
ListMessagesInitParUser list = iter.next(); ListMessagesInitParUser list = iter.next();
if (user == list.getUser().getId()) { 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(); list.clearMsgs();
//System.out.println("TROUVEEE BIS DANS LE GETTTTTT " + user + " avec : " + msgs);
break; break;
} }
} }
//System.out.println("Co list getted : " + msgs);
return msgs; return msgs;
} }
public synchronized Message getMessageList(int user, int remoteId){ public synchronized MessageRetourSrvTCP getMessageList(int user, int remoteId){
Message msgs = null; MessageRetourSrvTCP msgs = null;
for (Iterator<ListMessageTxtParUser> iter1 = listMessageTxt.iterator(); iter1.hasNext(); ) { for (Iterator<ListMessageTxtParUser> iter1 = listMessageTxt.iterator(); iter1.hasNext(); ) {
ListMessageTxtParUser list1 = iter1.next(); ListMessageTxtParUser list1 = iter1.next();
if (list1.getUser().getId() == user) { if (list1.getUser().getId() == user) {
@ -71,17 +74,67 @@ public class SharedInformation {
return msgs; return msgs;
} }
public synchronized void addMsgInit(int user, MessageInit msg){ private void createUserInLists(Utilisateurs user) {
boolean trouve = false;
for (Iterator<ListMessagesInitParUser> iter = listMsgInit.iterator(); iter.hasNext(); ) { for (Iterator<ListMessagesInitParUser> iter = listMsgInit.iterator(); iter.hasNext(); ) {
ListMessagesInitParUser list = iter.next(); ListMessagesInitParUser list = iter.next();
if (user == list.getUser().getId()) { if (user.getId() == list.getUser().getId()) {
list.addMsg(msg); trouve = true;
break;
}
}
if (!trouve) {
listMsgInit.add(new ListMessagesInitParUser(user));
}
trouve = false;
for (Iterator<ListMessageTxtParUser> 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<ListMessageTxtParUser> iter1 = listMessageTxt.iterator(); iter1.hasNext(); ) {
ListMessageTxtParUser list1 = iter1.next();
if (list1.getUser().getId() == user) {
for (Iterator<ListMessageTxtParCo> iter2 = list1.getlistMsgsTxtParCo().iterator(); iter2.hasNext(); ) {
ListMessageTxtParCo list2 = iter2.next();
if (remoteId == list2.getRemoteId()) {
trouve = true;
break;
}
}
if (!trouve) {
list1.addCo(remoteId);
}
break; break;
} }
} }
} }
public synchronized void addMsgTxt(int user, int remoteId, Message msg) { public synchronized void addMsgInit(int user, int remoteId, MessageInit msg){
for (Iterator<ListMessagesInitParUser> 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<ListMessageTxtParUser> iter1 = listMessageTxt.iterator(); iter1.hasNext(); ) { for (Iterator<ListMessageTxtParUser> iter1 = listMessageTxt.iterator(); iter1.hasNext(); ) {
ListMessageTxtParUser list1 = iter1.next(); ListMessageTxtParUser list1 = iter1.next();
if (list1.getUser().getId() == user) { if (list1.getUser().getId() == user) {
@ -95,18 +148,21 @@ public class SharedInformation {
break; break;
} }
} }
printLists();
} }
public synchronized void addIndoorUser(Utilisateurs newUser){ public synchronized void addIndoorUser(Utilisateurs newUser){
this.indoorUsersList.remove(newUser); this.indoorUsersList.remove(newUser);
this.indoorUsersList.add(newUser); this.indoorUsersList.add(newUser);
Collections.sort(this.indoorUsersList); Collections.sort(this.indoorUsersList);
createUserInLists(newUser);
} }
public synchronized void addOutdoorUser(Utilisateurs newUser){ public synchronized void addOutdoorUser(Utilisateurs newUser){
this.outdoorUsersList.remove(newUser); this.outdoorUsersList.remove(newUser);
this.outdoorUsersList.add(newUser); this.outdoorUsersList.add(newUser);
Collections.sort(this.outdoorUsersList); Collections.sort(this.outdoorUsersList);
createUserInLists(newUser);
} }
public synchronized void removeIndoorUser(Utilisateurs user){ public synchronized void removeIndoorUser(Utilisateurs user){
@ -116,4 +172,22 @@ public class SharedInformation {
public synchronized void removeOutdoorUser(Utilisateurs user){ public synchronized void removeOutdoorUser(Utilisateurs user){
this.outdoorUsersList.remove(user); this.outdoorUsersList.remove(user);
} }
private void printLists() {
System.out.println("Affichage de la liste des connexions :");
for (Iterator<ListMessagesInitParUser> 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<ListMessageTxtParUser> iter1 = listMessageTxt.iterator(); iter1.hasNext(); ) {
ListMessageTxtParUser list1 = iter1.next();
System.out.println(" {" + list1.getUser() + ", ");
for (Iterator<ListMessageTxtParCo> iter2 = list1.getlistMsgsTxtParCo().iterator(); iter2.hasNext(); ) {
ListMessageTxtParCo list2 = iter2.next();
System.out.println(" {" + list2.getRemoteId() + ", " + list2.getMsgsList() + "}");
}
System.out.println(" }");
}
}
} }