Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 938 → Rev 939

/trunk/src/org/tela_botanica/del/client/composants/formulaires/identification/FormulaireIdentificationPresenteur.java
1,11 → 1,10
package org.tela_botanica.del.client.composants.formulaires.identification;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.i18n.I18n;
import org.tela_botanica.del.client.modeles.Utilisateur;
import org.tela_botanica.del.client.services.rest.UtilisateurService;
import org.tela_botanica.del.client.services.rest.UtilisateurServiceConcret;
import org.tela_botanica.del.client.services.rest.async.UtilisateurCallback;
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
18,61 → 17,72
import com.google.gwt.user.client.ui.IsWidget;
 
public class FormulaireIdentificationPresenteur {
 
public abstract interface Vue extends IsWidget {
public void ajouterVue(HasWidgets composite);
 
public HasClickHandlers getSeConnecter();
 
public HasClickHandlers getSeDeconnecter();
 
public void basculerAffichageFormulaire();
 
public void basculerModeConnecte(Utilisateur utilisateur);
 
public HasClickHandlers getBoutonOK();
 
public HasText getLogin();
 
public HasText getMotdepasse();
 
public void afficherErreur();
 
public void masquerErreur();
 
public void viderFormulaire();
 
public void setErreur(String idTexte);
 
public String getErreur();
 
public HasKeyPressHandlers getLoginHasKeyPressHandler();
 
public HasKeyPressHandlers getMotdepasseHasKeyPressHandler();
}
 
private Vue vue;
private Utilisateur utilisateur;
private UtilisateurService utilisateurService;
 
public FormulaireIdentificationPresenteur(Vue vue, UtilisateurService utilisateurService) {
this.vue = vue;
this.utilisateurService = utilisateurService;
utilisateurService.obtenirUtilisateur(new UtilisateurCallback() {
 
@Override
public void surRetourUtilisateur(Utilisateur utilisateur) {
public void surRetour(Utilisateur objetRetour) {
CacheClient.getInstance().setUtilisateur(utilisateur);
rafraichir();
}
public void surErreurUtilisateur(String message) {
/*null*/
}
});
gererEvenements();
 
}
 
public void rafraichir() {
utilisateur = CacheClient.getInstance().getUtilisateur();
utilisateur = CacheClient.getInstance().getUtilisateur();
vue.basculerModeConnecte(this.utilisateur);
}
 
public void gererEvenements() {
vue.getSeConnecter().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent event) {
vue.basculerAffichageFormulaire();
}
});
 
vue.getBoutonOK().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
79,22 → 89,22
surTentativeLogin();
}
});
 
vue.getSeDeconnecter().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
deconnecterUtilisateur();
deconnecterUtilisateur();
}
});
 
vue.getLoginHasKeyPressHandler().addKeyPressHandler(creerGestionnaireEvenementToucheEntree());
vue.getMotdepasseHasKeyPressHandler().addKeyPressHandler(creerGestionnaireEvenementToucheEntree());
}
 
private void surTentativeLogin() {
String login = vue.getLogin().getText();
String login = vue.getLogin().getText();
String motdepasse = vue.getMotdepasse().getText();
 
if (login.equals("") || motdepasse.equals("")) {
gererErreur("saisirLogin");
} else {
101,7 → 111,7
connecterUtilisateur(login, motdepasse);
}
}
 
public KeyPressHandler creerGestionnaireEvenementToucheEntree() {
return new KeyPressHandler() {
public void onKeyPress(KeyPressEvent event) {
111,17 → 121,23
}
};
}
 
public void gererErreur(String erreur) {
vue.setErreur(erreur);
vue.afficherErreur();
}
 
public void connecterUtilisateur(String login, String motdepasse) {
 
utilisateurService.connecterUtilisateur(login, motdepasse, new UtilisateurCallback() {
 
public void surErreur(String message) {
vue.setErreur("identificationRefus");
vue.afficherErreur();
}
 
@Override
public void surRetourUtilisateur(Utilisateur utilisateur) {
public void surRetour(Utilisateur objetRetour) {
CacheClient.getInstance().setUtilisateur(utilisateur);
if (utilisateur.estIdentifie()) {
vue.masquerErreur();
128,31 → 144,27
rafraichir();
vue.basculerAffichageFormulaire();
vue.viderFormulaire();
}
}
}
public void surErreurUtilisateur(String message) {
vue.setErreur("identificationRefus");
vue.afficherErreur();
}
});
}
 
public void deconnecterUtilisateur() {
utilisateurService.deconnecterUtilisateur(new UtilisateurCallback() {
 
public void surErreur(String message) {
vue.setErreur("identificationRefus");
vue.afficherErreur();
}
 
@Override
public void surRetourUtilisateur(Utilisateur utilisateur) {
public void surRetour(Utilisateur objetRetour) {
CacheClient.getInstance().setUtilisateur(utilisateur);
rafraichir();
}
public void surErreurUtilisateur(String message) {
vue.setErreur("identificationRefus");
vue.afficherErreur();
}
});
}
 
public void go(HasWidgets composite) {
vue.ajouterVue(composite);
}