Subversion Repositories eFlore/Applications.del

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
335 benjamin 1
package org.tela_botanica.del.client.modeles;
2
 
1560 jpm 3
import org.tela_botanica.del.client.config.Config;
4
 
474 aurelien 5
import com.google.gwt.http.client.URL;
1560 jpm 6
import com.google.gwt.user.client.Window;
474 aurelien 7
 
335 benjamin 8
public class InformationsRecherche {
9
 
10
	private String rechercheLibre;
455 benjamin 11
 
335 benjamin 12
	private String departement;
1367 aurelien 13
 
14
	private String referentiel;
455 benjamin 15
 
335 benjamin 16
	private String taxon;
455 benjamin 17
 
335 benjamin 18
	private String genre;
455 benjamin 19
 
1426 aurelien 20
	// gardé pour ancienne comptabilité
335 benjamin 21
	private String motClef;
1426 aurelien 22
 
23
	// mots clés publics de del
24
	private String motClefDel;
25
 
26
	// mots clés privés du cel
27
	private String motClefCel;
455 benjamin 28
 
335 benjamin 29
	private String date;
455 benjamin 30
 
335 benjamin 31
	private String commune;
455 benjamin 32
 
335 benjamin 33
	private String famille;
455 benjamin 34
 
335 benjamin 35
	private String tag;
455 benjamin 36
 
335 benjamin 37
	private String auteur;
552 benjamin 38
 
510 aurelien 39
	private String idProtocoleSelectionne = null;
335 benjamin 40
 
455 benjamin 41
	private ModeTri triParNbVotes = ModeTri.PAS_DE_TRI;
42
 
802 aurelien 43
	private ModeTri triParDate = ModeTri.PAS_DE_TRI;
1169 aurelien 44
 
45
	private ModeTri triParNbTag = ModeTri.PAS_DE_TRI;
455 benjamin 46
 
335 benjamin 47
	public String getRechercheLibre() {
48
		return rechercheLibre;
49
	}
50
 
51
	public void setRechercheLibre(String rechercheLibre) {
1118 gduche 52
		if (rechercheLibre != null) {
53
			this.rechercheLibre = rechercheLibre;
54
		}
335 benjamin 55
	}
56
 
57
	public String getDepartement() {
58
		return departement;
59
	}
60
 
61
	public void setDepartement(String departement) {
1118 gduche 62
		if (departement != null) {
63
			this.departement = departement;
64
		}
335 benjamin 65
	}
1367 aurelien 66
 
67
	public String getReferentiel() {
68
		return referentiel;
69
	}
335 benjamin 70
 
1367 aurelien 71
	public void setReferentiel(String referentiel) {
72
		this.referentiel = referentiel;
73
	}
74
 
335 benjamin 75
	public String getTaxon() {
76
		return taxon;
77
	}
78
 
79
	public void setTaxon(String taxon) {
1118 gduche 80
		if (taxon != null) {
81
			 this.taxon = taxon;
82
		}
335 benjamin 83
	}
84
 
85
	public String getGenre() {
86
		return genre;
87
	}
88
 
89
	public void setGenre(String genre) {
1118 gduche 90
		if (genre != null) {
91
			this.genre = genre;
92
		}
335 benjamin 93
	}
94
 
95
	public String getMotClef() {
96
		return motClef;
97
	}
98
 
99
	public void setMotClef(String motClef) {
1118 gduche 100
		if (motClef != null) {
101
			this.motClef = motClef;
102
		}
335 benjamin 103
	}
104
 
105
	public String getDate() {
106
		return date;
107
	}
108
 
109
	public void setDate(String date) {
1118 gduche 110
		if (date != null) {
111
			this.date = date;
112
		}
335 benjamin 113
	}
114
 
115
	public String getCommune() {
116
		return commune;
117
	}
118
 
119
	public void setCommune(String commune) {
1118 gduche 120
		if (commune != null) {
121
			String[] tableauCommuneDpt = commune.split(" ");
122
			if (tableauCommuneDpt.length == 2) {
123
				String dpt = tableauCommuneDpt[1].replaceAll("\\(", "").replaceAll("\\)", "");
124
				setDepartement(dpt);
125
				this.commune = tableauCommuneDpt[0];
126
			} else {
127
				this.commune = commune;
128
			}
552 benjamin 129
		}
335 benjamin 130
	}
131
 
132
	public String getFamille() {
133
		return famille;
134
	}
135
 
136
	public void setFamille(String famille) {
1118 gduche 137
		if (famille != null) {
138
			this.famille = famille;
139
		}
335 benjamin 140
	}
141
 
142
	public String getTag() {
143
		return tag;
144
	}
145
 
146
	public void setTag(String tag) {
1118 gduche 147
		if (tag != null) {
148
			this.tag = tag;
149
		}
335 benjamin 150
	}
151
 
152
	public String getAuteur() {
153
		return auteur;
154
	}
155
 
156
	public void setAuteur(String auteur) {
1118 gduche 157
		if (auteur != null) {
158
			this.auteur = auteur;
159
		}
335 benjamin 160
	}
455 benjamin 161
 
162
	public ModeTri getTriParNbVotes() {
163
		return triParNbVotes;
164
	}
165
 
166
	public void setTriParNbVotes(ModeTri triParNbVotes) {
167
		this.triParNbVotes = triParNbVotes;
168
	}
552 benjamin 169
 
510 aurelien 170
	public void setIdProtocoleSelectionne(String idProtocoleSelectionne) {
171
		this.idProtocoleSelectionne = idProtocoleSelectionne;
172
	}
455 benjamin 173
 
510 aurelien 174
	public String getIdProtocoleSelectionne() {
175
		return idProtocoleSelectionne;
176
	}
177
 
455 benjamin 178
	public ModeTri getTriParDate() {
179
		return triParDate;
180
	}
181
 
182
	public void setTriParDate(ModeTri triParDate) {
183
		this.triParDate = triParDate;
184
	}
185
 
1169 aurelien 186
	public void setTriParNbTags(ModeTri triParTag) {
187
		this.triParNbTag = triParTag;
188
	}
1496 aurelien 189
 
190
	public ModeTri getTriParNbTags() {
191
		return this.triParNbTag;
192
	}
1169 aurelien 193
 
474 aurelien 194
	public String versChaineRequete() {
195
		String chaine = "";
1409 aurelien 196
		chaine += estNonNull(rechercheLibre) ? "&masque=" + URL.encodeQueryString(rechercheLibre) : "";
197
		chaine += estNonNull(departement) ? "&masque.departement=" + URL.encodeQueryString(departement) : "";
198
		chaine += estNonNull(referentiel) && !referentiel.equals("tous") ? "&masque.referentiel=" + URL.encodeQueryString(referentiel) : "";
199
		chaine += estNonNull(taxon) ? "&masque.ns=" + URL.encodeQueryString(taxon) : "";
200
		chaine += estNonNull(genre) ? "&masque.genre=" + URL.encodeQueryString(genre) : "";
201
		chaine += estNonNull(motClef) ? "&masque.tag=" + URL.encodeQueryString(motClef) : "";
1426 aurelien 202
		chaine += estNonNull(motClefCel) ? "&masque.tag_cel=" + URL.encodeQueryString(motClefCel) : "";
203
		chaine += estNonNull(motClefDel) ? "&masque.tag_pictoflora=" + URL.encodeQueryString(motClefDel) : "";
1409 aurelien 204
		chaine += estNonNull(date) ? "&masque.date=" + URL.encodeQueryString(date) : "";
205
		chaine += estNonNull(commune) ? "&masque.commune=" + URL.encodeQueryString(commune) : "";
206
		chaine += estNonNull(famille) ? "&masque.famille=" + URL.encodeQueryString(famille) : "";
207
		chaine += estNonNull(auteur) ? "&masque.auteur=" + URL.encodeQueryString(auteur) : "";
774 aurelien 208
 
209
		//TODO: réadapter les web services pour que ceux-ci prennent en compte un tri
1560 jpm 210
		String urlCourante = Window.Location.getHref();
211
		Config config = new Config();
212
		String urlAppliImg = config.getUrl("pictoflora");
213
		if (urlCourante.contains(urlAppliImg)) {
214
			chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&tri=votes" : "";
215
			chaine += triParDate != ModeTri.PAS_DE_TRI ? "&ordre=" + triParDate : "";
216
			chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&ordre=" + triParNbVotes : "";
217
			chaine += triParNbTag != ModeTri.PAS_DE_TRI ? "&tri=tags" : "";
218
			chaine += triParNbTag != ModeTri.PAS_DE_TRI ? "&ordre=" + triParNbTag : "";
219
			chaine += estNonNull(idProtocoleSelectionne) ? "&protocole=" + idProtocoleSelectionne : "";
220
		} else {
221
			chaine += triParDate != ModeTri.PAS_DE_TRI ? "&tri=date_observation" : "";
222
		}
474 aurelien 223
 
224
		return chaine;
225
	}
552 benjamin 226
 
474 aurelien 227
	private boolean estNonNull(String critere) {
228
		return critere != null && !critere.trim().isEmpty();
229
	}
1426 aurelien 230
 
231
	public String getMotClefDel() {
232
		return motClefDel;
233
	}
234
 
235
	public void setMotClefDel(String motClefDel) {
236
		this.motClefDel = motClefDel;
237
	}
238
 
239
	public String getMotClefCel() {
240
		return motClefCel;
241
	}
242
 
243
	public void setMotClefCel(String motClefCel) {
244
		this.motClefCel = motClefCel;
245
	}
335 benjamin 246
}