Debut database
This commit is contained in:
джерело
99feee7e8b
коміт
8791c73d38
15 змінених файлів з 160 додано та 5 видалено
BIN
Implementation/src/Controller/ChatApp.class
Звичайний файл
BIN
Implementation/src/Controller/ChatApp.class
Звичайний файл
Бінарний файл не відображається.
|
@ -22,7 +22,6 @@ import src.Protocoles.*;
|
|||
* Classe recapitulant toutes les actions possibles pour un utilisateur
|
||||
* </p>
|
||||
*/
|
||||
|
||||
public class ChatApp {
|
||||
|
||||
/* Liste des utilisateurs actifs */
|
||||
|
@ -199,10 +198,6 @@ public class ChatApp {
|
|||
|
||||
public static void main (String[] args) throws IOException {
|
||||
ChatApp app = new ChatApp(args[0],Integer.parseInt(args[1])) ;
|
||||
|
||||
|
||||
|
||||
|
||||
ExecutorService execUDP = Executors.newFixedThreadPool(1000);
|
||||
execUDP.submit(new RunnerEcouteUDP(app));
|
||||
try {
|
||||
|
|
BIN
Implementation/src/Controller/Historique.class
Звичайний файл
BIN
Implementation/src/Controller/Historique.class
Звичайний файл
Бінарний файл не відображається.
BIN
Implementation/src/Controller/ListUtilisateurs.class
Звичайний файл
BIN
Implementation/src/Controller/ListUtilisateurs.class
Звичайний файл
Бінарний файл не відображається.
BIN
Implementation/src/Controller/MessageHorodate.class
Звичайний файл
BIN
Implementation/src/Controller/MessageHorodate.class
Звичайний файл
Бінарний файл не відображається.
BIN
Implementation/src/Controller/Utilisateur.class
Звичайний файл
BIN
Implementation/src/Controller/Utilisateur.class
Звичайний файл
Бінарний файл не відображається.
BIN
Implementation/src/Model/DataBase.class
Звичайний файл
BIN
Implementation/src/Model/DataBase.class
Звичайний файл
Бінарний файл не відображається.
160
Implementation/src/Model/DataBase.java
Звичайний файл
160
Implementation/src/Model/DataBase.java
Звичайний файл
|
@ -0,0 +1,160 @@
|
|||
package src.Model;
|
||||
import java.io.IOException;
|
||||
import java.sql.*;
|
||||
import java.util.Date;
|
||||
|
||||
public class DataBase {
|
||||
private String DBurl = "jdbc:mysql://srv-bdens.insa-toulouse.fr:3306" ;
|
||||
private Connection connection = null;
|
||||
private String login = "tp_servlet_006";
|
||||
private String pswd = "baePh9ei";
|
||||
|
||||
/*Format de la table
|
||||
+--------+-------------+---------+---------------------+
|
||||
| ID | Pseudo | Actif | Date d'inscription |
|
||||
+--------+-------------+---------+---------------------+
|
||||
Id correspond à l'addresse IP
|
||||
Pseudo : Dernier Pseudo utilisé pour cette adresse IP, va etre remplacé par le pseudo actuel avec majPseudo
|
||||
Date d'inscription comme son nom l'indique le jour de l'inscription de cette utilisateur
|
||||
Actif est un boolean indicant si l'utilisateur est actif
|
||||
|
||||
Chaque communication entres utilisateurs sera stocké dans une table de la forme
|
||||
+------------------+-----------+---------------+---------------+
|
||||
| Destinataire | Source | Message | Date d'envoi |
|
||||
+--------+---------------------+---------------+---------------+
|
||||
Destinataire -> Id du destinataire du message
|
||||
Source -> Id de celui qui envoie le message
|
||||
Message -> Msg envoye
|
||||
Date d'envoie -> Date a laquelle Source a envoye le message a destinataire
|
||||
*/
|
||||
public DataBase() {
|
||||
try {
|
||||
// Besoin d'installer le driver JDBC entre java IDE et le system DBMS pour faire un pont entre les deux
|
||||
Class.forName("java.sql.Driver");
|
||||
System.out.println("Driver Installe");
|
||||
} catch (ClassNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
System.out.println("Echec installation Driver");
|
||||
}
|
||||
|
||||
try {
|
||||
// Etablir une connexion , forme : (url, "myLogin", "myPassword");
|
||||
this.connection = DriverManager.getConnection(this.DBurl,login,pswd);
|
||||
System.out.println("Connexion Etablie");
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
System.out.println("Echec d'etablissement de la connexion");
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Methode permettant de creer une table pour stocker les messages entre deux utilisateurs
|
||||
* @param ID1 Id du premier utilisateur
|
||||
* @param ID2 Id du second utilisateur
|
||||
*/
|
||||
public void CreationTableHistorique(String ID1 , String ID2) {
|
||||
// Pour eviter d'avoir les tables en double
|
||||
String petit;
|
||||
String grand;
|
||||
int comparaison = ID1.compareTo(ID2);
|
||||
if (comparaison < 0) {
|
||||
petit = ID1;
|
||||
grand = ID2 ;
|
||||
}
|
||||
else {
|
||||
petit = ID2;
|
||||
grand = ID1 ;
|
||||
}
|
||||
String nomTable = "Chat_" + petit + "_" + grand ;
|
||||
String Requete = "CREATE TABLE IF NOT EXISTS " + nomTable + "( Destinataire VARCHAR, Source VARCHAR, Message , Date d'envoi)" ;
|
||||
|
||||
Statement stmt = null ;
|
||||
//Statement est utilisé pour envoyer une requete SQL à la base de donnee
|
||||
try {
|
||||
stmt= connection.createStatement();
|
||||
System.out.println("Statement cree");
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
System.out.println("Echec creation Statement");
|
||||
}
|
||||
|
||||
//Execute la donnée SQL statement passe en parametre
|
||||
try {
|
||||
stmt.executeUpdate(Requete);
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
System.out.println(" Echec executeUpdate ");
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Methode permettant de mettre a jour le pseudo d'un utilisateur en fonction de son ID dans la base de donnee
|
||||
* @param ID Id de l'utilisateur qui vient de changer de pseudo
|
||||
* @param Pseudo Nouveau Pseudo de l'utilisateur
|
||||
*/
|
||||
public void majPseudo( String ID , String Pseudo) {
|
||||
String requete = "UPDATE Utilisateurs SET Pseudo = '"+Pseudo+"’ WHERE ID = '"+ID+"'";
|
||||
Statement stmt = null ;
|
||||
//Statement est utilisé pour envoyer une requete SQL à la base de donnee
|
||||
try {
|
||||
stmt= connection.createStatement();
|
||||
System.out.println("Statement cree");
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
System.out.println("Echec creation Statement");
|
||||
}
|
||||
//Execute la donnée SQL statement passe en parametre
|
||||
try {
|
||||
stmt.executeUpdate(requete);
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
System.out.println(" Echec executeUpdate ");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Methode permettant de mettre a jour le pseudo d'un utilisateur en fonction de son ID dans la base de donnee
|
||||
* @param IDdest Id de l'utilisateur Destinataire du message
|
||||
* @param IDdest Id de celui qui envoi le message
|
||||
* @param Msg Message envoye entre les deux utilisateurs
|
||||
* @param date Date de l'envoi du message
|
||||
*/
|
||||
public void ajoutHistorique(String IDdest , String IDsrc, String Msg, Date date) {
|
||||
// A REMPLIR
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Methode permettant de mettre a jour le pseudo d'un utilisateur en fonction de son ID dans la base de donnee
|
||||
* @param ID Id de l'utilisateur qui vient de se connecter pour la premiere fois
|
||||
* @param Pseudo pseudo actuelle de l'utilisateur
|
||||
*/
|
||||
public void ajoutUtilisateurs(String ID , String Pseudo ) {
|
||||
// A REMPLIR
|
||||
Date date = new Date();
|
||||
String dateString = date.toString();
|
||||
String BooleanActif = "true";
|
||||
}
|
||||
|
||||
/*
|
||||
* Methode permettant de mettre a jour les utilisateurs actuellement actif
|
||||
* @param ID Id de l'utilisateur qui vient de se connecter ou deconnecter
|
||||
* @param connecte Boolean true si il est connecte , false sinon
|
||||
*/
|
||||
public void majUtilisateursActifs(Boolean Connecte, String Id) {
|
||||
// A REMPLIR
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public static void main (String[] args) throws IOException {
|
||||
DataBase DB = new DataBase();
|
||||
DB.CreationTableHistorique("Auriane", "Nabil");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
BIN
Implementation/src/Protocoles/RunnerEcouteTCP.class
Звичайний файл
BIN
Implementation/src/Protocoles/RunnerEcouteTCP.class
Звичайний файл
Бінарний файл не відображається.
BIN
Implementation/src/Protocoles/RunnerEcouteUDP.class
Звичайний файл
BIN
Implementation/src/Protocoles/RunnerEcouteUDP.class
Звичайний файл
Бінарний файл не відображається.
BIN
Implementation/src/Protocoles/RunnerTCPEcoute.class
Звичайний файл
BIN
Implementation/src/Protocoles/RunnerTCPEcoute.class
Звичайний файл
Бінарний файл не відображається.
BIN
Implementation/src/Protocoles/RunnerTCPEnvoi.class
Звичайний файл
BIN
Implementation/src/Protocoles/RunnerTCPEnvoi.class
Звичайний файл
Бінарний файл не відображається.
BIN
Implementation/src/Protocoles/RunnerUDP.class
Звичайний файл
BIN
Implementation/src/Protocoles/RunnerUDP.class
Звичайний файл
Бінарний файл не відображається.
BIN
Implementation/src/Protocoles/TCPEchange.class
Звичайний файл
BIN
Implementation/src/Protocoles/TCPEchange.class
Звичайний файл
Бінарний файл не відображається.
BIN
Implementation/src/Protocoles/UDPEchange.class
Звичайний файл
BIN
Implementation/src/Protocoles/UDPEchange.class
Звичайний файл
Бінарний файл не відображається.
Завантаження…
Посилання в новій задачі