Clean Code B (reste UI à clean)
This commit is contained in:
parent
e4facad109
commit
14b5565e13
11 changed files with 74 additions and 125 deletions
|
@ -1,6 +1,5 @@
|
|||
package defaut;
|
||||
|
||||
import clavardage.gestionnaireClavardage;
|
||||
import liste.GestionnaireListeUtilisateur;
|
||||
import ui.Login_RegisterUI;
|
||||
|
||||
|
@ -12,14 +11,14 @@ public class Main {
|
|||
|
||||
|
||||
//on lance le server d'écoute de cmd
|
||||
GestionnaireListeUtilisateur.instance().ecoute2(2002); //enlever le 2, debug //TODO PORT = 2000 à 2009
|
||||
GestionnaireListeUtilisateur.instance().ecoute2(2002); //enlever le 2, debug //TODO PORT = 2001 à 2009
|
||||
|
||||
//on crée manuellement des utilisateurs
|
||||
//GestionnaireListeUtilisateur.instance().envoie2("add$$$77$$$Moi$$$LocalHost");
|
||||
GestionnaireListeUtilisateur.instance().envoie2("add$$$77$$$Moi$$$LocalHost");
|
||||
|
||||
|
||||
//on met à jour notre liste
|
||||
GestionnaireListeUtilisateur.instance().majListe2();
|
||||
GestionnaireListeUtilisateur.instance().majListe2(); //enlever le 2 //TODO
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
package liste;
|
||||
|
||||
// CECI NE SERT QU AU DEBUG
|
||||
|
||||
public class ClientB {
|
||||
GestionnaireListeUtilisateur gestionnaireListeUtilisateur = GestionnaireListeUtilisateur.instance(); //usefull ? puisque static ?
|
||||
|
||||
|
||||
//String nom = "Delta";
|
||||
//String id = "0";
|
||||
|
||||
void test(String msg) {
|
||||
//GestionnaireNom.setNom(nom);
|
||||
//GestionnaireNom.setId(id);
|
||||
//gestionnaireListeUtilisateur.ecoute(); //pas en local sinon plusieurs server sur le même port ....
|
||||
gestionnaireListeUtilisateur.majListe();
|
||||
gestionnaireListeUtilisateur.envoie(msg);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -16,7 +16,7 @@ public class GestionnaireListeUtilisateur {
|
|||
//Renvoie le gestionnaire de liste, ou le créé s'il n'existe pas encore
|
||||
static public GestionnaireListeUtilisateur instance() {
|
||||
|
||||
//Si l'instance n'existe pas, on la créé
|
||||
//Si l'instance n'existe pas, on la crée
|
||||
if (GestionnaireListeUtilisateur.uniqueInstance == null) {
|
||||
GestionnaireListeUtilisateur.uniqueInstance = new GestionnaireListeUtilisateur();
|
||||
}
|
||||
|
@ -47,6 +47,7 @@ public class GestionnaireListeUtilisateur {
|
|||
|
||||
}
|
||||
|
||||
//debug local
|
||||
public void majListe2() {
|
||||
envoie2("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " ");
|
||||
|
||||
|
@ -58,6 +59,7 @@ public class GestionnaireListeUtilisateur {
|
|||
ecouteThread.start();
|
||||
}
|
||||
|
||||
//debug local
|
||||
public void ecoute2(int port) { //static ??
|
||||
Thread ecouteThread = new Thread(new UdpBroadcastServer(port));
|
||||
ecouteThread.start();
|
||||
|
@ -69,6 +71,7 @@ public class GestionnaireListeUtilisateur {
|
|||
envoieThread.start();
|
||||
}
|
||||
|
||||
//debug local
|
||||
public void envoie2(String message) {
|
||||
for(int i=0; i<10; i++) {
|
||||
Thread envoieThread = new Thread(new UdpUnicastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER + i, "LocalHost", message));
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
package liste;
|
||||
|
||||
// CECI NE SERT QU AU DEBUG
|
||||
|
||||
public class MainB {
|
||||
|
||||
public static void main(String[] args) {
|
||||
int portServer = ConstanteListeUtilisateur.NUM_PORT_SERVER;
|
||||
|
||||
UdpBroadcastServer server = new UdpBroadcastServer(portServer);
|
||||
ClientB client0 = new ClientB();
|
||||
ClientB client1 = new ClientB();
|
||||
ClientB client2 = new ClientB();
|
||||
|
||||
Thread ts = new Thread(server);
|
||||
ts.start();
|
||||
|
||||
client0.test("add$$$" + 77 + "$$$Delta$$$LocalHost");
|
||||
client1.test("add$$$" + 75 + "$$$Beta$$$LocalHost");
|
||||
client2.test("add$$$" + 11 + "$$$Alpha$$$LocalHost");
|
||||
}
|
||||
}
|
|
@ -7,9 +7,10 @@ import nom.GestionnaireNom;
|
|||
|
||||
public class TraitementCmdListe implements Runnable{
|
||||
|
||||
private String[] cmd;
|
||||
private String[] cmd; //ordre$$$id$$$nom$$$ip
|
||||
private Semaphore semaphore;
|
||||
|
||||
//Constructeur
|
||||
public TraitementCmdListe(String message, Semaphore semaphore) {
|
||||
this.cmd = message.split("\\$\\$\\$", 0);
|
||||
this.semaphore = semaphore;
|
||||
|
@ -24,44 +25,39 @@ public class TraitementCmdListe implements Runnable{
|
|||
|
||||
public void run() {
|
||||
try {
|
||||
|
||||
//On décompose la cmd
|
||||
String ordre = cmd[0];
|
||||
String id = cmd[1];
|
||||
String nom = cmd[2];
|
||||
String ip = cmd[3];
|
||||
|
||||
if (ordre.equals("listRequest")) {
|
||||
for (int i = 2000; i<2010; i++) envoyerNom2(i); //TODO
|
||||
for (int i = 2000; i<2010; i++) envoyerNom2(i); // à changer, debug //TODO
|
||||
//envoyerNom();
|
||||
}
|
||||
|
||||
semaphore.acquireUninterruptibly();
|
||||
System.out.println("bloqué");
|
||||
|
||||
if (ordre.equals("delete")) {
|
||||
GestionnaireListeUtilisateur.instance().setListeUtilisateur(supprimeUtilisateur(GestionnaireListeUtilisateur.instance().getListeUtilisateur(), id));
|
||||
supprimeUtilisateur(GestionnaireListeUtilisateur.instance().getListeUtilisateur(), id);
|
||||
}
|
||||
|
||||
if (ordre.equals("add")) {
|
||||
if (nom.equals("null")) {
|
||||
//System.out.println("NULLLLLLLL");
|
||||
//on ne fait rien (utilisateur non encore configuré)
|
||||
} else {
|
||||
//GestionnaireListeUtilisateur.instance().setListeUtilisateur(
|
||||
ajouteUtilisateur(GestionnaireListeUtilisateur.instance().getListeUtilisateur(), id, nom, ip);//);
|
||||
for(int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
|
||||
System.out.println("ici : " + GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).nom + " "
|
||||
+ GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).id );
|
||||
}
|
||||
if (ordre.equals("add") && !nom.equals("null")) {
|
||||
|
||||
ajouteUtilisateur(GestionnaireListeUtilisateur.instance().getListeUtilisateur(), id, nom, ip);
|
||||
|
||||
|
||||
//debug
|
||||
for(int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
|
||||
System.out.println("dans ListeUtilisateur : " + GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).nom + " "
|
||||
+ GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).id );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
System.out.println("libéré");
|
||||
semaphore.release();
|
||||
|
||||
|
||||
//Thread.sleep(1000);
|
||||
//System.out.println("fini " + id);
|
||||
//System.out.println(GestionnaireListeUtilisateur.getListeUtilisateur().get(0).nom);
|
||||
|
||||
} catch (Exception e) {}
|
||||
|
||||
|
@ -71,24 +67,24 @@ public class TraitementCmdListe implements Runnable{
|
|||
|
||||
//envoie la liste courrante d'utilisateur
|
||||
public void envoyerNom() { //localHost TODO (gerer IP, unhandle exception ...)
|
||||
UdpBroadcastClient client = new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER,
|
||||
"add"+ "$$$" + GestionnaireNom.instance().getId() + "$$$" + GestionnaireNom.instance().getNom() + "$$$" + "LocalHost");
|
||||
Thread t = new Thread(client);
|
||||
t.start();
|
||||
GestionnaireListeUtilisateur.instance().envoie(
|
||||
"add"+ "$$$" + GestionnaireNom.instance().getId() + "$$$" +
|
||||
GestionnaireNom.instance().getNom() + "$$$" + GestionnaireNom.instance().getIp() );
|
||||
}
|
||||
|
||||
|
||||
//debug
|
||||
public void envoyerNom2(int port) { //localHost TODO (gerer IP, unhandle exception ...)
|
||||
UdpUnicastClient client = new UdpUnicastClient(port, "LocalHost",
|
||||
"add"+ "$$$" + GestionnaireNom.instance().getId() + "$$$" + GestionnaireNom.instance().getNom() + "$$$" + "LocalHost");
|
||||
Thread t = new Thread(client);
|
||||
t.start();
|
||||
GestionnaireListeUtilisateur.instance().envoie2(
|
||||
"add"+ "$$$" + GestionnaireNom.instance().getId() + "$$$" +
|
||||
GestionnaireNom.instance().getNom() + "$$$" + GestionnaireNom.instance().getIp() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// detecte les nouveaux utilisateurs entrant et les ajoute à la liste
|
||||
private ArrayList<TypeListeUtilisateur> ajouteUtilisateur(ArrayList<TypeListeUtilisateur> listeUtilisateur, String id, String nom, String ip) {
|
||||
//Ajoute les utilisateurs à la listeUtilisateur
|
||||
private void ajouteUtilisateur(ArrayList<TypeListeUtilisateur> listeUtilisateur, String id, String nom, String ip) {
|
||||
|
||||
boolean inListe = false;
|
||||
|
||||
|
@ -98,8 +94,6 @@ public class TraitementCmdListe implements Runnable{
|
|||
inListe = true;
|
||||
TypeListeUtilisateur utilisateur = listeUtilisateur.get(i);
|
||||
utilisateur.nom = nom;
|
||||
|
||||
listeUtilisateur.set(i, utilisateur);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -108,15 +102,12 @@ public class TraitementCmdListe implements Runnable{
|
|||
listeUtilisateur.add(new TypeListeUtilisateur(id, nom, ip));
|
||||
|
||||
}
|
||||
|
||||
return listeUtilisateur;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// detecte les utilisateurs sortant et les supprime de la liste
|
||||
private ArrayList<TypeListeUtilisateur> supprimeUtilisateur(ArrayList<TypeListeUtilisateur> listeUtilisateur, String id) {
|
||||
// Supprime un utilisateur de la ListeUtilisateur
|
||||
private void supprimeUtilisateur(ArrayList<TypeListeUtilisateur> listeUtilisateur, String id) {
|
||||
|
||||
for (int i=0; i<listeUtilisateur.size(); i++) {
|
||||
if (listeUtilisateur.get(i).id.equals(id)) {
|
||||
|
@ -124,8 +115,5 @@ public class TraitementCmdListe implements Runnable{
|
|||
listeUtilisateur.remove(i);
|
||||
}
|
||||
}
|
||||
|
||||
return listeUtilisateur;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,8 +10,9 @@ import java.net.UnknownHostException;
|
|||
public class UdpBroadcastClient implements Runnable{
|
||||
|
||||
private final int serverPort;
|
||||
private final String message; //ordre$$$id$$$nom$$$ip
|
||||
private final String message;
|
||||
|
||||
//Constructeur
|
||||
public UdpBroadcastClient(int serverPort, String message) {
|
||||
this.serverPort = serverPort;
|
||||
this.message = message;
|
||||
|
@ -19,8 +20,8 @@ public class UdpBroadcastClient implements Runnable{
|
|||
|
||||
|
||||
public void run() {
|
||||
try(DatagramSocket serverSocket = new DatagramSocket()){
|
||||
|
||||
try{
|
||||
DatagramSocket serverSocket = new DatagramSocket();
|
||||
serverSocket.setBroadcast(true);
|
||||
DatagramPacket datagramPacket = new DatagramPacket(
|
||||
message.getBytes(),
|
||||
|
|
|
@ -7,6 +7,8 @@ import java.io.IOException;
|
|||
import java.net.DatagramPacket;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
// SERT UNIQUEMENT AU DEBUG
|
||||
|
||||
public class UdpUnicastClient implements Runnable{
|
||||
|
||||
private final int serverPort;
|
||||
|
@ -22,17 +24,15 @@ public class UdpUnicastClient implements Runnable{
|
|||
|
||||
public void run() {
|
||||
try(DatagramSocket serverSocket = new DatagramSocket()){
|
||||
//for (int i = 0; i<3; i++) {
|
||||
//String message = "add$$$" + 77 + "$$$Roger$$$LocalHost"; //ordre$$$id$$$nom$$$ip
|
||||
DatagramPacket datagramPacket = new DatagramPacket(
|
||||
message.getBytes(),
|
||||
message.length(),
|
||||
InetAddress.getByName(serverIP),
|
||||
serverPort
|
||||
);
|
||||
serverSocket.send(datagramPacket);
|
||||
//}
|
||||
|
||||
DatagramPacket datagramPacket = new DatagramPacket(
|
||||
message.getBytes(),
|
||||
message.length(),
|
||||
InetAddress.getByName(serverIP),
|
||||
serverPort
|
||||
);
|
||||
serverSocket.send(datagramPacket);
|
||||
|
||||
} catch (SocketException e) {
|
||||
e.printStackTrace();
|
||||
} catch (UnknownHostException e) {
|
||||
|
|
|
@ -1,14 +1,10 @@
|
|||
package nom;
|
||||
|
||||
import liste.ConstanteListeUtilisateur;
|
||||
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import liste.GestionnaireListeUtilisateur;
|
||||
import liste.UdpBroadcastClient;
|
||||
|
||||
|
||||
public class GestionnaireNom{
|
||||
|
||||
|
@ -17,60 +13,62 @@ public class GestionnaireNom{
|
|||
static private String ipUtilisateur;
|
||||
|
||||
|
||||
//Instance du gestionnaire de liste
|
||||
//Instance du gestionnaire de nom
|
||||
static private GestionnaireNom uniqueInstance = null;
|
||||
|
||||
//Renvoie le gestionnaire de liste, ou le créé s'il n'existe pas encore
|
||||
//Renvoie le gestionnaire de nom, ou le créé s'il n'existe pas encore
|
||||
static public GestionnaireNom instance() {
|
||||
|
||||
|
||||
//Si l'instance n'existe pas, on la créé
|
||||
//Si l'instance n'existe pas, on la crée
|
||||
if (GestionnaireNom.uniqueInstance == null) {
|
||||
GestionnaireNom.uniqueInstance = new GestionnaireNom();
|
||||
|
||||
try {
|
||||
ipUtilisateur = InetAddress.getLocalHost().getHostName();
|
||||
}
|
||||
catch (Exception e) {}
|
||||
catch (Exception e) {
|
||||
System.out.println("Problème IP");
|
||||
}
|
||||
}
|
||||
|
||||
return GestionnaireNom.uniqueInstance;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//retourne le NomUtilisateur
|
||||
public String getNom() {
|
||||
return nomUtilisateur;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//retourne l'ID Utilisateur
|
||||
public String getId() {
|
||||
return idUtilisateur;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//retoruhne l'IP Utilisateur
|
||||
public String getIp() {
|
||||
return ipUtilisateur;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// attribue le nom "nom" à l'utilisateur
|
||||
// set le NomUtilisateur
|
||||
public void setNom(String nom) {
|
||||
nomUtilisateur = nom;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//set l'ID Utilisateur
|
||||
public void setId(String id) {
|
||||
idUtilisateur = id;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//set l'IP Utilisateur
|
||||
public void setIp(String ip) {
|
||||
ipUtilisateur = ip;
|
||||
|
||||
|
@ -78,7 +76,7 @@ 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 "null" s'il n'existe pas (ou non en ligne)
|
||||
public String idFromNom(String nom) {
|
||||
for (int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
|
||||
if (GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).nom.toLowerCase().equals(nom.toLowerCase())) {
|
||||
|
@ -90,7 +88,7 @@ public class GestionnaireNom{
|
|||
}
|
||||
|
||||
|
||||
|
||||
// renvoie l'IP d'un utilisateur ou "null" s'il n'existe pas (ou non en ligne)
|
||||
public String ipFromNom(String nom) {
|
||||
for (int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
|
||||
if (GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).nom.toLowerCase().equals(nom.toLowerCase())) {
|
||||
|
@ -103,7 +101,7 @@ public class GestionnaireNom{
|
|||
|
||||
|
||||
|
||||
// renvoie 1 si le nom est disponible
|
||||
// renvoie "true" si le nom est disponible
|
||||
public boolean verifierDisponibiliteNom(String nom) {
|
||||
for (int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
|
||||
if (GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).nom.toLowerCase().equals(nom.toLowerCase())) {
|
||||
|
@ -116,7 +114,7 @@ public class GestionnaireNom{
|
|||
|
||||
|
||||
|
||||
|
||||
//check la disponibilité est asocie un nom à l'utilisateur si c'est bon, et prévient les autres.
|
||||
public boolean nommer(String nom) {
|
||||
|
||||
if (verifierDisponibiliteNom(nom)) {
|
||||
|
@ -128,7 +126,8 @@ public class GestionnaireNom{
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean nommer2(String nom) {
|
||||
//debug
|
||||
public boolean nommer2(String nom) {
|
||||
|
||||
if (verifierDisponibiliteNom(nom)) {
|
||||
setNom(nom);
|
||||
|
|
|
@ -23,14 +23,13 @@ import java.awt.event.ActionEvent;
|
|||
import javax.swing.JScrollPane;
|
||||
|
||||
public class ListUI extends JFrame implements Runnable{
|
||||
|
||||
private static final long serialVersionUID = 42L;
|
||||
|
||||
private JPanel contentPane;
|
||||
private JTable table;
|
||||
private DefaultTableModel dtm = new DefaultTableModel(null, new String[] {"Name"});
|
||||
|
||||
|
||||
|
||||
private ArrayList<String> test = new ArrayList<String>();
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -28,6 +28,8 @@ import java.awt.event.KeyAdapter;
|
|||
import java.awt.event.KeyEvent;
|
||||
|
||||
public class Login_RegisterUI extends JFrame implements Runnable{
|
||||
|
||||
private static final long serialVersionUID = 42L;
|
||||
|
||||
private JPanel contentPane;
|
||||
private JTextField idField;
|
||||
|
|
|
@ -18,6 +18,8 @@ import java.awt.event.KeyAdapter;
|
|||
import java.awt.event.KeyEvent;
|
||||
|
||||
public class NomUI extends JFrame implements Runnable{
|
||||
|
||||
private static final long serialVersionUID = 42L;
|
||||
|
||||
private JPanel contentPane;
|
||||
private JTextField usernameField;
|
||||
|
|
Loading…
Reference in a new issue