Subversion Repositories eFlore/Applications.del

Rev

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