Subversion Repositories eFlore/Applications.del

Rev

Rev 73 | Rev 91 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package org.tela_botanica.del.client.navigation.evenement;

import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.modeles.ObservationDetermination;
import org.tela_botanica.del.client.navigation.evenement.ajoutproposition.EvenementAjoutProposition;
import org.tela_botanica.del.client.navigation.evenement.ajoutproposition.GestionnaireEvenementAjoutProposition;
import org.tela_botanica.del.client.navigation.evenement.comparaisoneflore.EvenementComparaisonEflore;
import org.tela_botanica.del.client.navigation.evenement.comparaisoneflore.GestionnaireEvenementComparaisonEflore;
import org.tela_botanica.del.client.navigation.evenement.validationobservation.EvenementValidation;
import org.tela_botanica.del.client.navigation.evenement.validationobservation.GestionnaireEvenementValidation;

import com.google.gwt.event.shared.HandlerManager;
import com.google.gwt.user.client.History;

public class BusEvenementiel extends HandlerManager {

        private static BusEvenementiel instance;

        private BusEvenementiel() {
                super(null);
                instance = this;
                createHandlers();
        }

        public static BusEvenementiel getInstance() {
                if (instance == null) {
                        instance = new BusEvenementiel();
                }
                return instance;
        }

        private void createHandlers() {
                addHandler(EvenementValidation.TYPE, new GestionnaireEvenementValidation() {

                        @Override
                        public void onValidationImage(EvenementValidation event) {
                                doValidationObservation(event.getImageCel());
                        }
                });

                addHandler(EvenementComparaisonEflore.TYPE, new GestionnaireEvenementComparaisonEflore() {

                        @Override
                        public void onComparaisonEflore(EvenementComparaisonEflore event) {
                                doComparaisonAvecEflore(event.getTaxonDemande());
                        }
                });
                
                addHandler(EvenementAjoutProposition.TYPE, new GestionnaireEvenementAjoutProposition() {

                        @Override
                        public void onAjoutProposition(EvenementAjoutProposition event) {
                                doAjoutProposition(event.getPropositionDeterminationAjoutee());
                        }
                });

        }

        private void doValidationObservation(Observation observation) {
                CacheClient.getInstance().setCurrentObservation(observation);
                History.newItem(ConstantesNavigation.PAGE_VALIDATION, true);
                History.fireCurrentHistoryState();
        }

        private void doComparaisonAvecEflore(String taxon) {
                CacheClient.getInstance().setTaxonPourRechercheEflore(taxon);
                History.newItem(ConstantesNavigation.PAGE_COMPARAISON_EFLORE, true);
                History.fireCurrentHistoryState();
        }
        
        private void doAjoutProposition(ObservationDetermination observationDetermination) {
                
        }

}