Gestionnaire non static + fin session

This commit is contained in:
basti 2020-12-04 19:16:59 +01:00
parent 99dcf24958
commit dbe687ea17
5 changed files with 42 additions and 30 deletions

View file

@ -5,7 +5,8 @@ package liste;
public class ClientB { public class ClientB {
GestionnaireListeUtilisateur gestionnaireListeUtilisateur = GestionnaireListeUtilisateur.instance(); //usefull ? puisque static ? GestionnaireListeUtilisateur gestionnaireListeUtilisateur = GestionnaireListeUtilisateur.instance(); //usefull ? puisque static ?
String nom = "Delta"; String nom = "Delta";
String id = "0"; String id = "0";

View file

@ -7,7 +7,7 @@ import java.util.ArrayList;
public class GestionnaireListeUtilisateur { public class GestionnaireListeUtilisateur {
//contient la liste Utilisateur à jour //contient la liste Utilisateur à jour
private static ArrayList<TypeListeUtilisateur> listeUtilisateur = new ArrayList<TypeListeUtilisateur>(); private ArrayList<TypeListeUtilisateur> listeUtilisateur = new ArrayList<TypeListeUtilisateur>();
@ -28,14 +28,14 @@ public class GestionnaireListeUtilisateur {
public static ArrayList<TypeListeUtilisateur> getListeUtilisateur() { public ArrayList<TypeListeUtilisateur> getListeUtilisateur() {
return listeUtilisateur; return listeUtilisateur;
} }
public static void setListeUtilisateur(ArrayList<TypeListeUtilisateur> liste) { public void setListeUtilisateur(ArrayList<TypeListeUtilisateur> liste) {
listeUtilisateur = liste; listeUtilisateur = liste;
} }

View file

@ -24,6 +24,8 @@ public class TraitementCmdListe implements Runnable{
public void run() { public void run() {
try { try {
GestionnaireListeUtilisateur gestionnaireListeUtilisateur = new GestionnaireListeUtilisateur();
String ordre = cmd[0]; String ordre = cmd[0];
String id = cmd[1]; String id = cmd[1];
String nom = cmd[2]; String nom = cmd[2];
@ -37,7 +39,7 @@ public class TraitementCmdListe implements Runnable{
System.out.println("bloqué"); System.out.println("bloqué");
if (ordre.equals("delete")) { if (ordre.equals("delete")) {
GestionnaireListeUtilisateur.setListeUtilisateur(supprimeUtilisateur(GestionnaireListeUtilisateur.getListeUtilisateur(), id)); gestionnaireListeUtilisateur.setListeUtilisateur(supprimeUtilisateur(gestionnaireListeUtilisateur.getListeUtilisateur(), id));
} }
if (ordre.equals("add")) { if (ordre.equals("add")) {
@ -45,9 +47,9 @@ public class TraitementCmdListe implements Runnable{
//System.out.println("NULLLLLLLL"); //System.out.println("NULLLLLLLL");
//on ne fait rien (utilisateur non encore configuré) //on ne fait rien (utilisateur non encore configuré)
} else { } else {
GestionnaireListeUtilisateur.setListeUtilisateur(ajouteUtilisateur(GestionnaireListeUtilisateur.getListeUtilisateur(), id, nom, ip)); gestionnaireListeUtilisateur.setListeUtilisateur(ajouteUtilisateur(gestionnaireListeUtilisateur.getListeUtilisateur(), id, nom, ip));
for(int i=0; i<GestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) { for(int i=0; i<gestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
System.out.println("ici : " + GestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom); System.out.println("ici : " + gestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom);
} }
} }
@ -68,9 +70,9 @@ public class TraitementCmdListe implements Runnable{
//envoie la liste courrante d'utilisateur //envoie la liste courrante d'utilisateur
public void envoyerNom() { //localHost TODO (gerer IP, unhandle exception ...) public void envoyerNom() { //localHost TODO (gerer IP, unhandle exception ...)
GestionnaireNom gestionnaireNom = new GestionnaireNom();
UdpBroadcastClient client = new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER, UdpBroadcastClient client = new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER,
"add"+ "$$$" + GestionnaireNom.getId() + "$$$" + GestionnaireNom.getNom() + "$$$" + "LocalHost"); "add"+ "$$$" + gestionnaireNom.getId() + "$$$" + gestionnaireNom.getNom() + "$$$" + "LocalHost");
Thread t = new Thread(client); Thread t = new Thread(client);
t.start(); t.start();
} }

View file

@ -1,5 +1,6 @@
package nom; package nom;
import liste.ConstanteListeUtilisateur;
/* /*
import java.util.*; import java.util.*;
import java.io.IOException; import java.io.IOException;
@ -7,11 +8,12 @@ import java.net.InetAddress;
import java.net.UnknownHostException; import java.net.UnknownHostException;
*/ */
import liste.GestionnaireListeUtilisateur; import liste.GestionnaireListeUtilisateur;
import liste.UdpBroadcastClient;
public class GestionnaireNom{ public class GestionnaireNom{
private static String idUtilisateur; private String idUtilisateur;
private static String nomUtilisateur; private String nomUtilisateur;
//public static String ipUtilisateur = InetAddress.getLocalHost().getHostName(); //public static String ipUtilisateur = InetAddress.getLocalHost().getHostName();
@ -30,27 +32,27 @@ public class GestionnaireNom{
public static String getNom() { public String getNom() {
return nomUtilisateur; return nomUtilisateur;
} }
public static String getId() { public String getId() {
return idUtilisateur; return idUtilisateur;
} }
// attribue le nom "nom" à l'utilisateur // attribue le nom "nom" à l'utilisateur
private static void setNom(String nom) { private void setNom(String nom) {
nomUtilisateur = nom; nomUtilisateur = nom;
} }
public static void setId(String id) { public void setId(String id) {
idUtilisateur = id; idUtilisateur = id;
} }
@ -59,10 +61,11 @@ public class GestionnaireNom{
// renvoie l'ID d'un utilisateur ou 0 s'il n'existe pas (ou non en ligne) // renvoie l'ID d'un utilisateur ou 0 s'il n'existe pas (ou non en ligne)
public static String idFromNom(String nom) { public String idFromNom(String nom) {
for (int i=0; i<GestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) { GestionnaireListeUtilisateur gestionnaireListeUtilisateur = new GestionnaireListeUtilisateur();
if (GestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom.equals(nom)) { for (int i=0; i<gestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
return GestionnaireListeUtilisateur.getListeUtilisateur().get(i).id; if (gestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom.equals(nom)) {
return gestionnaireListeUtilisateur.getListeUtilisateur().get(i).id;
} }
} }
@ -73,10 +76,10 @@ public class GestionnaireNom{
// renvoie 1 si le nom est disponible // renvoie 1 si le nom est disponible
private static boolean verifierDisponibiliteNom(String nom) { private boolean verifierDisponibiliteNom(String nom) {
GestionnaireListeUtilisateur gestionnaireListeUtilisateur = new GestionnaireListeUtilisateur();
for (int i=0; i<GestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) { for (int i=0; i<gestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
if (GestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom.equals(nom)) { if (gestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom.equals(nom)) {
return false; return false;
} }
} }
@ -87,10 +90,15 @@ public class GestionnaireNom{
public static boolean nommer(String nom) { public boolean nommer(String nom) {
if (verifierDisponibiliteNom(nom)) { if (verifierDisponibiliteNom(nom)) {
setNom(nom); setNom(nom);
UdpBroadcastClient client = new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER,
"add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + "LocalHost");
Thread t = new Thread(client);
t.start();
return true; return true;
} }
return false; return false;

View file

@ -54,12 +54,13 @@ public class Login_RegisterUI extends JFrame {
public void enter() { public void enter() {
if( usernameField.getText().equals("admin") || idField.getText().equals("0") ) { //remplaver || par && -> flemme debug if( usernameField.getText().equals("admin") || idField.getText().equals("0") ) { //remplaver || par && -> flemme debug
ListUI liste = new ListUI();
liste.setLocationRelativeTo(null); //ListUI liste = new ListUI();
liste.setVisible(true); //liste.setLocationRelativeTo(null);
//liste.setVisible(true);
dispose(); dispose();
//Thread ts = new Thread(liste); //inutile avce le setVisible(true) Thread ts = new Thread(new ListUI()); //inutile avce le setVisible(true)
//ts.start(); ts.start();
} }
else { else {
JOptionPane.showMessageDialog(null, "Invalid Username / Password", "Login error", 2); JOptionPane.showMessageDialog(null, "Invalid Username / Password", "Login error", 2);