Rev 2 | Blame | Last modification | View Log | RSS feed
package org.tela_botanica.client.observation;import org.tela_botanica.client.CarnetEnLigneMediateur;import org.tela_botanica.client.interfaces.iMediateur;import org.tela_botanica.client.interfaces.iRetourObservation;import org.tela_botanica.client.modeles.Observation;import com.google.gwt.user.client.Window;import com.google.gwt.user.client.ui.RootPanel;import com.google.gwt.user.client.ui.VerticalPanel;public class ObservationMediateur implements iMediateur {// Evenenementsfinal static public int NOMBRE_OBSERVATION = 1;final static public int LISTE_OBSERVATION = 2;private CarnetEnLigneMediateur carnetEnLigneMediateur = null; // Mediateur// Generalprivate final ObservationModele observationModele = new ObservationModele();private Observation observation = null;// Variable interneprivate final String texteDeconnexion = "Utilisez ce carnet en ligne pour saisir vos observations, <u>identifiez-vous</u> pour les transmettre à Tela Botanica";// Composants graphiquesprivate EtatConnexionVue etatConnexionVue = null; // Vue Etat de la// connexion utilisateurprivate FormulaireDeConnexionVue formulaireDeConnexionVue = null; // Formulaire// de// connexion// utilisateurprivate ListeObservationsVue listeObservationsVue = null; // Liste de// releves//public ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur) {this.carnetEnLigneMediateur = carnetEnLigneMediateur;etatConnexionVue = new EtatConnexionVue(this);listeObservationsVue = new ListeObservationsVue(this);VerticalPanel panel = new VerticalPanel();panel.add(etatConnexionVue);panel.add(listeObservationsVue);RootPanel.get().add(panel);onInitialisation();}// / Methodes privees/**** Initialisations**/private void onInitialisation() {afficheEtatConnexion();onFiltrageListeObservation("all", "all", "all");}// Filtre selection lieu/*** Action sur selection d'un lieu : affichage de la liste des taxons* correspondants au filtrage*/public void onFiltrageListeObservation(String id_loc, String loc,String lieu) {// Positionnement Filtre affichagelisteObservationsVue.setIdLocation(id_loc);listeObservationsVue.setLocalite(loc);listeObservationsVue.setLieudit(lieu);listeObservationsVue.initialiser();// Affichage des filtreslisteObservationsVue.displayFilter();}// / UTILISATEUR/*** Affichage etat de la connexion*/private void afficheEtatConnexion() {if (!carnetEnLigneMediateur.getUtilisateur().isIdentifie()) {etatConnexionVue.setEtat(texteDeconnexion, false);} else {etatConnexionVue.setEtat(carnetEnLigneMediateur.getUtilisateur().getIdentifiant()+ " (deconnexion)", true);}}/**** Affichage boite de connexion**/public void afficherDialogueConnexion() {// TODO : singleton ?formulaireDeConnexionVue = new FormulaireDeConnexionVue(this);// Position it roughly in the middle of the screen.int left = (Window.getClientWidth() - 512) / 2;int top = (Window.getClientHeight() - 256) / 2;formulaireDeConnexionVue.setPopupPosition(left, top);formulaireDeConnexionVue.show();}/*** Deconnexion de l'utilisateur en cours*/public void deconnecterUtilisateur() {// carnetEnLigneMediateur.addListener(CarnetEnLigneMediateur.DECONNEXION,this);carnetEnLigneMediateur.deconnecterUtilisateur();}/*** Tentative de connexion utilisateur** @param login* @param password*/public void connecterUtilisateur(String login, String password) {// carnetEnLigneMediateur.addListener(CarnetEnLigneMediateur.CONNEXION,this);carnetEnLigneMediateur.connecterUtilisateur(login, password);}// / OBSERVATION/*** Recherche nombre d'enregistrement pour l'utilisateur et la localite en* cours**/public void getNombreObservation(String identifiantLocalite,String localite, String annee, String mois, String jour,String lieudit, String rechercheLibre) {observationModele.getNombreObservation(new iRetourObservation() {public void onRetour(Observation obs) {observation = obs;// fireEvent(NOMBRE_OBSERVATION);}}, carnetEnLigneMediateur.getUtilisateur().getIdentifiant(),identifiantLocalite, localite, annee, mois, jour, lieudit,rechercheLibre);}public void getListeObservation(String identifiantLocalite,String localite, String annee, String mois, String jour,String lieudit, String rechercheLibre, int debut, int longueur) {observationModele.getListeObservation(new iRetourObservation() {public void onRetour(Observation obs) {observation = obs;// fireEvent(LISTE_OBSERVATION);}}, carnetEnLigneMediateur.getUtilisateur().getIdentifiant(),identifiantLocalite, localite, annee, mois, jour, lieudit,rechercheLibre, debut, longueur);}public Observation getObservation() {return observation;}// / EVENEMENTS/*** Evenements**//** public void handleEvent(BaseEvent be) { switch (be.type) { case* CarnetEnLigneMediateur.DECONNEXION: afficheEtatConnexion(); break; case* CarnetEnLigneMediateur.CONNEXION: if* (carnetEnLigneMediateur.getUtilisateur().isIdentifie()) {* formulaireDeConnexionVue.hide(); afficheEtatConnexion(); } else {* formulaireDeConnexionVue.afficherMessageAlerte(); // Erreur* identification } break; } }**/}