New file |
0,0 → 1,114 |
package org.tela_botanica.del.client.gestionhistorique; |
|
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.services.rest.ImageServiceConcret; |
import org.tela_botanica.del.client.services.rest.ObservationServiceConcret; |
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret; |
import org.tela_botanica.del.client.vues.comparaisoneflore.ComparaisonEflorePresenteur; |
import org.tela_botanica.del.client.vues.comparaisoneflore.ComparaisonEfloreVue; |
import org.tela_botanica.del.client.vues.entete.EntetePresenteur; |
import org.tela_botanica.del.client.vues.entete.EnteteVue; |
import org.tela_botanica.del.client.vues.identiplante.moteur.MoteurIdentiplantePresenteur; |
import org.tela_botanica.del.client.vues.identiplante.moteur.MoteurIdentiplanteVue; |
import org.tela_botanica.del.client.vues.identiplante.plateformedetermination.IdentiplanteDeterminationPresenteur; |
import org.tela_botanica.del.client.vues.identiplante.plateformedetermination.IdentiplanteDeterminationVue; |
import org.tela_botanica.del.client.vues.pictoflora.moteur.MoteurPictofloraPresenteur; |
import org.tela_botanica.del.client.vues.pictoflora.moteur.MoteurPictofloraVue; |
import org.tela_botanica.del.client.vues.pictoflora.plateformedetermination.PictofloraDeterminationPresenteur; |
import org.tela_botanica.del.client.vues.pictoflora.plateformedetermination.PictofloraDeterminationVue; |
|
import com.google.gwt.core.shared.GWT; |
import com.google.gwt.event.logical.shared.ValueChangeEvent; |
import com.google.gwt.event.logical.shared.ValueChangeHandler; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HTML; |
import com.google.gwt.user.client.ui.Panel; |
import com.google.gwt.user.client.ui.RootPanel; |
|
/** |
* @author Benjamin |
* |
*/ |
public class GestionnaireHistorique implements ValueChangeHandler<String> { |
|
/** |
* Évènement lorsque l'historique change. L'action par défaut affiche la |
* page d'accueil. |
* */ |
public void onValueChange(ValueChangeEvent<String> event) { |
//1. définition des variables |
String eventValue = event.getValue(); |
GWT.log("Historique -> eventValue:"+eventValue); |
Panel contenu = RootPanel.get("contenu"); |
Panel zoneEntete = RootPanel.get("zoneEnteteContenu"); |
CacheClient cache = CacheClient.getInstance(); |
cache.setPageCourante(eventValue); |
|
//2. nettoyer le contenu |
contenu.clear(); |
zoneEntete.clear(); |
|
//3. gérer l'entete |
EntetePresenteur entetePresenteur = new EntetePresenteur(new EnteteVue()); |
entetePresenteur.go(zoneEntete); |
|
//Actions en fonction de la valeur de l'évènement et de l'url |
String urlCourante = Window.Location.getHref(); |
Config config = new Config(); |
String urlAppliObs = config.getUrl("identiplante"); |
String urlAppliImg = config.getUrl("pictoflora"); |
|
if (urlCourante.contains(urlAppliImg)) { |
if (eventValue.startsWith(ConstantesNavigation.PAGE_DETAIL_IMG)) { |
PictofloraDeterminationPresenteur presenteur = new PictofloraDeterminationPresenteur( |
new PictofloraDeterminationVue(), |
new ObservationServiceConcret(), |
new ProtocoleServiceConcret() |
); |
presenteur.go(contenu); |
} else { |
lancerMoteurRechercheImages(contenu); |
} |
} else if (urlCourante.contains(urlAppliObs)) { |
if (eventValue.startsWith(ConstantesNavigation.PAGE_DETAIL_OBS)) { |
IdentiplanteDeterminationPresenteur presenteur = new IdentiplanteDeterminationPresenteur( |
new IdentiplanteDeterminationVue(), |
new ObservationServiceConcret() |
); |
presenteur.go(contenu); |
} else if (eventValue.startsWith(ConstantesNavigation.PAGE_COMPARAISON_EFLORE)) { |
ComparaisonEflorePresenteur presenteur = new ComparaisonEflorePresenteur( |
new ComparaisonEfloreVue(), |
new ImageServiceConcret() |
); |
presenteur.go(contenu); |
} else { |
lancerMoteurRechercheObservation(contenu); |
} |
} else { |
lancerMoteurRechercheObservation(contenu); |
} |
|
// Mise à jour de l'url courante (re-écriture) |
CacheClient.getInstance().mettreAjourUrlCourante(); |
} |
|
/** |
* Générer la page de recherche observation et l'afficher dans panneau |
* @param Panel panneau le panneau pour afficher le résultat |
* */ |
public void lancerMoteurRechercheObservation(Panel panneau) { |
MoteurIdentiplantePresenteur presenteur = new MoteurIdentiplantePresenteur(new ObservationServiceConcret(), new MoteurIdentiplanteVue()); |
presenteur.go(panneau); |
} |
|
/** |
* Générer la page de recherche images et l'afficher dans panneau |
* @param Panel panneau le panneau pour afficher le résultat |
* */ |
public void lancerMoteurRechercheImages(Panel panneau) { |
MoteurPictofloraPresenteur presenteur = new MoteurPictofloraPresenteur(new MoteurPictofloraVue(), new ProtocoleServiceConcret()); |
presenteur.go(panneau); |
} |
} |