Vous êtes sur la page 1sur 5

USDB 1– Faculté des Sciences 2022/2023

Département d’informatique

L3_ISIL – Système d’information distribué M me N.Lahiani

TD N° 5 Révision

Exercice 2:

1. diagramme des classes

2. Implémentation des classes de système sous JAVA


public class Clinique {
Serveur s ;
String nom;
String adresse;
ArrayList<Medecin> mList =new ArrayList<Medecin> ();
ArrayList<Patient> pList =new ArrayList<Patient> ();

String consulter (String idMedecin,String idPatient, String etat){


Patient e = null;
Medecin m = null;
for(int i=0;i<pList.size();i++){
if ((pList.get(i).getIdPatient()).compareTo(idPatient)==0){
e= pList.get(i);
}
}
for(int i=0;i<mList.size();i++){
if ((mList.get(i).getIdMedecin()).compareTo(idPatient)==0){
m= mList.get(i);
}
}
if(m!=null && e!=null){
m.consulter(e, etat);
return "OK";
}
else{return "ERROR";}

}
String ajouter (String nom, String prenom,String dateDeNaissance){
Patient e = null;
for(int i=0;i<pList.size();i++){
if ((pList.get(i).getIdPatient()).compareTo(nom)==0){
e= pList.get(i);
}
}
if(e==null){
e= new Patient (nom,prenom,dateDeNaissance);
String id= String.valueOf(pList.size()+1);
e.setIdPatient(id);
pList.add(e);
return id;
}else{
return "ERROR";
}
}

String modifier (String idPatient, String nom, String prenom,String


dateDeNaissance){
Patient e = null;
for(int i=0;i<pList.size();i++){
if ((pList.get(i).getIdPatient()).compareTo(nom)==0){
e= pList.get(i);
}
}
if(e!=null){
e.setNom(nom);
e.setDateDeNaissance(dateDeNaissance);
e.setPrenom(prenom);
return "OK";
}else{
return "ERROR";
}
}

public class Medecin {


String idMedecin;
String nom;
String specialité;
Clinique c;
void consulter (Patient e, String etat){
e.setEtat(etat);
}
public String getIdMedecin() {
return idMedecin;
}
public void setIdMedecin(String idMedecin) {
this.idMedecin = idMedecin;
}

public String getNom() {


return nom;
}

public void setNom(String nom) {


this.nom = nom;
}

public String getSpecialité() {


return specialité;
}
public void setSpecialité(String specialité) {
this.specialité = specialité;
}

public class Patient {

String idPatient;
String nom;
String prenom;
String dateDeNaissance;
String etat;
Clinique c;
public Patient(String nom, String prenom, String dateDeNaissance) {
super();
this.nom = nom;
this.prenom = prenom;
this.dateDeNaissance = dateDeNaissance;
}
public String getIdPatient() {
return idPatient;
}
public void setIdPatient(String idPatient) {
this.idPatient = idPatient;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public String getDateDeNaissance() {
return dateDeNaissance;
}
public void setDateDeNaissance(String dateDeNaissance) {
this.dateDeNaissance = dateDeNaissance;
}
public String getEtat() {
return etat;
}
public void setEtat(String etat) {
this.etat = etat;
}

3. le serveur et le client distant

public class Serveur {

int port;

String IP;

Clinique c;
ServerSocket server;

Socket socketClient ;

BufferedReader in;

PrintStream out;

Serveur(){
c= new Clinique();
try {
server = new ServerSocket(1000);

socketClient = server.accept();

in = new BufferedReader(new
InputStreamReader(socketClient.getInputStream()));

out= new PrintStream(socketClient.getOutputStream());


} catch (IOException e) {
e.printStackTrace();
}
Echange();
}

void Echange(){

try {

String mess01;
String id;
String nom;
String prenom;

String DateNaissance;
String idMedecin;
String idPatient;
String etat;
String mess02;

mess01 = in.readLine();
System.out.println("message : "+mess01);
/*ajouter*/
if(mess01.compareTo("1")==0){
nom= in.readLine();
prenom= in.readLine();
DateNaissance= in.readLine();
mess02=c.ajouter(nom, prenom,DateNaissance);
System.out.println(nom +" , "+prenom);
out.println(mess02);
}
/*consulter*/
if(mess01.compareTo("2")==0){
idMedecin= in.readLine();
idPatient= in.readLine();
etat= in.readLine();
mess02=c.consulter(idMedecin, idPatient, etat);
out.println(mess02);
}
/*modifier*/
if(mess01.compareTo("3")==0){
idPatient = in.readLine();
nom = in.readLine();
prenom = in.readLine();
DateNaissance = in.readLine();

mess02=c.modifier(idPatient, nom, prenom, DateNaissance);


out.println(mess02);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
socketClient.close();
server.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class ClientTCP {

public ClientTCP() {
// TODO Auto-generated constructor stub
}

public static void main(String[] args) {


Socket socket;
try {
InetAddress serveur = InetAddress.getByName("localhost");
socket = new Socket(serveur, 1000);
BufferedReader in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
PrintStream out = new PrintStream(socket.getOutputStream());

Scanner sc = new Scanner (System.in); int ch = sc.netInt();


switch (ch)
{
case 1:
out.println("1");
out.println("nom");
out.println("prenom");
out.println("10/10/2016");
System.out.println("message : "+in.readLine()); break;
case 2:
out.println("2");
out.println("001");
out.println("0002");
out.println("etat01"); break;
System.out.println("message : "+in.readLine()); break;
case 3:
out.println("3");
out.println("001");
out.println("nom");
out.println("prenom");
out.println("10/10/2016"); break;
}
System.out.println("message : "+in.readLine());

} catch (Exception e) {
e.printStackTrace();
}
}}

Vous aimerez peut-être aussi