correction de bug créer lors de l'étape précédente

This commit is contained in:
basti 2021-01-09 18:05:27 +01:00
parent 12a6b7fcdf
commit 4f7ac87948
7 changed files with 46 additions and 34 deletions

View file

@ -15,8 +15,7 @@ public class Main {
GestionnaireListeUtilisateur.instance().ecoute2(2001); //enlever le 2, debug //TODO PORT = 2001 à 2009 GestionnaireListeUtilisateur.instance().ecoute2(2001); //enlever le 2, debug //TODO PORT = 2001 à 2009
//on crée manuellement des utilisateurs //on crée manuellement des utilisateurs
GestionnaireListeUtilisateur.instance().envoie2("add$$$77$$$Moi$$$LocalHost"); GestionnaireListeUtilisateur.instance().envoie2("add$$$77$$$Moi$$$LocalHost$$$true");
//on met à jour notre liste //on met à jour notre liste
GestionnaireListeUtilisateur.instance().majListe2(); //enlever le 2 //TODO GestionnaireListeUtilisateur.instance().majListe2(); //enlever le 2 //TODO

View file

@ -43,13 +43,13 @@ public class GestionnaireListeUtilisateur {
//Demande à tout le monde d'envoyer leur infos (TypeListeUtilisateur) --> Uniquement lors de la connexion //Demande à tout le monde d'envoyer leur infos (TypeListeUtilisateur) --> Uniquement lors de la connexion
public void majListe() { public void majListe() {
envoie("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " "); envoie("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " " + "$$$" + " ");
} }
//debug local //debug local
public void majListe2() { public void majListe2() {
envoie2("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " "); envoie2("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " " + "$$$" + " ");
} }

View file

@ -8,16 +8,16 @@ import ui.ListUI2;
public class TraitementCmdListe implements Runnable{ public class TraitementCmdListe implements Runnable{
private String[] cmd; //ordre$$$id$$$nom$$$ip private String[] cmd; //ordre$$$id$$$nom$$$ip$$$dedans
private Semaphore semaphore; private Semaphore semaphore;
//Constructeur //Constructeur
public TraitementCmdListe(String message, Semaphore semaphore) { public TraitementCmdListe(String message, Semaphore semaphore) {
this.cmd = message.split("\\$\\$\\$", 0); this.cmd = message.split("\\$\\$\\$", 0);
this.semaphore = semaphore; this.semaphore = semaphore;
if(cmd.length != 4) { if(cmd.length != 5) {
System.out.println("Erreur nombre d'arguments"); System.out.println("Erreur nombre d'arguments");
this.cmd = new String[] {"", "", "", ""}; this.cmd = new String[] {"", "", "", "", ""};
} }
} }
@ -31,6 +31,7 @@ public class TraitementCmdListe implements Runnable{
String id = cmd[1]; String id = cmd[1];
String nom = cmd[2]; String nom = cmd[2];
String ip = cmd[3]; String ip = cmd[3];
String dedans = cmd[4];
if (ordre.equals("listRequest")) { if (ordre.equals("listRequest")) {
for (int i = 2000; i<2010; i++) envoyerNom2(i); // à changer, debug //TODO for (int i = 2000; i<2010; i++) envoyerNom2(i); // à changer, debug //TODO
@ -38,15 +39,15 @@ public class TraitementCmdListe implements Runnable{
} }
semaphore.acquireUninterruptibly(); semaphore.acquireUninterruptibly();
System.out.println("bloqué"); //System.out.println("bloqué");
if (ordre.equals("delete")) { if (ordre.equals("delete")) {
supprimeUtilisateur(GestionnaireListeUtilisateur.instance().getListeUtilisateur(), id); supprimeUtilisateur(id);
} }
if (ordre.equals("add") && !nom.equals("null")) { if (ordre.equals("add") && !nom.equals("null")) {
ajouteUtilisateur(GestionnaireListeUtilisateur.instance().getListeUtilisateur(), id, nom, ip, ordre); ajouteUtilisateur(id, nom, ip, dedans); //TODO
//debug //debug
@ -58,7 +59,7 @@ public class TraitementCmdListe implements Runnable{
} }
System.out.println("libéré"); //System.out.println("libéré");
semaphore.release(); semaphore.release();
@ -75,7 +76,7 @@ public class TraitementCmdListe implements Runnable{
public void envoyerNom() { //localHost TODO (gerer IP, unhandle exception ...) public void envoyerNom() { //localHost TODO (gerer IP, unhandle exception ...)
GestionnaireListeUtilisateur.instance().envoie( GestionnaireListeUtilisateur.instance().envoie(
"add"+ "$$$" + GestionnaireNom.instance().getId() + "$$$" + "add"+ "$$$" + GestionnaireNom.instance().getId() + "$$$" +
GestionnaireNom.instance().getNom() + "$$$" + GestionnaireNom.instance().getIp() ); GestionnaireNom.instance().getNom() + "$$$" + GestionnaireNom.instance().getIp() + "$$$" + GestionnaireNom.instance().getDansReseau() );
} }
@ -83,16 +84,17 @@ public class TraitementCmdListe implements Runnable{
public void envoyerNom2(int port) { //localHost TODO (gerer IP, unhandle exception ...) public void envoyerNom2(int port) { //localHost TODO (gerer IP, unhandle exception ...)
GestionnaireListeUtilisateur.instance().envoie2( GestionnaireListeUtilisateur.instance().envoie2(
"add"+ "$$$" + GestionnaireNom.instance().getId() + "$$$" + "add"+ "$$$" + GestionnaireNom.instance().getId() + "$$$" +
GestionnaireNom.instance().getNom() + "$$$" + GestionnaireNom.instance().getIp() ); GestionnaireNom.instance().getNom() + "$$$" + GestionnaireNom.instance().getIp() + "$$$" + GestionnaireNom.instance().getDansReseau() );
} }
//Ajoute les utilisateurs à la listeUtilisateur //Ajoute les utilisateurs à la listeUtilisateur
private void ajouteUtilisateur(ArrayList<TypeListeUtilisateur> listeUtilisateur, String id, String nom, String ip, String ordre) { private void ajouteUtilisateur(String id, String nom, String ip, String dedans) {
boolean inListe = false; boolean inListe = false;
ArrayList<TypeListeUtilisateur> listeUtilisateur = GestionnaireListeUtilisateur.instance().getListeUtilisateur();
//si il est dans la liste on le renomme //si il est dans la liste on le renomme
for (int i=0; i<listeUtilisateur.size(); i++) { for (int i=0; i<listeUtilisateur.size(); i++) {
@ -106,7 +108,13 @@ public class TraitementCmdListe implements Runnable{
//s'il n'est pas dans la liste on la rajoute //s'il n'est pas dans la liste on la rajoute
if (!inListe) { if (!inListe) {
listeUtilisateur.add(new TypeListeUtilisateur(id, nom, ip, null)); if (dedans.equals("true")) {
listeUtilisateur.add(new TypeListeUtilisateur(id, nom, ip, null, true));
}
else {
listeUtilisateur.add(new TypeListeUtilisateur(id, nom, ip, null, false));
}
} }
@ -117,7 +125,8 @@ public class TraitementCmdListe implements Runnable{
// Supprime un utilisateur de la ListeUtilisateur // Supprime un utilisateur de la ListeUtilisateur
private void supprimeUtilisateur(ArrayList<TypeListeUtilisateur> listeUtilisateur, String id) { private void supprimeUtilisateur(String id) {
ArrayList<TypeListeUtilisateur> listeUtilisateur = GestionnaireListeUtilisateur.instance().getListeUtilisateur();
for (int i=0; i<listeUtilisateur.size(); i++) { for (int i=0; i<listeUtilisateur.size(); i++) {
if (listeUtilisateur.get(i).id.equals(id)) { if (listeUtilisateur.get(i).id.equals(id)) {

View file

@ -6,12 +6,14 @@ public class TypeListeUtilisateur {
public String id; public String id;
public String ip; public String ip;
public String statut; public String statut;
public boolean dedans;
public TypeListeUtilisateur(String id, String nom, String ip, String statut) { public TypeListeUtilisateur(String id, String nom, String ip, String statut, boolean dedans) {
this.id = id; this.id = id;
this.nom = nom; this.nom = nom;
this.ip = ip; this.ip = ip;
this.statut = statut; this.statut = statut;
this.dedans = dedans;
} }
} }

View file

@ -59,7 +59,7 @@ public class GestionnaireNom{
//retorurne dansReseau //retorurne dansReseau
public boolean getdansReseau() { public boolean getDansReseau() {
return dansReseau; return dansReseau;
} }
@ -144,14 +144,14 @@ public class GestionnaireNom{
// Associe un nom à l'utilisateur et prévient les autres. // Associe un nom à l'utilisateur et prévient les autres.
public void nommer(String nom) { public void nommer(String nom) {
setNom(nom); setNom(nom);
GestionnaireListeUtilisateur.instance().envoie("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp()); GestionnaireListeUtilisateur.instance().envoie("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau());
} }
//debug //debug
public void nommer2(String nom) { public void nommer2(String nom) {
setNom(nom); setNom(nom);
GestionnaireListeUtilisateur.instance().envoie2("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp()); GestionnaireListeUtilisateur.instance().envoie2("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau());
} }
@ -159,14 +159,14 @@ public class GestionnaireNom{
// Supprime l'utilisateur et prévient les autres. // Supprime l'utilisateur et prévient les autres.
public void supprimer() { public void supprimer() {
GestionnaireListeUtilisateur.instance().envoie("delete"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp()); GestionnaireListeUtilisateur.instance().envoie("delete"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau());
} }
//debug //debug
public void supprimer2() { public void supprimer2() {
GestionnaireListeUtilisateur.instance().envoie2("delete"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp()); GestionnaireListeUtilisateur.instance().envoie2("delete"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau());
} }

View file

@ -63,6 +63,7 @@ public class ListUI2 extends JFrame implements Runnable{
if (value instanceof TypeListeUtilisateur) { if (value instanceof TypeListeUtilisateur) {
TypeListeUtilisateur nextUser = (TypeListeUtilisateur) value; TypeListeUtilisateur nextUser = (TypeListeUtilisateur) value;
setText(nextUser.nom); setText(nextUser.nom);
if (nextUser.statut != null) {
if (nextUser.statut.equals("online")) { if (nextUser.statut.equals("online")) {
setBackground(Color.GREEN); setBackground(Color.GREEN);
} else if (nextUser.statut.equals("occupied")) { } else if (nextUser.statut.equals("occupied")) {
@ -73,6 +74,7 @@ public class ListUI2 extends JFrame implements Runnable{
if (isSelected) { if (isSelected) {
setBackground(getBackground().darker()); setBackground(getBackground().darker());
} }
}
} else { } else {
setText("ERROR"); setText("ERROR");
} }
@ -134,7 +136,7 @@ public class ListUI2 extends JFrame implements Runnable{
scrollPane.setViewportView(list); scrollPane.setViewportView(list);
*/ */
listeInitial(); //listeInitiale();
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
scrollPane.setViewportView(list); scrollPane.setViewportView(list);
@ -242,7 +244,7 @@ public class ListUI2 extends JFrame implements Runnable{
} }
//mise en place de la liste de base //mise en place de la liste de base
public void listeInitial() { public void listeInitiale() {
ArrayList<TypeListeUtilisateur> listeUtilisateur = GestionnaireListeUtilisateur.instance().getListeUtilisateur(); ArrayList<TypeListeUtilisateur> listeUtilisateur = GestionnaireListeUtilisateur.instance().getListeUtilisateur();
DefaultListModel<TypeListeUtilisateur> defaultListModel = new DefaultListModel<TypeListeUtilisateur>(); DefaultListModel<TypeListeUtilisateur> defaultListModel = new DefaultListModel<TypeListeUtilisateur>();

View file

@ -206,7 +206,7 @@ public class Login_RegisterUI extends JFrame implements Runnable{
inCheckBox.addActionListener(new ActionListener() { inCheckBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) { //action public void actionPerformed(ActionEvent arg0) { //action
GestionnaireNom.instance().setDansReseau(inCheckBox.isSelected()); GestionnaireNom.instance().setDansReseau(inCheckBox.isSelected());
System.out.println(GestionnaireNom.instance().getdansReseau() ); System.out.println(GestionnaireNom.instance().getDansReseau() );
} }
}); });
// inCheckBox (suite) // inCheckBox (suite)