22,17 → 22,16 |
public abstract class MoteurRecherchePresenteur extends Presenteur { |
|
public abstract interface Vue extends IsWidget { |
|
public abstract void ajouterVue(HasWidgets composite); |
public abstract HasClickHandlers getLienRechercheAvancee(); |
public abstract void basculerAffichageZoneCache(); |
public abstract HasClickHandlers getBoutonRechercheSimple(); |
public abstract HasClickHandlers getBoutonFermer(); |
public abstract HasClickHandlers getBoutonVider(); |
public abstract HasClickHandlers getBoutonRechercheAvancee(); |
public abstract HasKeyPressHandlers getChampSaisie(); |
public abstract HasClickHandlers getChampSaisieCliquable(); |
public abstract String getValeurRechercheSimple(); |
public void ajouterVue(HasWidgets composite); |
public HasClickHandlers getLienRechercheAvancee(); |
public void basculerAffichageZoneCache(); |
public HasClickHandlers getBoutonRechercheSimple(); |
public HasClickHandlers getBoutonFermer(); |
public HasClickHandlers getBoutonVider(); |
public HasClickHandlers getBoutonRechercheAvancee(); |
public HasKeyPressHandlers getChampSaisie(); |
public HasClickHandlers getChampSaisieCliquable(); |
public String getValeurRechercheSimple(); |
public String getLabelRecherche(); |
public String getContientMots(); |
public String getDepartement(); |
57,13 → 56,53 |
public enum TypeMoteur {SIMPLE, AVANCEE}; |
private TypeMoteur typeMoteur = TypeMoteur.SIMPLE; |
|
private AutoCompletionComboBoxPresenteur autoCompletionNomTaxonsPresenteur; |
private AutoCompletionComboBoxPresenteur autoCompletionCommunesPresenteur; |
private AutoCompletionComboBoxPresenteur completionTaxonsPresenteur; |
private AutoCompletionComboBoxPresenteur completionCommunesPresenteur; |
|
public MoteurRecherchePresenteur(Vue vue, ModeRecherche mode) { |
this.vue = vue; |
setMode(mode); |
this.creerCompletionTaxons(); |
this.creerCompletionCommunes(); |
gererEvenements(); |
} |
|
AutoCompletionComboBoxPresenteur completionNomTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), UtilitairesAutoCompletionService.urlServiceCompletionNomLocale) { |
public MoteurRecherchePresenteur(AutoCompletionComboBoxPresenteur presenteurAutoCompletionTaxon, |
AutoCompletionComboBoxPresenteur presenteurAutoCompletionCommunes, |
Vue vue, ModeRecherche mode) { |
this.vue = vue; |
setMode(mode); |
completionTaxonsPresenteur = presenteurAutoCompletionTaxon; |
completionCommunesPresenteur = presenteurAutoCompletionCommunes; |
gererEvenements(); |
} |
|
private Vue getVue() { |
return vue; |
} |
|
public ModeRecherche getMode() { |
return modeRecherche; |
} |
|
private void setMode(ModeRecherche mode) { |
modeRecherche = mode; |
} |
|
public void setTypeMoteur(TypeMoteur typeMoteur) { |
this.typeMoteur = typeMoteur; |
} |
|
public boolean estPourRechercheImages() { |
return (modeRecherche == ModeRecherche.MODE_IMAGE); |
} |
|
public boolean estPourRechercheObservations() { |
return (modeRecherche == ModeRecherche.MODE_OBSERVATION); |
} |
|
private void creerCompletionTaxons() { |
completionTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), UtilitairesAutoCompletionService.urlServiceCompletionNomLocale) { |
protected String effectuerPreTraitementChaineRequete(String requete) { |
return UtilitairesAutoCompletionService.effectuerPreTraitementChaineRequeteGenreEspeceSlash(requete); |
// A décommenter lors de l'utilisation des web services eflore |
78,9 → 117,10 |
// return RetourAutoCompletionService.parserRetourOss(response); |
} |
}; |
} |
|
AutoCompletionComboBoxPresenteur completionCommunesPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), UtilitairesAutoCompletionService.urlServiceCompletionCommunes) { |
|
private void creerCompletionCommunes() { |
completionCommunesPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), UtilitairesAutoCompletionService.urlServiceCompletionCommunes) { |
protected String effectuerPreTraitementChaineRequete(String requete) { |
return requete; |
} |
100,53 → 140,13 |
return UtilitairesAutoCompletionService.parserRetourSimple(response); |
} |
}; |
this.vue = vue; |
setMode(mode); |
|
autoCompletionCommunesPresenteur = completionCommunesPresenteur; |
autoCompletionNomTaxonsPresenteur = completionNomTaxonsPresenteur; |
gererEvenements(); |
} |
|
public MoteurRecherchePresenteur(AutoCompletionComboBoxPresenteur presenteurAutoCompletionTaxon, |
AutoCompletionComboBoxPresenteur presenteurAutoCompletionCommunes, |
Vue vue, ModeRecherche mode) { |
this.vue = vue; |
setMode(mode); |
autoCompletionNomTaxonsPresenteur = presenteurAutoCompletionTaxon; |
autoCompletionCommunesPresenteur = presenteurAutoCompletionCommunes; |
gererEvenements(); |
} |
|
private Vue getVue() { |
return vue; |
} |
|
public ModeRecherche getMode() { |
return modeRecherche; |
} |
|
private void setMode(ModeRecherche mode) { |
modeRecherche = mode; |
} |
|
public void setTypeMoteur(TypeMoteur typeMoteur) { |
this.typeMoteur = typeMoteur; |
} |
|
public boolean estPourRechercheImages() { |
return (modeRecherche == ModeRecherche.MODE_IMAGE); |
} |
|
public boolean estPourRechercheObservations() { |
return (modeRecherche == ModeRecherche.MODE_OBSERVATION); |
} |
|
@Override |
public void go(HasWidgets composite) { |
afficherRequeteEtLancerRecherche(); |
autoCompletionNomTaxonsPresenteur.go(vue.getTaxon()); |
autoCompletionCommunesPresenteur.go(vue.getCommune()); |
completionTaxonsPresenteur.go(vue.getTaxon()); |
completionCommunesPresenteur.go(vue.getCommune()); |
vue.ajouterVue(composite); |
vue.focusSaisie(); |
} |
216,16 → 216,18 |
} |
|
private void nettoyerChamps() { |
autoCompletionCommunesPresenteur.nettoyer(); |
autoCompletionNomTaxonsPresenteur.nettoyer(); |
completionCommunesPresenteur.nettoyer(); |
completionTaxonsPresenteur.nettoyer(); |
vue.nettoyer(); |
} |
|
public void collecterInfosRecherche() { |
InformationsRecherche informationRecherche = new InformationsRecherche(); |
informationRecherche.setTaxon(autoCompletionNomTaxonsPresenteur.getValeur()); |
informationRecherche.setRechercheLibre(this.getRechercheLibre()); |
if (this.typeMoteur == TypeMoteur.AVANCEE) { |
informationRecherche.setTaxon(completionTaxonsPresenteur.getValeur()); |
informationRecherche.setDepartement(vue.getDepartement()); |
informationRecherche.setCommune(autoCompletionCommunesPresenteur.getValeur()); |
informationRecherche.setCommune(completionCommunesPresenteur.getValeur()); |
informationRecherche.setFamille(vue.getFamille()); |
informationRecherche.setGenre(vue.getGenre()); |
informationRecherche.setTag(vue.getTag()); |
232,7 → 234,7 |
informationRecherche.setMotClef(vue.getMotCle()); |
informationRecherche.setAuteur(vue.getAuteur()); |
informationRecherche.setDate(vue.getDate()); |
informationRecherche.setRechercheLibre(this.getRechercheLibre()); |
} |
|
if (estPourRechercheImages()) { |
CacheClient.getInstance().setPageCouranteRechercheImages(1); |
271,7 → 273,7 |
public void afficherRequeteEtLancerRecherche() { |
InformationsRecherche informationsRecherche = getInformationsRechercheEnCache(); |
if (informationsRecherche != null) { |
autoCompletionNomTaxonsPresenteur.setValeur(informationsRecherche.getTaxon()); |
completionTaxonsPresenteur.setValeur(informationsRecherche.getTaxon()); |
vue.chargerValeursRecherchePrecedente(informationsRecherche); |
} |
lancerRecherche(); |