Rev 1560 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.modeles;
import org.tela_botanica.del.client.config.Config;
import com.google.gwt.http.client.URL;
import com.google.gwt.user.client.Window;
public class InformationsRecherche {
private String rechercheLibre;
private String departement;
private String referentiel;
private String taxon;
private String genre;
// gardé pour ancienne comptabilité
private String motClef;
// mots clés publics de del
private String motClefDel;
// mots clés privés du cel
private String motClefCel;
private String date;
private String commune;
private String famille;
private String tag;
private String auteur;
private String idProtocoleSelectionne = null;
private ModeTri triParNbVotes = ModeTri.PAS_DE_TRI;
private ModeTri triParDate = ModeTri.PAS_DE_TRI;
private ModeTri triParNbTag = ModeTri.PAS_DE_TRI;
private ModeTri triParNbPoints = ModeTri.PAS_DE_TRI;
public String getRechercheLibre() {
return rechercheLibre;
}
public void setRechercheLibre(String rechercheLibre) {
if (rechercheLibre != null) {
this.rechercheLibre = rechercheLibre;
}
}
public String getDepartement() {
return departement;
}
public void setDepartement(String departement) {
if (departement != null) {
this.departement = departement;
}
}
public String getReferentiel() {
return referentiel;
}
public void setReferentiel(String referentiel) {
this.referentiel = referentiel;
}
public String getTaxon() {
return taxon;
}
public void setTaxon(String taxon) {
if (taxon != null) {
this.taxon = taxon;
}
}
public String getGenre() {
return genre;
}
public void setGenre(String genre) {
if (genre != null) {
this.genre = genre;
}
}
public String getMotClef() {
return motClef;
}
public void setMotClef(String motClef) {
if (motClef != null) {
this.motClef = motClef;
}
}
public String getDate() {
return date;
}
public void setDate(String date) {
if (date != null) {
this.date = date;
}
}
public String getCommune() {
return commune;
}
public void setCommune(String commune) {
if (commune != null) {
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() {
return famille;
}
public void setFamille(String famille) {
if (famille != null) {
this.famille = famille;
}
}
public String getTag() {
return tag;
}
public void setTag(String tag) {
if (tag != null) {
this.tag = tag;
}
}
public String getAuteur() {
return auteur;
}
public void setAuteur(String auteur) {
if (auteur != null) {
this.auteur = auteur;
}
}
public ModeTri getTriParNbVotes() {
return triParNbVotes;
}
public void setTriParNbVotes(ModeTri triParNbVotes) {
this.triParNbVotes = triParNbVotes;
}
public void setIdProtocoleSelectionne(String idProtocoleSelectionne) {
this.idProtocoleSelectionne = idProtocoleSelectionne;
}
public String getIdProtocoleSelectionne() {
return idProtocoleSelectionne;
}
public ModeTri getTriParDate() {
return triParDate;
}
public void setTriParDate(ModeTri triParDate) {
this.triParDate = triParDate;
}
public void setTriParNbTags(ModeTri triParTag) {
this.triParNbTag = triParTag;
}
public ModeTri getTriParNbPoints() {
return this.triParNbPoints;
}
public void setTriParNbPoints(ModeTri triParPoints) {
this.triParNbPoints = triParPoints;
}
public ModeTri getTriParNbTags() {
return this.triParNbTag;
}
public String versChaineRequete() {
String chaine = "";
chaine += estNonNull(rechercheLibre) ? "&masque=" + URL.encodeQueryString(rechercheLibre) : "";
chaine += estNonNull(departement) ? "&masque.departement=" + URL.encodeQueryString(departement) : "";
chaine += estNonNull(referentiel) && !referentiel.equals("tous") ? "&masque.referentiel=" + URL.encodeQueryString(referentiel) : "";
chaine += estNonNull(taxon) ? "&masque.ns=" + URL.encodeQueryString(taxon) : "";
chaine += estNonNull(genre) ? "&masque.genre=" + URL.encodeQueryString(genre) : "";
chaine += estNonNull(motClef) ? "&masque.tag=" + URL.encodeQueryString(motClef) : "";
chaine += estNonNull(motClefCel) ? "&masque.tag_cel=" + URL.encodeQueryString(motClefCel) : "";
chaine += estNonNull(motClefDel) ? "&masque.tag_pictoflora=" + URL.encodeQueryString(motClefDel) : "";
chaine += estNonNull(date) ? "&masque.date=" + URL.encodeQueryString(date) : "";
chaine += estNonNull(commune) ? "&masque.commune=" + URL.encodeQueryString(commune) : "";
chaine += estNonNull(famille) ? "&masque.famille=" + URL.encodeQueryString(famille) : "";
chaine += estNonNull(auteur) ? "&masque.auteur=" + URL.encodeQueryString(auteur) : "";
//TODO: réadapter les web services pour que ceux-ci prennent en compte un tri
String urlCourante = Window.Location.getHref();
Config config = new Config();
String urlAppliImg = config.getUrl("pictoflora");
if (urlCourante.contains(urlAppliImg)) {
chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&tri=votes" : "";
chaine += triParDate != ModeTri.PAS_DE_TRI ? "&ordre=" + triParDate : "";
chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&ordre=" + triParNbVotes : "";
chaine += triParNbTag != ModeTri.PAS_DE_TRI ? "&tri=tags" : "";
chaine += triParNbTag != ModeTri.PAS_DE_TRI ? "&ordre=" + triParNbTag : "";
chaine += triParNbPoints != ModeTri.PAS_DE_TRI ? "&tri=points" : "";
chaine += triParNbPoints != ModeTri.PAS_DE_TRI ? "&ordre=" + triParNbPoints : "";
chaine += estNonNull(idProtocoleSelectionne) ? "&protocole=" + idProtocoleSelectionne : "";
} else {
chaine += triParDate != ModeTri.PAS_DE_TRI ? "&tri=date_observation" : "";
}
return chaine;
}
private boolean estNonNull(String critere) {
return critere != null && !critere.trim().isEmpty();
}
public String getMotClefDel() {
return motClefDel;
}
public void setMotClefDel(String motClefDel) {
this.motClefDel = motClefDel;
}
public String getMotClefCel() {
return motClefCel;
}
public void setMotClefCel(String motClefCel) {
this.motClefCel = motClefCel;
}
}