Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 551 → Rev 552

/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/images/ImagePresenteur.java
12,6 → 12,7
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.ImageServiceResultat;
import org.tela_botanica.del.client.modeles.ModeRecherche;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.VoteProtocole;
70,7 → 71,7
public void go(HasWidgets composite) {
composite.add(vue.asWidget());
vue.loadImage(image);
new MetadonneesPresenteur(new MetadonneesVue(), image.getObservation()).go(vue.getMetadonnees());
new MetadonneesPresenteur(new MetadonneesVue(), image.getObservation(), ModeRecherche.MODE_IMAGE).go(vue.getMetadonnees());
loadValidationData();
gererEvenements();
}
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationPresenteur.java
8,6 → 8,7
import org.tela_botanica.del.client.composants.observations.ObservationImagesPresenteur;
import org.tela_botanica.del.client.composants.observations.ObservationImagesVue;
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.modeles.ModeRecherche;
import org.tela_botanica.del.client.modeles.MoyenneVote;
import org.tela_botanica.del.client.modeles.VoteDetermination;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
62,7 → 63,7
public void go(HasWidgets composite) {
 
if (CacheClient.getInstance().getImageCourante() != null) {
new MetadonneesPresenteur(new MetadonneesVue(), CacheClient.getInstance().getObservationCourante()).go(vue.getMetadonnees());
new MetadonneesPresenteur(new MetadonneesVue(), CacheClient.getInstance().getObservationCourante(), ModeRecherche.MODE_OBSERVATION).go(vue.getMetadonnees());
new ObservationImagesPresenteur(new ObservationImagesVue(), CacheClient.getInstance().getObservationCourante()).go(vue.getDetailImageObservation());
new EnsembleVotesPresenteur(new EnsembleVotesVue()).go(vue.getVote());
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheobservations/resultats/observations/ObservationPresenteur.java
9,6 → 9,7
import org.tela_botanica.del.client.composants.observations.ObservationImagesVue;
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.ModeRecherche;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.validationobservation.EvenementValidation;
47,7 → 48,7
public void chargerObservation() {
 
new ObservationImagesPresenteur(new ObservationImagesVue(), observation).go(vue.getImagesPanel());
new MetadonneesPresenteur(new MetadonneesVue(), observation).go(vue.getMetadonneesPanel());
new MetadonneesPresenteur(new MetadonneesVue(), observation, ModeRecherche.MODE_OBSERVATION).go(vue.getMetadonneesPanel());
new ObservationDeterminationPresenteur(new ObservationDeterminationVue(), observation.getPropositionsDetermination()).go(vue.getDeterminationsPanel());
 
gererEvenements();
/trunk/src/org/tela_botanica/del/client/composants/metadonnees/MetadonneesVue.ui.xml
10,43 → 10,43
<!-- Nom retenu -->
<g:HTMLPanel ui:field="zoneNomRetenu">
<g:Label styleName="petit gris {style.labelNomRetenu}" text="{constants.nomRetenu}"/>
<g:Label ui:field="nomRetenu" styleName="{style.nomRetenu}" />
<g:Hyperlink ui:field="nomRetenu" styleName="{style.nomRetenu}" />
</g:HTMLPanel>
<!-- Nom commun -->
<g:HTMLPanel ui:field="zoneNomCommun">
<g:Label styleName="petit gris" text="{constants.nomCommun}"/>
<g:Label ui:field="nomCommun" />
<g:Hyperlink ui:field="nomCommun" />
</g:HTMLPanel>
<!-- Famille -->
<g:HTMLPanel ui:field="zoneFamille" styleName="{style.zoneFamille}">
<g:Label styleName="petit gris" text="{constants.famille}"/>
<g:Label ui:field="famille" />
<g:Hyperlink ui:field="famille" />
</g:HTMLPanel>
<!-- Lieu -->
<g:HTMLPanel ui:field="zoneLocalite" styleName="{style.zoneLocalite}">
<g:Label styleName="petit gris" text="{constants.localite}"/>
<g:Label ui:field="localite" />
<g:Hyperlink ui:field="localite" />
</g:HTMLPanel>
<!-- Lieu-dit -->
<g:HTMLPanel ui:field="zoneLieuDit" styleName="{style.zoneLieuDit}">
<g:Label styleName="petit gris" text="{constants.lieuDit}"/>
<g:Label ui:field="lieuDit" />
<g:Hyperlink ui:field="lieuDit" />
</g:HTMLPanel>
<!-- Milieu -->
<g:HTMLPanel ui:field="zoneMilieu" styleName="{style.zoneMilieu}">
<g:Label styleName="petit gris" text="{constants.milieu}"/>
<g:Label ui:field="milieu" />
<g:Hyperlink ui:field="milieu" />
</g:HTMLPanel>
<!-- Commentaire -->
<g:HTMLPanel ui:field="zoneCommentaire" styleName="{style.zoneCommentaire}">
<g:Label styleName="petit gris" text="{constants.commentaire}"/>
<g:Label ui:field="commentaire" />
<g:Hyperlink ui:field="commentaire" />
</g:HTMLPanel>
<!-- Date du relevé -->
58,7 → 58,7
<!-- Publié par -->
<g:HTMLPanel ui:field="zoneAuteur" styleName="{style.zoneAuteur}">
<g:Label styleName="petit gris" text="{constants.auteur}"/>
<g:Label ui:field="auteur" />
<g:Hyperlink ui:field="auteur" />
</g:HTMLPanel>
<!-- Date de transmission -->
70,9 → 70,9
<!-- Mots-clés/Tag -->
<g:HTMLPanel ui:field="zoneMotsClefs">
<g:Label styleName="petit gris" text="{constants.motsClefs}"/>
<g:Label ui:field="motsClefs" />
<g:Hyperlink ui:field="motsClefs" />
</g:HTMLPanel>
<g:Label ui:field="numNomenclatural" />
<g:Hyperlink ui:field="numNomenclatural" />
</g:HTMLPanel>
</ui:UiBinder>
/trunk/src/org/tela_botanica/del/client/composants/metadonnees/MetadonneesPresenteur.java
1,8 → 1,17
package org.tela_botanica.del.client.composants.metadonnees;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.modeles.InformationsRecherche;
import org.tela_botanica.del.client.modeles.ModeRecherche;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.detailsimage.EvenementRechercheImage;
import org.tela_botanica.del.client.navigation.evenement.rechercheobservation.EvenementRechercheObservation;
 
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
12,6 → 21,8
public abstract interface Vue extends IsWidget {
public HasText getNomRetenu();
 
public HasClickHandlers getLienNomRetenu();
 
public HasText getNomCommun();
 
public HasText getFamille();
33,13 → 44,37
public HasText getNumNomenclatural();
 
public HasText getDateReleve();
 
public HasClickHandlers getLienFamille();
 
public HasClickHandlers getLienAuteur();
 
public HasClickHandlers getLienDateTransmission();
 
public HasClickHandlers getLienDateReleve();
 
public HasClickHandlers getLienLocalite();
 
public HasClickHandlers getLienMotsClefs();
 
public HasClickHandlers getLienNumNomenclatural();
 
public HasClickHandlers getLienNomCommun();
 
public HasClickHandlers getLienLieuDit();
 
public HasClickHandlers getLienMilieu();
 
public HasClickHandlers getLienCommentaire();
}
 
private Vue vue;
private Observation observation;
private ModeRecherche modeRecherche;
 
public MetadonneesPresenteur(Vue vue, Observation observation) {
public MetadonneesPresenteur(Vue vue, Observation observation, ModeRecherche modeRecherche) {
this.vue = vue;
this.modeRecherche = modeRecherche;
setObservation(observation);
}
 
64,11 → 99,138
public void go(HasWidgets composite) {
composite.add(vue.asWidget());
chargerMetaDonnees();
gererEvenements();
}
 
@Override
protected void gererEvenements() {
// TODO Auto-generated method stub
 
vue.getLienAuteur().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent arg0) {
InformationsRecherche informationsRecherche = new InformationsRecherche();
informationsRecherche.setAuteur(vue.getAuteur().getText());
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
}
});
 
vue.getLienDateReleve().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent arg0) {
InformationsRecherche informationsRecherche = new InformationsRecherche();
informationsRecherche.setDate(vue.getDateReleve().getText());
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
}
});
 
