Rev 2 | Blame | Last modification | View Log | RSS feed
package org.tela_botanica.client;import org.tela_botanica.client.image.ImageMediateur;import org.tela_botanica.client.interfaces.iRetourUtilisateur;import org.tela_botanica.client.modeles.Utilisateur;import org.tela_botanica.client.observation.ObservationMediateur;public class CarnetEnLigneMediateur {// Evenenementsfinal static public int ETAT_CONNEXION = 1;final static public int DECONNEXION = 2;final static public int CONNEXION = 3;private final CarnetEnLigneModele carnetEnLigneModele;private Utilisateur utilisateur = null;// Fonctionnement servicecsprivate boolean async = true;public CarnetEnLigneMediateur() {carnetEnLigneModele = new CarnetEnLigneModele();// addListener(ETAT_CONNEXION,this);getEtatUtilisateur(); // Alimente Objet Utilisateur}/*** Fin construction (est appelle sur reception evenement Applicatif* ETAT_CONNEXION)**/private void _CarnetEnLigneMediateur() {ImageMediateur.Instance();new ObservationMediateur(this);}private void getEtatUtilisateur() { // Pourrait devenir publique ...// TODO : utiliser une factory ici : Avec Modele synchrone ou non, ou au// niveau methode comme dans cette exemple// Pas possible de traiter dans Modele car retour asynchrone devant etre// traité ici.// if asynchroneif (async) {carnetEnLigneModele.getUtilisateurAsynchroneDAO(new iRetourUtilisateur() {public void onRetour(Utilisateur uti) {utilisateur = uti;// fireEvent(ETAT_CONNEXION);}});}// else if synchroneelse {utilisateur = carnetEnLigneModele.getUtilisateurSynchroneDAO();_CarnetEnLigneMediateur();}}// Evenenements Applicatifs/** public void handleEvent(BaseEvent be) { if* (be.type==CarnetEnLigneMediateur.ETAT_CONNEXION) {* _CarnetEnLigneMediateur(); // Fin initialisation } }*/// Methode publiques/*** Recherche Identifiant utilisateur en cours et etat de connection** @return Utilisateur*/public Utilisateur getUtilisateur() {return utilisateur;}/*** Deconnecte l'utilisateur passe en parametre*/public void deconnecterUtilisateur() {carnetEnLigneModele.deconnecterUtilisateur(new iRetourUtilisateur() {public void onRetour(Utilisateur uti) {utilisateur = uti;// fireEvent(DECONNEXION);}}, utilisateur.getIdentifiant());}public void connecterUtilisateur(String login, String password) {carnetEnLigneModele.connecterUtilisateur(new iRetourUtilisateur() {public void onRetour(Utilisateur uti) {utilisateur = uti;// fireEvent(CONNEXION);}}, login, password);}}