Subversion Repositories eFlore/Applications.del

Rev

Rev 1169 | Rev 1409 | 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;
1367 aurelien 10
 
11
	private String referentiel;
455 benjamin 12
 
335 benjamin 13
	private String taxon;
455 benjamin 14
 
335 benjamin 15
	private String genre;
455 benjamin 16
 
335 benjamin 17
	private String motClef;
455 benjamin 18
 
335 benjamin 19
	private String date;
455 benjamin 20
 
335 benjamin 21
	private String commune;
455 benjamin 22
 
335 benjamin 23
	private String famille;
455 benjamin 24
 
335 benjamin 25
	private String tag;
455 benjamin 26
 
335 benjamin 27
	private String auteur;
552 benjamin 28
 
510 aurelien 29
	private String idProtocoleSelectionne = null;
335 benjamin 30
 
455 benjamin 31
	private ModeTri triParNbVotes = ModeTri.PAS_DE_TRI;
32
 
802 aurelien 33
	private ModeTri triParDate = ModeTri.PAS_DE_TRI;
1169 aurelien 34
 
35
	private ModeTri triParNbTag = ModeTri.PAS_DE_TRI;
455 benjamin 36
 
335 benjamin 37
	public String getRechercheLibre() {
38
		return rechercheLibre;
39
	}
40
 
41
	public void setRechercheLibre(String rechercheLibre) {
1118 gduche 42
		if (rechercheLibre != null) {
43
			this.rechercheLibre = rechercheLibre;
44
		}
335 benjamin 45
	}
46
 
47
	public String getDepartement() {
48
		return departement;
49
	}
50
 
51
	public void setDepartement(String departement) {
1118 gduche 52
		if (departement != null) {
53
			this.departement = departement;
54
		}
335 benjamin 55
	}
1367 aurelien 56
 
57
	public String getReferentiel() {
58
		return referentiel;
59
	}
335 benjamin 60
 
1367 aurelien 61
	public void setReferentiel(String referentiel) {
62
		this.referentiel = referentiel;
63
	}
64
 
335 benjamin 65
	public String getTaxon() {
66
		return taxon;
67
	}
68
 
69
	public void setTaxon(String taxon) {
1118 gduche 70
		if (taxon != null) {
71
			 this.taxon = taxon;
72
		}
335 benjamin 73
	}
74
 
75
	public String getGenre() {
76
		return genre;
77
	}
78
 
79
	public void setGenre(String genre) {
1118 gduche 80
		if (genre != null) {
81
			this.genre = genre;
82
		}
335 benjamin 83
	}
84
 
85
	public String getMotClef() {
86
		return motClef;
87
	}
88
 
89
	public void setMotClef(String motClef) {
1118 gduche 90
		if (motClef != null) {
91
			this.motClef = motClef;
92
		}
335 benjamin 93
	}
94
 
95
	public String getDate() {
96
		return date;
97
	}
98
 
99
	public void setDate(String date) {
1118 gduche 100
		if (date != null) {
101
			this.date = date;
102
		}
335 benjamin 103
	}
104
 
105
	public String getCommune() {
106
		return commune;
107
	}
108
 
109
	public void setCommune(String commune) {
1118 gduche 110
		if (commune != null) {
111
			String[] tableauCommuneDpt = commune.split(" ");
112
			if (tableauCommuneDpt.length == 2) {
113
				String dpt = tableauCommuneDpt[1].replaceAll("\\(", "").replaceAll("\\)", "");
114
				setDepartement(dpt);
115
				this.commune = tableauCommuneDpt[0];
116
			} else {
117
				this.commune = commune;
118
			}
552 benjamin 119
		}
335 benjamin 120
	}
121
 
122
	public String getFamille() {
123
		return famille;
124
	}
125
 
126
	public void setFamille(String famille) {
1118 gduche 127
		if (famille != null) {
128
			this.famille = famille;
129
		}
335 benjamin 130
	}
131
 
132
	public String getTag() {
133
		return tag;
134
	}