vue.getLienDateTransmission().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent arg0) {
InformationsRecherche informationsRecherche = new InformationsRecherche();
informationsRecherche.setDate(vue.getDateReleve().getText());
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
}
});
 
vue.getLienFamille().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent arg0) {
InformationsRecherche informationsRecherche = new InformationsRecherche();
informationsRecherche.setFamille(vue.getFamille().getText());
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
}
});
 
vue.getLienLieuDit().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent arg0) {
InformationsRecherche informationsRecherche = new InformationsRecherche();
informationsRecherche.setCommune(vue.getLieuDit().getText());
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
}
});
 
vue.getLienLocalite().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent arg0) {
InformationsRecherche informationsRecherche = new InformationsRecherche();
informationsRecherche.setCommune(vue.getLocalite().getText());
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
}
});
 
vue.getLienMotsClefs().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent arg0) {
InformationsRecherche informationsRecherche = new InformationsRecherche();
informationsRecherche.setMotClef(vue.getMotsClefs().getText());
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
}
});
 
vue.getLienNomCommun().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent arg0) {
InformationsRecherche informationsRecherche = new InformationsRecherche();
informationsRecherche.setRechercheLibre(vue.getNomCommun().getText());
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
}
});
 
vue.getLienNomRetenu().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent arg0) {
InformationsRecherche informationsRecherche = new InformationsRecherche();
informationsRecherche.setRechercheLibre(vue.getNomRetenu().getText());
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
}
});
 
