Subversion Repositories eFlore/Applications.del

Rev

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