135
 
136
	public void setTag(String tag) {
1118 gduche 137
		if (tag != null) {
138
			this.tag = tag;
139
		}
335 benjamin 140
	}
141
 
142
	public String getAuteur() {
143
		return auteur;
144
	}
145
 
146
	public void setAuteur(String auteur) {
1118 gduche 147
		if (auteur != null) {
148
			this.auteur = auteur;
149
		}
335 benjamin 150
	}
455 benjamin 151
 
152
	public ModeTri getTriParNbVotes() {
153
		return triParNbVotes;
154
	}
155
 
156
	public void setTriParNbVotes(ModeTri triParNbVotes) {
157
		this.triParNbVotes = triParNbVotes;
158
	}
552 benjamin 159
 
510 aurelien 160
	public void setIdProtocoleSelectionne(String idProtocoleSelectionne) {
161
		this.idProtocoleSelectionne = idProtocoleSelectionne;
162
	}
455 benjamin 163
 
510 aurelien 164
	public String getIdProtocoleSelectionne() {
165
		return idProtocoleSelectionne;
166
	}
167
 
455 benjamin 168
	public ModeTri getTriParDate() {
169
		return triParDate;
170
	}
171
 
172
	public void setTriParDate(ModeTri triParDate) {
173
		this.triParDate = triParDate;
174
	}
1169 aurelien 175
 
455 benjamin 176
 
1169 aurelien 177
	public void setTriParNbTags(ModeTri triParTag) {
178
		this.triParNbTag = triParTag;
179
	}
180
 
474 aurelien 181
	public String versChaineRequete() {
182
		String chaine = "";
774 aurelien 183
		chaine += estNonNull(rechercheLibre) ? "&masque=" + URL.encode(rechercheLibre) : "";
184
		chaine += estNonNull(departement) ? "&masque.departement=" + URL.encode(departement) : "";
1367 aurelien 185
		chaine += estNonNull(referentiel) ? "&masque.referentiel=" + URL.encode(referentiel) : "";
774 aurelien 186
		chaine += estNonNull(taxon) ? "&masque.ns=" + URL.encode(taxon) : "";
187
		chaine += estNonNull(genre) ? "&masque.genre=" + URL.encode(genre) : "";
188
		chaine += estNonNull(motClef) ? "&masque.tag=" + URL.encode(motClef) : "";
189
		chaine += estNonNull(date) ? "&masque.date=" + URL.encode(date) : "";
190
		chaine += estNonNull(commune) ? "&masque.commune=" + URL.encode(commune) : "";
191
		chaine += estNonNull(famille) ? "&masque.famille=" + URL.encode(famille) : "";
192
		chaine += estNonNull(auteur) ? "&masque.auteur=" + URL.encode(auteur) : "";
193
 
194
		//TODO: réadapter les web services pour que ceux-ci prennent en compte un tri
802 aurelien 195
		chaine += triParDate != ModeTri.PAS_DE_TRI ? "&tri=date_observation" : "";
928 aurelien 196
		chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&tri=votes" : "";
552 benjamin 197
		chaine += triParDate != ModeTri.PAS_DE_TRI ? "&ordre=" + triParDate : "";
198
		chaine += triParNbVotes != ModeTri.PAS_DE_TRI ? "&ordre=" + triParNbVotes : "";
1169 aurelien 199
		chaine += triParNbTag != ModeTri.PAS_DE_TRI ? "&tri=tags" : "";
200
		chaine += triParNbTag != ModeTri.PAS_DE_TRI ? "&ordre=" + triParNbTag : "";
928 aurelien 201
		chaine += estNonNull(idProtocoleSelectionne) ? "&protocole=" + idProtocoleSelectionne : "";
474 aurelien 202
 
203
		return chaine;
204
	}
552 benjamin 205
 
474 aurelien 206
	private boolean estNonNull(String critere) {
207
		return critere != null && !critere.trim().isEmpty();
208
	}
335 benjamin 209
}