vue.getLienMilieu().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent arg0) {
InformationsRecherche informationsRecherche = new InformationsRecherche();
informationsRecherche.setRechercheLibre(vue.getMilieu().getText());
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
}
});
 
vue.getLienCommentaire().addClickHandler(new ClickHandler() {
 
@Override
public void onClick(ClickEvent arg0) {
InformationsRecherche informationsRecherche = new InformationsRecherche();
informationsRecherche.setRechercheLibre(vue.getCommentaire().getText());
setInfosRechercheEnCacheEtLancerEvenement(informationsRecherche);
}
});
 
}
 
public void setInfosRechercheEnCacheEtLancerEvenement(InformationsRecherche informationsRecherche) {
switch (modeRecherche) {
case MODE_IMAGE:
CacheClient.getInstance().setInformationsRechercheImage(informationsRecherche);
BusEvenementiel.getInstance().fireEvent(new EvenementRechercheImage());
break;
 
case MODE_OBSERVATION:
CacheClient.getInstance().setInformationsRechercheObservation(informationsRecherche);
BusEvenementiel.getInstance().fireEvent(new EvenementRechercheObservation());
 
default:
break;
}
 
}
}
/trunk/src/org/tela_botanica/del/client/composants/metadonnees/MetadonneesVue.java
1,10 → 1,12
package org.tela_botanica.del.client.composants.metadonnees;
 
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.Hyperlink;
import com.google.gwt.user.client.ui.InlineLabel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
13,44 → 15,46
// Gestion d'UiBinder
interface Binder extends UiBinder<Widget, MetadonneesVue> {
}
 
private static Binder binder = GWT.create(Binder.class);
@UiField Label nomRetenu, famille, auteur, localite, motsClefs, numNomenclatural, nomCommun, lieuDit, commentaire, milieu;
@UiField InlineLabel dateReleve, dateTransmission;
 
@UiField
Hyperlink nomRetenu, famille, auteur, localite, motsClefs, numNomenclatural, nomCommun, lieuDit, commentaire, milieu;
@UiField
InlineLabel dateReleve, dateTransmission;
 
public MetadonneesVue() {
initWidget(binder.createAndBindUi(this));
}
 
public HasText getNomRetenu() {
return this.nomRetenu;
}
 
public HasText getFamille() {
return this.famille;
}
 
public HasText getAuteur() {
return this.auteur;
}
 
public HasText getDateTransmission() {
return this.dateTransmission;
}
 
public HasText getDateReleve() {
return this.dateReleve;
}
 
public HasText getLocalite() {
return this.localite;
}
 
public HasText getMotsClefs() {
return this.motsClefs;
}
 
public HasText getNumNomenclatural() {
return this.numNomenclatural;
}
70,5 → 74,54
public HasText getCommentaire() {
return commentaire;
}
 
@Override
public HasClickHandlers getLienNomRetenu() {
return nomRetenu;
}
public HasClickHandlers getLienFamille() {
return this.famille;
}
 
public HasClickHandlers getLienAuteur() {
return this.auteur;
}
 
public HasClickHandlers getLienDateTransmission() {
return this.dateTransmission;
}
 
public HasClickHandlers getLienDateReleve() {
return this.dateReleve;
}
 
public HasClickHandlers getLienLocalite() {
return this.localite;
}
 
public HasClickHandlers getLienMotsClefs() {
return this.motsClefs;
}
 
public HasClickHandlers getLienNumNomenclatural() {
return this.numNomenclatural;
}
 
public HasClickHandlers getLienNomCommun() {
return nomCommun;
}
 
public HasClickHandlers getLienLieuDit() {
return lieuDit;
}
 
public HasClickHandlers getLienMilieu() {
return milieu;
}
 
public HasClickHandlers getLienCommentaire() {
return commentaire;
}
 
}
/trunk/src/org/tela_botanica/del/client/composants/moteurrecherche/MoteurRecherchePresenteur.java
127,12 → 127,9
@Override
protected void surSelectionSuggestion(String suggestion) {
String[] tableauCommuneDpt = suggestion.split(" ");
if(tableauCommuneDpt.length == 2) {
String dpt = tableauCommuneDpt[1].replaceAll("\\(", "").replaceAll("\\)", "");
getVue().setValeurDepartement(dpt);
setValeur(tableauCommuneDpt[0]);
}
collecterInfosRecherche();
setValeur(getInformationsRechercheEnCache().getCommune());
vue.setValeurDepartement(getInformationsRechercheEnCache().getDepartement());
}
 
