Rev 210 | Rev 312 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.navigation.evenement;
import java.util.List;
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.gestionhistorique.ConstantesNavigation;
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole;
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole;
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.rechercheimage.EvenementRechercheImage;
import org.tela_botanica.del.client.navigation.evenement.rechercheimage.GestionnaireEvenementRechercheImage;
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;
creerHandler();
}
public static BusEvenementiel getInstance() {
if (instance == null) {
instance = new BusEvenementiel();
}
return instance;
}
private void creerHandler() {
addHandler(EvenementValidation.TYPE, new GestionnaireEvenementValidation() {
@Override
public void onValidationImage(EvenementValidation event) {
doValidationImage(event.getImage());
}
});
addHandler(EvenementComparaisonEflore.TYPE, new GestionnaireEvenementComparaisonEflore() {
@Override
public void onComparaisonEflore(EvenementComparaisonEflore event) {
doComparaisonAvecEflore(event.getTaxonDemande());
}
});
addHandler(EvenementRechercheImage.TYPE, new GestionnaireEvenementRechercheImage() {
@Override
public void onRechercheImage(EvenementRechercheImage event) {
doRechercheImage(event.getImages());
}
});
addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() {
@Override
public void onChangementProtocole(EvenementChangementProtocole event) {
doChangementProtocole(event.getProtocole());
}
});
}
private void doValidationImage(Image image) {
CacheClient.getInstance().setObservationCourante(image.getObservation());
CacheClient.getInstance().setImageCourante(image);
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 doRechercheImage(List<Image> images) {
CacheClient.getInstance().setImages(images);
History.newItem(ConstantesNavigation.PAGE_RESULTAT_RECHERCHE_IMAGES, true);
History.fireCurrentHistoryState();
}
private void doChangementProtocole(Protocole protocole) {
CacheClient.getInstance().setProtocoleCourant(protocole);
History.newItem(ConstantesNavigation.PAGE_RESULTAT_RECHERCHE_IMAGES, true);
History.fireCurrentHistoryState();
}
}