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);}}