@Override
274,6 → 271,7
InformationsRecherche informationsRecherche = getInformationsRechercheEnCache();
if (informationsRecherche != null) {
completionTaxonsPresenteur.setValeur(informationsRecherche.getTaxon());
completionCommunesPresenteur.setValeur(informationsRecherche.getCommune());
vue.chargerValeursRecherchePrecedente(informationsRecherche);
}
lancerRecherche();
/trunk/src/org/tela_botanica/del/client/modeles/InformationsRecherche.java
23,7 → 23,7
private String tag;
 
private String auteur;
 
private String idProtocoleSelectionne = null;
 
private ModeTri triParNbVotes = ModeTri.PAS_DE_TRI;
83,7 → 83,15
}
 
public void setCommune(String commune) {
this.commune = commune;
String[] tableauCommuneDpt = commune.split(" ");
if (tableauCommuneDpt.length == 2) {
String dpt = tableauCommuneDpt[1].replaceAll("\\(", "").replaceAll("\\)", "");
setDepartement(dpt);
this.commune = tableauCommuneDpt[0];
} else {
this.commune = commune;
}
 
}
 
public String getFamille() {
117,7 → 125,7
public void setTriParNbVotes(ModeTri triParNbVotes) {
this.triParNbVotes = triParNbVotes;
}
 
public void setIdProtocoleSelectionne(String idProtocoleSelectionne) {
this.idProtocoleSelectionne = idProtocoleSelectionne;
}
136,25 → 144,25
 
public String versChaineRequete() {
String chaine = "";
chaine += estNonNull(rechercheLibre) ? "&recherche="+URL.encode(rechercheLibre) : "" ;
chaine += estNonNull(departement) ? "&dpt="+URL.encode(departement) : "" ;
chaine += estNonNull(taxon) ? "&taxon="+URL.encode(taxon) : "" ;
chaine += estNonNull(genre) ? "&genre="+URL.encode(genre) : "" ;
chaine += estNonNull(motClef) ? "&mot_cle="+URL.encode(motClef) : "" ;
chaine += estNonNull(date) ? "&date="+URL.encode(date) : "" ;
chaine += estNonNull(commune) ? "&commune="+URL.encode(commune) : "" ;
chaine += estNonNull(famille) ? "&famille="+URL.encode(famille) : "" ;
chaine += estNonNull(tag) ? "&tag="+URL.encode(tag) : "" ;
chaine += estNonNull(auteur) ? "&auteur="+URL.encode(auteur) : "" ;
chaine += triParDate != ModeTri.PAS_DE_TRI ? "&tri=date_observation" : "" ;
chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&tri=nb_votes" : "" ;
chaine += triParDate != ModeTri.PAS_DE_TRI ? "&ordre="+triParDate : "" ;
chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&ordre="+triParNbVotes : "" ;
chaine += estNonNull(idProtocoleSelectionne) ? "&id_protocole="+idProtocoleSelectionne : "" ;
chaine += estNonNull(rechercheLibre) ? "&recherche=" + URL.encode(rechercheLibre) : "";
chaine += estNonNull(departement) ? "&dpt=" + URL.encode(departement) : "";
chaine += estNonNull(taxon) ? "&taxon=" + URL.encode(taxon) : "";
chaine += estNonNull(genre) ? "&genre=" + URL.encode(genre) : "";
chaine += estNonNull(motClef) ? "&mot_cle=" + URL.encode(motClef) : "";
chaine += estNonNull(date) ? "&date=" + URL.encode(date) : "";
chaine += estNonNull(commune) ? "&commune=" + URL.encode(commune) : "";
chaine += estNonNull(famille) ? "&famille=" + URL.encode(famille) : "";
chaine += estNonNull(tag) ? "&tag=" + URL.encode(tag) : "";
chaine += estNonNull(auteur) ? "&auteur=" + URL.encode(auteur) : "";
chaine += triParDate != ModeTri.PAS_DE_TRI ? "&tri=date_observation" : "";
chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&tri=nb_votes" : "";
chaine += triParDate != ModeTri.PAS_DE_TRI ? "&ordre=" + triParDate : "";
chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&ordre=" + triParNbVotes : "";
chaine += estNonNull(idProtocoleSelectionne) ? "&id_protocole=" + idProtocoleSelectionne : "";
 
return chaine;
}
 
private boolean estNonNull(String critere) {
return critere != null && !critere.trim().isEmpty();
}