Subversion Repositories eFlore/Applications.del

Rev

Rev 774 | Rev 928 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
335 benjamin 1
package org.tela_botanica.del.client.modeles;
2
 
474 aurelien 3
import com.google.gwt.http.client.URL;
4
 
335 benjamin 5
public class InformationsRecherche {
6
 
7
	private String rechercheLibre;
455 benjamin 8
 
335 benjamin 9
	private String departement;
455 benjamin 10
 
335 benjamin 11
	private String taxon;
455 benjamin 12
 
335 benjamin 13
	private String genre;
455 benjamin 14
 
335 benjamin 15
	private String motClef;
455 benjamin 16
 
335 benjamin 17
	private String date;
455 benjamin 18
 
335 benjamin 19
	private String commune;
455 benjamin 20
 
335 benjamin 21
	private String famille;
455 benjamin 22
 
335 benjamin 23
	private String tag;
455 benjamin 24
 
335 benjamin 25
	private String auteur;
552 benjamin 26
 
510 aurelien 27
	private String idProtocoleSelectionne = null;
335 benjamin 28
 
455 benjamin 29
	private ModeTri triParNbVotes = ModeTri.PAS_DE_TRI;
30
 
802 aurelien 31
	private ModeTri triParDate = ModeTri.PAS_DE_TRI;
455 benjamin 32
 
335 benjamin 33
	public String getRechercheLibre() {
34
		return rechercheLibre;
35
	}
36
 
37
	public void setRechercheLibre(String rechercheLibre) {
38
		this.rechercheLibre = rechercheLibre;
39
	}
40
 
41
	public String getDepartement() {
42
		return departement;
43
	}
44
 
45
	public void setDepartement(String departement) {
46
		this.departement = departement;
47
	}
48
 
49
	public String getTaxon() {
50
		return taxon;
51
	}
52
 
53
	public void setTaxon(String taxon) {
54
		this.taxon = taxon;
55
	}
56
 
57
	public String getGenre() {
58
		return genre;
59
	}
60
 
61
	public void setGenre(String genre) {
62
		this.genre = genre;
63
	}
64
 
65
	public String getMotClef() {
66
		return motClef;
67
	}
68
 
69
	public void setMotClef(String motClef) {
70
		this.motClef = motClef;
71
	}
72
 
73
	public String getDate() {
74
		return date;
75
	}
76
 
77
	public void setDate(String date) {
78
		this.date = date;
79
	}
80
 
81
	public String getCommune() {
82
		return commune;
83
	}
84
 
85
	public void setCommune(String commune) {
552 benjamin 86
		String[] tableauCommuneDpt = commune.split(" ");
87
		if (tableauCommuneDpt.length == 2) {
88
			String dpt = tableauCommuneDpt[1].replaceAll("\\(", "").replaceAll("\\)", "");
89
			setDepartement(dpt);
90
			this.commune = tableauCommuneDpt[0];
91
		} else {
92
			this.commune = commune;
93
		}
94
 
335 benjamin 95
	}
96
 
97
	public String getFamille() {
98
		return famille;
99
	}
100
 
101
	public void setFamille(String famille) {
102
		this.famille = famille;
103
	}
104
 
105
	public String getTag() {
106
		return tag;
107
	}
108
 
109
	public void setTag(String tag) {
110
		this.tag = tag;
111
	}
112
 
113
	public String getAuteur() {
114
		return auteur;
115
	}
116
 
117
	public void setAuteur(String auteur) {
118
		this.auteur = auteur;
119
	}
455 benjamin 120
 
121
	public ModeTri getTriParNbVotes() {
122
		return triParNbVotes;
123
	}
124
 
125
	public void setTriParNbVotes(ModeTri triParNbVotes) {
126
		this.triParNbVotes = triParNbVotes;
127
	}
552 benjamin 128
 
510 aurelien 129
	public void setIdProtocoleSelectionne(String idProtocoleSelectionne) {
130
		this.idProtocoleSelectionne = idProtocoleSelectionne;
131
	}
455 benjamin 132
 
510 aurelien 133
	public String getIdProtocoleSelectionne() {
134
		return idProtocoleSelectionne;
135
	}
136
 
455 benjamin 137
	public ModeTri getTriParDate() {
138
		return triParDate;
139
	}
140
 
141
	public void setTriParDate(ModeTri triParDate) {
142
		this.triParDate = triParDate;
143
	}
144
 
474 aurelien 145
	public String versChaineRequete() {
146
		String chaine = "";
774 aurelien 147
		chaine += estNonNull(rechercheLibre) ? "&masque=" + URL.encode(rechercheLibre) : "";
148
		chaine += estNonNull(departement) ? "&masque.departement=" + URL.encode(departement) : "";
149
		chaine += estNonNull(taxon) ? "&masque.ns=" + URL.encode(taxon) : "";
150
		chaine += estNonNull(genre) ? "&masque.genre=" + URL.encode(genre) : "";
151
		chaine += estNonNull(motClef) ? "&masque.tag=" + URL.encode(motClef) : "";
152
		chaine += estNonNull(date) ? "&masque.date=" + URL.encode(date) : "";
153
		chaine += estNonNull(commune) ? "&masque.commune=" + URL.encode(commune) : "";
154
		chaine += estNonNull(famille) ? "&masque.famille=" + URL.encode(famille) : "";
155
		chaine += estNonNull(auteur) ? "&masque.auteur=" + URL.encode(auteur) : "";
156
 
157
		//TODO: réadapter les web services pour que ceux-ci prennent en compte un tri
802 aurelien 158
		chaine += triParDate != ModeTri.PAS_DE_TRI ? "&tri=date_observation" : "";
552 benjamin 159
		chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&tri=nb_votes" : "";
160
		chaine += triParDate != ModeTri.PAS_DE_TRI ? "&ordre=" + triParDate : "";
161
		chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&ordre=" + triParNbVotes : "";
802 aurelien 162
		chaine += estNonNull(idProtocoleSelectionne) ? "&id_protocole=" + idProtocoleSelectionne : "";
474 aurelien 163
 
164
		return chaine;
165
	}
552 benjamin 166
 
474 aurelien 167
	private boolean estNonNull(String critere) {
168
		return critere != null && !critere.trim().isEmpty();
169
	}
335 benjamin 170
}