Projet_POO/Projet_POO/src/main/java/nom/GestionnaireNom.java

227 rader
6 KiB
Java

package nom;
import java.io.IOException;
import java.net.InetAddress;
import liste.GestionnaireListeUtilisateur;
import servlet.Post;
public class GestionnaireNom{
private String idUtilisateur;
private String nomUtilisateur;
static private String ipUtilisateur;
private boolean dansReseau = true;
private String statut = "online";
//Instance du gestionnaire de nom
static private GestionnaireNom uniqueInstance = null;
//Renvoie le gestionnaire de nom, ou le crée s'il n'existe pas encore
static public GestionnaireNom instance() {
//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) {
System.out.println("Erreur : inetAddres LocalHost (UserIp)");
e.printStackTrace();
}
}
return GestionnaireNom.uniqueInstance;
}
//retourne le NomUtilisateur
public String getNom() {
return nomUtilisateur;
}
//retourne l'ID Utilisateur
public String getId() {
return idUtilisateur;
}
// retorurne l'IP Utilisateur
public String getIp() {
return ipUtilisateur;
}
// retourne dansReseau
public boolean getDansReseau() {
return dansReseau;
}
// retourne statut
public String getStatut() {
return statut;
}
// 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;
}
//set dansReseau
public void setDansReseau(boolean dans) {
dansReseau = dans;
}
//set statut
public void setStatut(String statut) {
this.statut = statut;
}
// 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())) {
return GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).id;
}
}
return null;
}
// 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())) {
return GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).ip;
}
}
return null;
}
//renvoie le nom associé à un id ou "null" s'il n'existe pas (ou non en ligne)
public String nomFromId(String id) {
for (int i=0; i<GestionnaireListeUtilisateur.instance().getListeUtilisateur().size(); i++) {
if (GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).id.equals(id) ) {
return GestionnaireListeUtilisateur.instance().getListeUtilisateur().get(i).nom;
}
}
return null;
}
// 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.equals(nom)) {
return false;
}
}
return true;
}
// Associe un nom à l'utilisateur et prévient les autres.
public void nommer(String nom) {
setNom(nom);
if (GestionnaireNom.instance().getDansReseau()) {
GestionnaireListeUtilisateur.instance().envoie("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau() + "$$$" + getStatut());
}
try {
Post.sendPOST("name$$$" + GestionnaireNom.instance().getId() + "$$$" + GestionnaireNom.instance().getNom()+ "$$$"
+ GestionnaireNom.instance().getIp() + "$$$" + GestionnaireNom.instance().getDansReseau() + "$$$"
+ GestionnaireNom.instance().getStatut() );
} catch (IOException e) {
//TODO Rajouter un message d'erreur
}
}
//debug
public void nommer2(String nom) {
setNom(nom);
if (GestionnaireNom.instance().getDansReseau()) {
GestionnaireListeUtilisateur.instance().envoie2("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau() + "$$$" + getStatut());
}
try {
Post.sendPOST("name$$$" + GestionnaireNom.instance().getId() + "$$$" + GestionnaireNom.instance().getNom()+ "$$$"
+ GestionnaireNom.instance().getIp() + "$$$" + GestionnaireNom.instance().getDansReseau() + "$$$"
+ GestionnaireNom.instance().getStatut() );
} catch (IOException e) {
//TODO Rajouter un message d'erreur
}
}
// Supprime l'utilisateur et prévient les autres.
public void supprimer() {
if (GestionnaireNom.instance().getDansReseau()) {
GestionnaireListeUtilisateur.instance().envoie("delete"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau() + "$$$" + getStatut());
}
try {
Post.sendPOST("delete$$$" + GestionnaireNom.instance().getId() + "$$$" + GestionnaireNom.instance().getNom()+ "$$$"
+ GestionnaireNom.instance().getIp() + "$$$" + GestionnaireNom.instance().getDansReseau() + "$$$"
+ GestionnaireNom.instance().getStatut() );
}
catch (IOException e) {
//TODO La aussi traiter l'erreur
}
}
//debug
public void supprimer2() {
if (GestionnaireNom.instance().getDansReseau()) {
GestionnaireListeUtilisateur.instance().envoie2("delete"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau() + "$$$" + getStatut());
}
try {
Post.sendPOST("delete$$$" + GestionnaireNom.instance().getId() + "$$$" + GestionnaireNom.instance().getNom()+ "$$$"
+ GestionnaireNom.instance().getIp() + "$$$" + GestionnaireNom.instance().getDansReseau() + "$$$"
+ GestionnaireNom.instance().getStatut() );
}
catch (IOException e) {
//TODO La aussi traiter l'erreur
}
}
}