New file |
0,0 → 1,145 |
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 { |
|
// Evenenements |
final 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 servicecs |
private 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 asynchrone |
|
if (async) { |
carnetEnLigneModele.getUtilisateurAsynchroneDAO( |
new iRetourUtilisateur() { |
public void onRetour(Utilisateur uti) { |
utilisateur=uti; |
// fireEvent(ETAT_CONNEXION); |
} |
|
|
} |
|
); |
|
} |
// else if synchrone |
else { |
|
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 |
|
); |
|
|
} |
|
|
} |
|