Quelques corrections de bug
This commit is contained in:
parent
05138211a3
commit
09f20b72d9
23 changed files with 157 additions and 204 deletions
|
@ -1,6 +1,7 @@
|
|||
package bdd;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.Statement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
@ -46,7 +47,9 @@ public class GestionnaireHistorique {
|
|||
|
||||
String id = combiner(id1, id2);
|
||||
|
||||
Statement st = null;
|
||||
|
||||
Statement st1 = null;
|
||||
Statement st2 = null;
|
||||
int rs1;
|
||||
ResultSet rs2 = null;
|
||||
Connection con = null;
|
||||
|
@ -66,10 +69,11 @@ public class GestionnaireHistorique {
|
|||
try {
|
||||
con = Liaison.getConnection();
|
||||
|
||||
st = con.createStatement();
|
||||
st1 = con.createStatement();
|
||||
st2 = con.createStatement();
|
||||
|
||||
rs1 = st.executeUpdate(query1);
|
||||
rs2 = st.executeQuery(query2);
|
||||
rs1 = st1.executeUpdate(query1);
|
||||
rs2 = st2.executeQuery(query2);
|
||||
|
||||
|
||||
|
||||
|
@ -80,9 +84,7 @@ public class GestionnaireHistorique {
|
|||
}
|
||||
|
||||
// à mettre dans un finally
|
||||
rs2.close();
|
||||
st.close();
|
||||
con.close();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -90,6 +92,32 @@ public class GestionnaireHistorique {
|
|||
System.out.println("Erreur : Historic BDD");
|
||||
e.printStackTrace();
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
if (rs2 != null) rs2.close();
|
||||
} catch (SQLException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
if (st1 != null) st1.close();
|
||||
} catch (SQLException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
if (st2 != null) st2.close();
|
||||
} catch (SQLException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
if (con != null) con.close();
|
||||
} catch (SQLException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
return history.toString();
|
||||
|
||||
|
@ -101,28 +129,39 @@ public class GestionnaireHistorique {
|
|||
|
||||
String id = combiner(id1, id2);
|
||||
|
||||
Statement st;
|
||||
int rs;
|
||||
Connection con = null;
|
||||
PreparedStatement st = null;
|
||||
int rs = 0;
|
||||
|
||||
String query = "INSERT INTO " + id
|
||||
+ " (expediteur, msg) VALUES ('" + expediteur + "', '" + msg + "');"; //à réécrire pour éviter les injections
|
||||
String query = "INSERT INTO " + id + " (expediteur, msg) VALUES (?, ?);";
|
||||
|
||||
try {
|
||||
Connection con = Liaison.getConnection();
|
||||
con = Liaison.getConnection();
|
||||
|
||||
st = con.createStatement();
|
||||
rs = st.executeUpdate(query);
|
||||
st = con.prepareStatement(query);
|
||||
st.setString(1, expediteur);
|
||||
st.setString(2, msg);
|
||||
|
||||
rs = st.executeUpdate();
|
||||
|
||||
|
||||
// à mettre dans un finally
|
||||
st.close();
|
||||
con.close();
|
||||
|
||||
} catch (SQLException e) {
|
||||
System.out.println("Erreur : Historic BDD");
|
||||
e.printStackTrace();
|
||||
}
|
||||
finally
|
||||
{
|
||||
try {
|
||||
if (st != null) st.close();
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
if (con != null) con.close();
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ import java.net.HttpURLConnection;
|
|||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import data.ServletResponse;
|
||||
import defaut.Constantes;
|
||||
import defaut.Constante;
|
||||
import data.Message;
|
||||
|
||||
public class EnvoiMessageDistance {
|
||||
|
@ -31,7 +31,7 @@ public class EnvoiMessageDistance {
|
|||
|
||||
|
||||
//URL url = new URL("http://localhost:8080/Servlet_MBP/messageServlet");
|
||||
URL url = new URL(Constantes.URL_SERVLET_MESSAGES);
|
||||
URL url = new URL(Constante.URL_SERVLET_MESSAGES);
|
||||
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
|
||||
|
||||
//On configure la requête POST
|
||||
|
|
|
@ -13,8 +13,8 @@ public class GestionnaireSessionsLocales implements Runnable{
|
|||
public static final int BACKLOG = 10;
|
||||
private static GestionnaireSessionsLocales uniqueInstance = null;
|
||||
private ConcurrentHashMap <String, SessionClavardageLocale> sessions = new ConcurrentHashMap <String, SessionClavardageLocale>();
|
||||
private TCPServer requestServer;
|
||||
private Thread thread;
|
||||
private TCPServer requestServer = null;
|
||||
private Thread thread = null;
|
||||
|
||||
public static GestionnaireSessionsLocales instance() {
|
||||
if (uniqueInstance == null) {
|
||||
|
@ -23,14 +23,16 @@ public class GestionnaireSessionsLocales implements Runnable{
|
|||
return GestionnaireSessionsLocales.uniqueInstance;
|
||||
}
|
||||
|
||||
//TODO Ajouter la suppression des sessions de la liste après déconnexion
|
||||
private GestionnaireSessionsLocales(int backlog) {
|
||||
//On ne lance le serveur que si le client est local
|
||||
if (GestionnaireNom.instance().getDansReseau()) {
|
||||
GestionnaireNom gn = GestionnaireNom.instance();
|
||||
System.out.print(gn.getIp());
|
||||
this.requestServer = new TCPServer(gn.getIp(), backlog, PORT_REQUETE_NOUVELLE_SESSION + Integer.parseInt(gn.getId()));
|
||||
this.thread = new Thread(this);
|
||||
this.thread.start();
|
||||
}
|
||||
}
|
||||
|
||||
public void createSession(String name) {
|
||||
GestionnaireNom gn = GestionnaireNom.instance();
|
||||
|
@ -66,6 +68,7 @@ public class GestionnaireSessionsLocales implements Runnable{
|
|||
public void run() {
|
||||
|
||||
GestionnaireNom gn = GestionnaireNom.instance();
|
||||
//On ne lance pas le thread pour les clients à distance
|
||||
while (gn.getDansReseau()) {
|
||||
|
||||
Socket ssocket = this.requestServer.accept();
|
||||
|
|
|
@ -52,6 +52,7 @@ public class SessionClavardageLocale extends SessionClavardage{
|
|||
}
|
||||
|
||||
public void sendObject(Message message) throws IOException {
|
||||
System.out.println("L'envoi de l'objet se fait en local");
|
||||
this.clientEmission.sendObject(message);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
package data;
|
||||
import java.time.*;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
|
||||
public abstract class AbstractData {//TODO Etendre Abstractdata à imagedata et filedata et utiliser ces objets au lieu des strings lors des échanges en local, comme pour le servlet
|
||||
private Instant dateEnvoi;
|
||||
private String expediteur;
|
||||
private String data;
|
||||
|
||||
public AbstractData(Instant dateEnvoi, String expediteur, String data) {
|
||||
this.dateEnvoi = dateEnvoi;
|
||||
this.expediteur = expediteur;
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public String getData() {
|
||||
return this.data;
|
||||
}
|
||||
|
||||
public abstract JLabel afficher();
|
||||
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
package data;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
|
||||
public class StringData extends AbstractData {
|
||||
|
||||
public StringData(Instant dateEnvoi, String expediteur, String string) {
|
||||
super(dateEnvoi, expediteur, string);
|
||||
}
|
||||
|
||||
public JLabel afficher() {
|
||||
return new JLabel(this.getData());
|
||||
}
|
||||
|
||||
}
|
|
@ -1,10 +1,19 @@
|
|||
package defaut;
|
||||
|
||||
public class Constantes {
|
||||
|
||||
public class Constante {
|
||||
|
||||
public static final String IP_BROADCAST = "255.255.255.255";
|
||||
public static final int SIZE_ORDRE = 100;
|
||||
public static final int NUM_PORT_SERVER_UDP = 2000;
|
||||
|
||||
|
||||
public static final String URL_SERVLET_MESSAGES = "https://srv-gei-tomcat.insa-toulouse.fr/Servlet_MBP/messageServlet";
|
||||
public static final String URL_SERVLET_PRESENCE = "https://srv-gei-tomcat.insa-toulouse.fr/Servlet_MBP/Servlet";
|
||||
|
||||
//Intervalle, en seconde, entre les requêtes envoyés périodiquement par chaque client au servlet
|
||||
public static final float POLL_FREQUENCY = 1;
|
||||
|
||||
|
||||
public static final boolean debug = true; // indique si l'on debug en local sur un seul ordinateur
|
||||
}
|
|
@ -1,52 +1,18 @@
|
|||
package defaut;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import liste.GestionnaireListeUtilisateur;
|
||||
import ui.Login_RegisterUI;
|
||||
import servlet.Get;
|
||||
import servlet.Notify;
|
||||
|
||||
|
||||
public class Main {
|
||||
|
||||
public static final int UDP_SERVER_PORT_DEBUG = 2004;
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
|
||||
// les méthode finissant par 2 sont le double de celle sans 2, servant à tester en local.
|
||||
//Elles sont utilisés lorsque la constante debug vaut true
|
||||
|
||||
// les méthode finnissant par 2 sont le double de celle sans 2, servant à tester en local
|
||||
if (liste.Constante.debug) {
|
||||
|
||||
//on lance le server d'écoute de cmd
|
||||
//GestionnaireListeUtilisateur.instance().ecoute2(2001);
|
||||
|
||||
//on crée manuellement des utilisateurs //debug1
|
||||
//GestionnaireListeUtilisateur.instance().envoie2("add$$$77$$$Moidebug$$$LocalHost$$$true");
|
||||
|
||||
//on met à jour notre liste
|
||||
//GestionnaireListeUtilisateur.instance().majListe2();
|
||||
//J'ai dû le déplacer après l'identification
|
||||
} else {
|
||||
|
||||
//on lance le server d'écoute de cmd
|
||||
GestionnaireListeUtilisateur.instance().ecoute();
|
||||
|
||||
//on crée manuellement des utilisateurs
|
||||
//GestionnaireListeUtilisateur.instance().envoie("add$$$77$$$Moi$$$LocalHost$$$true");
|
||||
|
||||
//on met à jour notre liste
|
||||
//GestionnaireListeUtilisateur.instance().majListe();
|
||||
//idem
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*// on Subscribe à la servlet
|
||||
try {
|
||||
Get.sendGET();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
};*/
|
||||
|
||||
//on lance le UI
|
||||
Thread t = new Thread(new Login_RegisterUI());
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
package liste;
|
||||
|
||||
|
||||
public class Constante {
|
||||
|
||||
public static final String IP_BROADCAST = "255.255.255.255";
|
||||
public static final int SIZE_ORDRE = 100;
|
||||
public static final int NUM_PORT_SERVER = 2000;
|
||||
|
||||
|
||||
public static final String URL_SERVLET = "https://srv-gei-tomcat.insa-toulouse.fr/Servlet_MBP3/";
|
||||
public static final String URL_SERVLET2 = "http://localhost:8080/Servlet_MBP/test";
|
||||
|
||||
|
||||
public static final boolean debug = true; // indique si l'on debug en local sur un seul ordinateur
|
||||
}
|
|
@ -3,6 +3,7 @@ package liste;
|
|||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import defaut.Constante;
|
||||
import nom.GestionnaireNom;
|
||||
import servlet.Post;
|
||||
|
||||
|
@ -48,7 +49,7 @@ public class GestionnaireListeUtilisateur {
|
|||
//Demande à tout le monde d'envoyer leur infos (TypeListeUtilisateur) --> Uniquement lors de la connexion
|
||||
public void majListe() {
|
||||
if (GestionnaireNom.instance().getDansReseau()) {
|
||||
envoie("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " " + "$$$" + " ");
|
||||
envoie("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " " + "$$$" + " " + "$$$" + " ");
|
||||
}
|
||||
try {
|
||||
Post.sendPOST("listRequest$$$" + GestionnaireNom.instance().getId() + "$$$" + GestionnaireNom.instance().getNom()+ "$$$"
|
||||
|
@ -63,7 +64,7 @@ public class GestionnaireListeUtilisateur {
|
|||
//debug local
|
||||
public void majListe2() {
|
||||
if (GestionnaireNom.instance().getDansReseau()) {
|
||||
envoie2("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " " + "$$$" + " ");
|
||||
envoie2("listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " " + "$$$" + " " + "$$$" + " ");
|
||||
}
|
||||
try {
|
||||
Post.sendPOST("listRequest$$$" + GestionnaireNom.instance().getId() + "$$$" + GestionnaireNom.instance().getNom()+ "$$$"
|
||||
|
@ -77,7 +78,7 @@ public class GestionnaireListeUtilisateur {
|
|||
|
||||
//ecoute le port de broadcast pour recevoir le message personnalisé
|
||||
public void ecoute() { //static ??
|
||||
Thread ecouteThread = new Thread(new UdpBroadcastServer(Constante.NUM_PORT_SERVER));
|
||||
Thread ecouteThread = new Thread(new UdpBroadcastServer(Constante.NUM_PORT_SERVER_UDP));
|
||||
ecouteThread.start();
|
||||
}
|
||||
|
||||
|
@ -89,14 +90,14 @@ public class GestionnaireListeUtilisateur {
|
|||
|
||||
//envoie en Broadcast aux autres liste les infos sur cet utilisateur
|
||||
public void envoie(String message) {
|
||||
Thread envoieThread = new Thread(new UdpBroadcastClient(Constante.NUM_PORT_SERVER, message));
|
||||
Thread envoieThread = new Thread(new UdpBroadcastClient(Constante.NUM_PORT_SERVER_UDP, message));
|
||||
envoieThread.start();
|
||||
}
|
||||
|
||||
//debug local
|
||||
public void envoie2(String message) {
|
||||
for(int i=0; i<10; i++) {
|
||||
Thread envoieThread = new Thread(new UdpUnicastClient(Constante.NUM_PORT_SERVER + i, "LocalHost", message));
|
||||
Thread envoieThread = new Thread(new UdpUnicastClient(Constante.NUM_PORT_SERVER_UDP + i, "LocalHost", message));
|
||||
envoieThread.start();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,16 +8,16 @@ import ui.ListUI;
|
|||
|
||||
public class TraitementCmdListe implements Runnable{
|
||||
|
||||
private String[] cmd; //ordre$$$id$$$nom$$$ip$$$statut
|
||||
private String[] cmd; //ordre$$$id$$$nom$$$ip$$$statut$$$local
|
||||
private Semaphore semaphore;
|
||||
|
||||
//Constructeur
|
||||
public TraitementCmdListe(String message, Semaphore semaphore) {
|
||||
this.cmd = message.split("\\$\\$\\$", 0);
|
||||
this.semaphore = semaphore;
|
||||
if(cmd.length != 5) {
|
||||
if(cmd.length != 6) {
|
||||
System.out.println("Erreur nombre d'arguments");
|
||||
this.cmd = new String[] {"", "", "", "", ""};
|
||||
this.cmd = new String[] {"", "", "", "", "", ""};
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -31,10 +31,11 @@ public class TraitementCmdListe implements Runnable{
|
|||
String id = cmd[1];
|
||||
String nom = cmd[2];
|
||||
String ip = cmd[3];
|
||||
String statut = cmd[4];
|
||||
String local = cmd[4];
|
||||
String statut = cmd[5];
|
||||
|
||||
if (ordre.equals("listRequest")) {
|
||||
if (liste.Constante.debug) {
|
||||
if (ordre.equals("listRequest") && GestionnaireNom.instance().getNom() != null) {
|
||||
if (defaut.Constante.debug) {
|
||||
for (int i = 2000; i<2010; i++) envoyerNom2(i);
|
||||
} else {
|
||||
envoyerNom();
|
||||
|
@ -43,7 +44,6 @@ public class TraitementCmdListe implements Runnable{
|
|||
}
|
||||
|
||||
semaphore.acquireUninterruptibly();
|
||||
//System.out.println("bloqué");
|
||||
|
||||
if (ordre.equals("delete")) {
|
||||
supprimeUtilisateur(id);
|
||||
|
@ -51,7 +51,7 @@ public class TraitementCmdListe implements Runnable{
|
|||
|
||||
if (ordre.equals("add") && !nom.equals("null")) {
|
||||
|
||||
ajouteUtilisateur(id, nom, ip, statut); //TODO
|
||||
ajouteUtilisateur(id, nom, ip, statut, Boolean.parseBoolean(local)); //TODO
|
||||
|
||||
|
||||
//debug
|
||||
|
@ -99,7 +99,7 @@ public class TraitementCmdListe implements Runnable{
|
|||
|
||||
|
||||
//Ajoute les utilisateurs à la listeUtilisateur
|
||||
private void ajouteUtilisateur(String id, String nom, String ip, String statut) {
|
||||
private void ajouteUtilisateur(String id, String nom, String ip, String statut, boolean local) {
|
||||
|
||||
boolean inListe = false;
|
||||
ArrayList<TypeListeUtilisateur> listeUtilisateur = GestionnaireListeUtilisateur.instance().getListeUtilisateur();
|
||||
|
@ -117,7 +117,7 @@ public class TraitementCmdListe implements Runnable{
|
|||
|
||||
//s'il n'est pas dans la liste on la rajoute
|
||||
if (!inListe) {
|
||||
listeUtilisateur.add(new TypeListeUtilisateur(id, nom, ip, statut));
|
||||
listeUtilisateur.add(new TypeListeUtilisateur(id, nom, ip, statut, local));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -6,12 +6,14 @@ public class TypeListeUtilisateur {
|
|||
public String id;
|
||||
public String ip;
|
||||
public String statut;
|
||||
public boolean local;
|
||||
|
||||
public TypeListeUtilisateur(String id, String nom, String ip, String statut) {
|
||||
public TypeListeUtilisateur(String id, String nom, String ip, String statut, boolean local) {
|
||||
this.id = id;
|
||||
this.nom = nom;
|
||||
this.ip = ip;
|
||||
this.statut = statut;
|
||||
this.local = local;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,8 @@ import java.io.IOException;
|
|||
import java.net.DatagramPacket;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import defaut.Constante;
|
||||
|
||||
public class UdpBroadcastClient implements Runnable{
|
||||
|
||||
private final int serverPort;
|
||||
|
|
|
@ -6,6 +6,8 @@ import java.net.DatagramSocket;
|
|||
import java.net.SocketException;
|
||||
import java.util.concurrent.Semaphore;
|
||||
|
||||
import defaut.Constante;
|
||||
|
||||
|
||||
public class UdpBroadcastServer implements Runnable{
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ public class UdpUnicastClient implements Runnable{
|
|||
|
||||
|
||||
public void run() {
|
||||
System.out.println("Le client envoie" + message);
|
||||
try(DatagramSocket serverSocket = new DatagramSocket()){
|
||||
|
||||
DatagramPacket datagramPacket = new DatagramPacket(
|
||||
|
|
|
@ -161,7 +161,7 @@ public class GestionnaireNom{
|
|||
public void nommer(String nom) {
|
||||
setNom(nom);
|
||||
if (GestionnaireNom.instance().getDansReseau()) {
|
||||
GestionnaireListeUtilisateur.instance().envoie("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau());
|
||||
GestionnaireListeUtilisateur.instance().envoie("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau() + "$$$" + getStatut());
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -177,7 +177,7 @@ public class GestionnaireNom{
|
|||
public void nommer2(String nom) {
|
||||
setNom(nom);
|
||||
if (GestionnaireNom.instance().getDansReseau()) {
|
||||
GestionnaireListeUtilisateur.instance().envoie2("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau());
|
||||
GestionnaireListeUtilisateur.instance().envoie2("add"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau() + "$$$" + getStatut());
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -194,7 +194,7 @@ public class GestionnaireNom{
|
|||
// Supprime l'utilisateur et prévient les autres.
|
||||
public void supprimer() {
|
||||
if (GestionnaireNom.instance().getDansReseau()) {
|
||||
GestionnaireListeUtilisateur.instance().envoie("delete"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau());
|
||||
GestionnaireListeUtilisateur.instance().envoie("delete"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau() + "$$$" + getStatut());
|
||||
}
|
||||
try {
|
||||
Post.sendPOST("delete$$$" + GestionnaireNom.instance().getId() + "$$$" + GestionnaireNom.instance().getNom()+ "$$$"
|
||||
|
@ -210,7 +210,7 @@ public class GestionnaireNom{
|
|||
//debug
|
||||
public void supprimer2() {
|
||||
if (GestionnaireNom.instance().getDansReseau()) {
|
||||
GestionnaireListeUtilisateur.instance().envoie2("delete"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau());
|
||||
GestionnaireListeUtilisateur.instance().envoie2("delete"+ "$$$" + getId() + "$$$" + getNom() + "$$$" + getIp() + "$$$" + getDansReseau() + "$$$" + getStatut());
|
||||
}
|
||||
try {
|
||||
Post.sendPOST("delete$$$" + GestionnaireNom.instance().getId() + "$$$" + GestionnaireNom.instance().getNom()+ "$$$"
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
package servlet;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
|
||||
public class Get {
|
||||
|
||||
//private static final String USER_AGENT = "Mozilla/5.0";
|
||||
|
||||
private static final String GET_URL = defaut.Constantes.URL_SERVLET_PRESENCE;
|
||||
|
||||
|
||||
|
||||
public static void sendGET() throws IOException { // SUbscribe
|
||||
URL obj = new URL(GET_URL);
|
||||
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
|
||||
con.setRequestMethod("GET");
|
||||
//con.setRequestProperty("User-Agent", USER_AGENT);
|
||||
int responseCode = con.getResponseCode();
|
||||
System.out.println("GET Response Code :: " + responseCode);
|
||||
if (responseCode == HttpURLConnection.HTTP_OK) { // success
|
||||
System.out.println("Get success");
|
||||
|
||||
} else {
|
||||
System.out.println("GET request not worked");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -5,7 +5,7 @@ import java.io.IOException;
|
|||
import clavardage.EnvoiMessageDistance;
|
||||
import nom.GestionnaireNom;
|
||||
|
||||
public class Notify {
|
||||
public class Notif {
|
||||
|
||||
public static void notifier () {
|
||||
//On indique au servlet que l'on est disponible pour recevoire des messages
|
|
@ -7,7 +7,7 @@ import java.net.URL;
|
|||
|
||||
public class Post {
|
||||
|
||||
private static final String POST_URL = defaut.Constantes.URL_SERVLET_PRESENCE;
|
||||
private static final String POST_URL = defaut.Constante.URL_SERVLET_PRESENCE;
|
||||
|
||||
public static void sendPOST(String msg) throws IOException { // Publish cmd : change$$$id$$$nom$$$ip$$$dedans$$$statut
|
||||
URL obj = new URL(POST_URL);
|
||||
|
|
|
@ -46,7 +46,7 @@ public class DiscussionUI extends JFrame implements PropertyChangeListener{
|
|||
*/
|
||||
|
||||
|
||||
public void setSession(SessionClavardageLocale session) {
|
||||
public void setSession(SessionClavardage session) {
|
||||
this.session = session;
|
||||
}
|
||||
|
||||
|
@ -84,7 +84,6 @@ public class DiscussionUI extends JFrame implements PropertyChangeListener{
|
|||
message.setRecipient(this.session.getIdDestination());
|
||||
textField.setText("");
|
||||
historicField.append(GestionnaireNom.instance().nomFromId(message.getSender()) +": " + message.getBody() + System.lineSeparator());
|
||||
//session.send(GestionnaireNom.instance().nomFromId(session.getIdSource()) + ": " + message+System.lineSeparator());
|
||||
try {
|
||||
session.sendObject(message);
|
||||
} catch (IOException e) {
|
||||
|
@ -95,7 +94,7 @@ public class DiscussionUI extends JFrame implements PropertyChangeListener{
|
|||
}
|
||||
|
||||
private void récupérerHistorique() {
|
||||
historicField.append(GestionnaireHistorique.instance().recuperer(this.session.getIdSource(), this.session.getIdDestination()));
|
||||
//TODO à Décommenter historicField.append(GestionnaireHistorique.instance().recuperer(this.session.getIdSource(), this.session.getIdDestination()));
|
||||
}
|
||||
/**
|
||||
* Create the frame.
|
||||
|
|
|
@ -206,7 +206,7 @@ public class ListUI extends JFrame implements Runnable{
|
|||
public void windowClosing(java.awt.event.WindowEvent windowEvent) {
|
||||
ListUI window = (ListUI) windowEvent.getSource();
|
||||
|
||||
if (liste.Constante.debug) {
|
||||
if (defaut.Constante.debug) {
|
||||
GestionnaireNom.instance().supprimer2();
|
||||
}
|
||||
else {
|
||||
|
@ -243,15 +243,16 @@ public class ListUI extends JFrame implements Runnable{
|
|||
if(!list.getSelectedValue().statut.equals("invisible")) {
|
||||
//TODO Que faire si le nom change entre temps ?
|
||||
String nom = list.getSelectedValue().nom;
|
||||
String statut = null;
|
||||
boolean local = false;
|
||||
ArrayList<TypeListeUtilisateur> listeUtilisateur = GestionnaireListeUtilisateur.instance().getListeUtilisateur();
|
||||
for (TypeListeUtilisateur user : listeUtilisateur) {
|
||||
if (user.nom.equals(nom)) {
|
||||
statut = user.statut;
|
||||
local = user.local;
|
||||
}
|
||||
}
|
||||
|
||||
if (GestionnaireNom.instance().getDansReseau() && statut.equals("true")) {
|
||||
System.out.println("GetDansReseau: " + GestionnaireNom.instance().getDansReseau());
|
||||
System.out.println("Local: " + local );
|
||||
if (GestionnaireNom.instance().getDansReseau() && local) {
|
||||
GestionnaireSessionsLocales gc = GestionnaireSessionsLocales.instance();
|
||||
gc.createSession(nom);
|
||||
}
|
||||
|
|
|
@ -30,9 +30,11 @@ import bdd.Liaison;
|
|||
import clavardage.GestionnaireMessagesDistants;
|
||||
import clavardage.GestionnaireSessionsDistantes;
|
||||
import clavardage.GestionnaireSessionsLocales;
|
||||
import defaut.Constante;
|
||||
import defaut.Main;
|
||||
import liste.GestionnaireListeUtilisateur;
|
||||
import nom.GestionnaireNom;
|
||||
import servlet.Notify;
|
||||
import servlet.Notif;
|
||||
|
||||
import javax.swing.JCheckBox;
|
||||
|
||||
|
@ -240,11 +242,6 @@ public class Login_RegisterUI extends JFrame implements Runnable{
|
|||
|
||||
dispose();
|
||||
|
||||
//1er Méthode sans Thread
|
||||
//NomUI nom = new NomUI();
|
||||
//nom.setLocationRelativeTo(null);
|
||||
//nom.setVisible(true);
|
||||
|
||||
|
||||
//2eme Méthode avec Thread
|
||||
Thread t = new Thread(new NomUI());
|
||||
|
@ -280,23 +277,40 @@ public class Login_RegisterUI extends JFrame implements Runnable{
|
|||
System.out.println("BDD SUCCESS");
|
||||
GestionnaireNom.instance().setId(id);
|
||||
|
||||
Notify.notifier();
|
||||
|
||||
//On a maintenant les informations nécessaires pour initialiser l'application
|
||||
|
||||
//on lance le server d'écoute de cmd pour les clients locaux
|
||||
if (GestionnaireNom.instance().getDansReseau()) {
|
||||
if (defaut.Constante.debug) {
|
||||
GestionnaireListeUtilisateur.instance().ecoute2(Main.UDP_SERVER_PORT_DEBUG);
|
||||
} else {
|
||||
GestionnaireListeUtilisateur.instance().ecoute();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//On indique au servlet qu'on va l'utiliser pour envoyer et recevoir des messages
|
||||
Notif.notifier();
|
||||
|
||||
//Instantiation des gestionnaires
|
||||
if (GestionnaireNom.instance().getDansReseau()) {
|
||||
GestionnaireSessionsLocales.instance();
|
||||
}
|
||||
GestionnaireSessionsDistantes.instance();
|
||||
GestionnaireMessagesDistants.instance();
|
||||
|
||||
//On met à jour la liste des utilisateurs
|
||||
if (Constante.debug) {
|
||||
GestionnaireListeUtilisateur.instance().majListe2();
|
||||
}
|
||||
else {
|
||||
GestionnaireListeUtilisateur.instance().majListe();
|
||||
}
|
||||
|
||||
|
||||
dispose();
|
||||
|
||||
//1er Méthode sans Thread
|
||||
//NomUI nom = new NomUI();
|
||||
//nom.setLocationRelativeTo(null);
|
||||
//nom.setVisible(true);
|
||||
|
||||
|
||||
//2eme Méthode avec Thread
|
||||
Thread t = new Thread(new NomUI());
|
||||
t.start();
|
||||
}
|
||||
|
|
|
@ -134,7 +134,7 @@ public class NomUI extends JFrame implements Runnable{
|
|||
//Celui-ci ne peut pas être "vide" + protection cmd
|
||||
if (!nom.isBlank() && !nom.contains("$$$")) {
|
||||
|
||||
if (liste.Constante.debug) {
|
||||
if (defaut.Constante.debug) {
|
||||
GestionnaireNom.instance().nommer2(nom);
|
||||
} else {
|
||||
GestionnaireNom.instance().nommer(nom);
|
||||
|
|
Loading…
Reference in a new issue