Rev 1091 | Rev 1200 | 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.navigation.evenement.comparaisoneflore.EvenementComparaisonEflore;
import org.tela_botanica.del.client.navigation.evenement.comparaisoneflore.GestionnaireEvenementComparaisonEflore;
import org.tela_botanica.del.client.navigation.evenement.detailsimage.EvenementRechercheImage;
import org.tela_botanica.del.client.navigation.evenement.detailsimage.GestionnaireEvenementRechercheImage;
import org.tela_botanica.del.client.navigation.evenement.rechercheobservation.EvenementRechercheObservation;
import org.tela_botanica.del.client.navigation.evenement.rechercheobservation.GestionnaireEvenementRechercheObservation;
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 CacheClient cache;
private BusEvenementiel() {
super(null);
instance = this;
creerHandler();
this.cache = CacheClient.getInstance();
}
public static BusEvenementiel getInstance() {
if (instance == null) {
instance = new BusEvenementiel();
}
return instance;
}
private void creerHandler() {
addHandler(EvenementValidation.TYPE, new GestionnaireEvenementValidation() {
@Override
public void onValidationObservation(EvenementValidation event) {
doValidationObservation(event.getObservation());
cache.setPageCourante(ConstantesNavigation.PAGE_VALIDATION);
}
});
addHandler(EvenementComparaisonEflore.TYPE, new GestionnaireEvenementComparaisonEflore() {
@Override
public void onComparaisonEflore(EvenementComparaisonEflore event) {
doComparaisonAvecEflore(event.getTaxonDemande());
cache.setPageCourante(ConstantesNavigation.PAGE_COMPARAISON_EFLORE);
}
});
addHandler(EvenementRechercheImage.TYPE, new GestionnaireEvenementRechercheImage() {
@Override
public void onRechercheImage(EvenementRechercheImage event) {
doRechercheImage();
cache.setPageCourante(ConstantesNavigation.PAGE_RECHERCHE_IMAGES);
}
});
addHandler(EvenementRechercheObservation.TYPE, new GestionnaireEvenementRechercheObservation() {
@Override
public void onRechercheObservation(EvenementRechercheObservation event) {
doRechercheObservation();
cache.setPageCourante(ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS);
}
});
}
private void doValidationObservation(Observation observation) {
CacheClient.getInstance().setObservationCourante(observation);
History.newItem(ConstantesNavigation.PAGE_VALIDATION + "~" + observation.getId(), true);
}
private void doComparaisonAvecEflore(String taxon) {
History.newItem(ConstantesNavigation.PAGE_COMPARAISON_EFLORE, true);
}
private void doRechercheImage() {
History.newItem(ConstantesNavigation.PAGE_RECHERCHE_IMAGES, true);
}
private void doRechercheObservation() {
History.newItem(ConstantesNavigation.PAGE_RECHERCHE_OBSERVATIONS, true);
}
}