WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Modélisation d'un système multi-agents : application à  la réunion d'attribution des charges horaires au département d'informatique de gestion

( Télécharger le fichier original )
par Jean-Marie MUNGUAKONKOKWA
ISP Bukavu - Licence en pédagogie appliquée option informatique de gestion 2009
  

précédent sommaire suivant

Extinction Rebellion

4.3.2. Le fichier service

import java.net.*;

import java.sql.*;

import java.io.*;

public class Service extends Thread{

Socket sck = null;

Connection con = null; // connexion à la BD

Statement stat = null; // exécution des cd sql

ResultSet rs = null; // pour recueillir les rsultats de la consultation

ResultSetMetaData rsmd=null; // info sur resultset

String requete;

String requete1;

ResultSet rs1 = null;

Statement stat1 = null;

BufferedReader bfrd = null;

PrintWriter prtw = null;

public Service(Socket s){

sck = s;

}

/*

La méthode run est obligatoire dans une classe Thread. c'est elle qui est exécutée

lors de l'invocation d'un thread par la laméthode start()

*/

public void run(){

try{

bfrd = new BufferedReader(new InputStreamReader(sck.getInputStream()));

prtw = new PrintWriter(sck.getOutputStream(),true);

} catch (Exception e) {

System.out.println("erreur creation flux \n" +e);

System.exit(0);

}

// 2. lire la reque du client

try{

requete = bfrd.readLine();

} catch (Exception e){

System.out.println("erreur lecture requete \n" +e);

System.exit(1);

}

// 3. analyser la requete cliente

String lettre1 = "";

lettre1 = requete.substring(0,1);

// 4. Appel de la méthode d'écriture pour une requete d'écriture

if(lettre1.equals("i")) insertion();

else{

// 5. Appel de la méthode de consultation pour une requete de consultation

consultation();

//chargecommun();

//suppression();

}

}

// Mthode d'écriture

public void insertion(){

connexion();

try{

int nbEnreg = stat.executeUpdate(requete);

} catch (Exception e){

System.out.println(e);

System.exit(1);

}

}

// méthode de suppression

public void suppression(){

connexion();

try{

int nbEnreg = stat.executeUpdate(requete);

} catch (Exception e){

System.out.println(e);

System.exit(1);

}

}

// Méthode de consultation

public void consultation(){

// connexion à la base

connexion();

try{

// exécuter la requete

rs = stat.executeQuery(requete);

//rs = stat.executeQuery(requete1);

// exploitation du rs

ResultSetMetaData rsmd = rs.getMetaData();

int nbCol = rsmd.getColumnCount();

while(rs.next()){

for(int i=1; i<=nbCol; i++){

prtw.println(rs.getString(i));

}

}

}catch(Exception e){

System.out.println(e);

System.exit(2);

}

}

// Consultation charge commun

}

4.3.3. Le fichier Planification

import java.awt.*; // interface graphique

import java.applet.*; // Fonctionnalités applet

import javax.swing.*; // interface

import java.awt.event.*; // événements

import java.net.*; // aspect réseau

import java.sql.*;

import java.io.*; // envoi des requêtes et réception

public class Planification extends Applet implements WindowListener {

// attributs de la planifcation de la réunion

private String nom, sujet, agenda, datedebut;

private String datefin;

// objets graphiques globaux

TextField txnom=new TextField ();

TextField txsujet=new TextField ();

TextField txagenda=new TextField ();

TextField txdebut=new TextField ();

TextField txduree=new TextField ();

public Insets getInsets() {

Insets normal = super.getInsets();

return new Insets(normal.top + 60, normal.left + 40,

normal.bottom +40, normal.right + 40);

}

public void init(){

setSize(400, 300); // taille de l'applet

GridLayout gr=new GridLayout (5,2);

setLayout(gr); //disposition de l'applet

// Titre de l'applet

Label lbTitre = new Label("Planification réunion");

Font f = new Font("arial", Font.BOLD, 30);

lbTitre.setFont(f);

lbTitre.setBounds(5, 20, 350, 50); add(lbTitre);

Panel centre=new Panel(); add("Center",centre);

//GridLayout gr=new GridLayout (5,2);

centre.setLayout (gr);

centre.add(new Label ("Nom"));

centre.add(txnom);

centre.add(new Label ("Sujet"));

centre.add(txsujet);

centre.add(new Label ("Agenda"));

centre.add(txagenda);

centre.add(new Label ("DateDebut"));

centre.add(txdebut);

centre.add(new Label ("DateFin"));

centre.add(txduree);

Font f1=new Font("arial",Font.BOLD,14);

centre.setFont(f1);

centre.getInsets();

Panel sud=new Panel(); add("south",sud);

Button bt1=new Button("Envoyer");

Button bt2=new Button("Annuler");

Button bt3=new Button("VoirDésidérata");

sud.add(bt1);

sud.add(bt2);

sud.add(bt3);

sud.getInsets();

//

bt1.addActionListener( //gestion du bouton envoyer

new ActionListener(){

public void actionPerformed(ActionEvent e){

appelServeur(e);

}

}

);

bt2.addActionListener(// gestion du bouton annuler

new ActionListener(){

public void actionPerformed(ActionEvent e){

txnom.setText(null);

txsujet.setText(null);

txagenda.setText(null);

txdebut.setText(null);

txduree.setText(null);

}

}

);

bt3.addActionListener(

new ActionListener(){

public void actionPerformed(ActionEvent e){

Dimension dim=getSize();

String[] message={""+dim.width,""+dim.height,"mess1","mess2","mess3"};

ChargeHoraire.main(message);

}

});

}//fin de la methode init

public static void main(java.lang.String[] args) {//ces methodes en dessous m'on permis de tourner

Planification applet = new Planification();//une applet dans une application

Frame frame = new Frame("Planification de la réunion");

frame.addWindowListener(applet);

frame.add("Center", applet);

frame.setSize(500, 700);

frame.show();

applet.init();

applet.start();

}

public void windowActivated(WindowEvent e) { } //

public void windowClosed(WindowEvent e) { }

public void windowClosing(WindowEvent e) {

System.exit(0);

}

public void windowDeactivated(WindowEvent e) { }

public void windowDeiconified(WindowEvent e) { }

public void windowIconified(WindowEvent e) { }

public void windowOpened(WindowEvent e) { }

public void appelServeur(ActionEvent evt){

// 1. récupérer les données de l'interface

nom = txnom.getText(); sujet = txsujet.getText();

agenda = txagenda.getText(); datedebut = txdebut.getText();

datefin = txduree.getText();

// 2. construire la requete sql d'enregistrement

String requete = "insert into reunion ( nom, sujet, agenda, datedebut,datefin) values ('"+nom+"', '"+sujet+"', '"+agenda+"', '"+datedebut+"', '"+datefin+"')";

// 3. se connecter au serveur

Socket sck = null; // pour la connection cliente au réseau (serveur)

try{

sck = new Socket("127.0.0.1", 1500);

} catch (Exception e){

JOptionPane.showMessageDialog(

null,

"erreur : " + e, "connexion au serveur",

JOptionPane.ERROR_MESSAGE

);

}

// 4. créer le flux d'envoi de la requete

PrintWriter prtw = null; // flux d'envoi de données

try{

prtw = new PrintWriter(sck.getOutputStream(), true);

} catch (Exception e){

JOptionPane.showMessageDialog(

null,

"erreur : " + e, "création flux sortie",

JOptionPane.ERROR_MESSAGE

);

}

// 5. envoyer la requete au serveur

prtw.println(requete);

} // fin appelServeur

}

précédent sommaire suivant






Extinction Rebellion





Changeons ce systeme injuste, Soyez votre propre syndic





"En amour, en art, en politique, il faut nous arranger pour que notre légèreté pèse lourd dans la balance."   Sacha Guitry