Subversion Repositories eFlore/Applications.del

Rev

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

Rev Author Line No. Line
9 benjamin 1
package org.tela_botanica.del.client.modeles;
2
 
3
import java.io.Serializable;
60 benjamin 4
import java.util.ArrayList;
1001 aurelien 5
import java.util.Iterator;
9 benjamin 6
import java.util.List;
7
 
159 benjamin 8
public class Observation implements Serializable {
9 benjamin 9
 
10
	private static final long serialVersionUID = 840032625524143547L;
868 aurelien 11
	private String id, auteur, idAuteur, nomAuteur, prenomAuteur, courrielAuteur, nomRetenu, famille, localite, idLocalite,
834 aurelien 12
					dateTransmission, numNomenclatural, nomCommun, lieuDit,
1995 aurelien 13
					milieu, commentaire, dateReleve, station, referentiel, pays;
9 benjamin 14
 
60 benjamin 15
	private List<String> motsClefs = new ArrayList<String>();
658 benjamin 16
 
17
	// les propositions sont une liste ordonnée qui contient soit des
18
	// proposition de determinations, soit des commentaires
19
	private List<InterventionForum> propositions = new ArrayList<InterventionForum>();
159 benjamin 20
	private List<Image> images = new ArrayList<Image>();
1934 aurelien 21
	private String nbCommentaires;
116 benjamin 22
 
9 benjamin 23
	public String getAuteur() {
24
		return auteur;
25
	}
26
 
27
	public void setAuteur(String auteur) {
28
		this.auteur = auteur;
29
	}
30
 
34 gduche 31
	public String getNomRetenu() {
32
		return nomRetenu;
9 benjamin 33
	}
34
 
34 gduche 35
	public void setNomRetenu(String commonName) {
36
		this.nomRetenu = commonName;
9 benjamin 37
	}
38
 
447 gduche 39
	public String getNomCommun() {
40
		return nomCommun;
41
	}
658 benjamin 42
 
447 gduche 43
	public void setNomCommun(String nomCommun) {
44
		this.nomCommun = nomCommun;
45
	}
658 benjamin 46
 
1026 gduche 47
	public String getStation() {
48
		return this.station;
49
	}
50
 
51
	public void setStation(String station) {
52
		this.station = station;
53
	}
54
 
447 gduche 55
	public String getLieuDit() {
56
		return this.lieuDit;
57
	}
658 benjamin 58
 
447 gduche 59
	public void setLieuDit(String lieuDit) {
60
		this.lieuDit = lieuDit;
61
	}
658 benjamin 62
 
447 gduche 63
	public String getMilieu() {
64
		return milieu;
65
	}
658 benjamin 66
 
447 gduche 67
	public void setMilieu(String milieu) {
68
		this.milieu = milieu;
69
	}
658 benjamin 70
 
447 gduche 71
	public String getCommentaire() {
72
		return commentaire;
73
	}
658 benjamin 74
 
447 gduche 75
	public void setCommentaire(String commentaire) {
76
		this.commentaire = commentaire;
77
	}
658 benjamin 78
 
9 benjamin 79
	public String getFamille() {
80
		return famille;
81
	}
82
 
83
	public void setFamille(String famille) {
84
		this.famille = famille;
85
	}
86
 
461 aurelien 87
	public String getIdLocalite() {
88
		return idLocalite;
89
	}
90
 
91
	public void setIdLocalite(String idlocalite) {
92
		this.idLocalite = idlocalite;
93
	}
658 benjamin 94
 
9 benjamin 95
	public String getLocalite() {
96
		return localite;
97
	}
658 benjamin 98
 
471 aurelien 99
	public String getLocaliteAvecIdFormatee() {
100
		String localiteFormatee = this.localite;
783 aurelien 101
		if (idLocalite != null && idLocalite.length() >= 5 && idLocalite.substring(0, 5).equals("INSEE")) {
102
			String[] tableaulocalite = idLocalite.split(":");
103
			String idLocaliteFormatee = (tableaulocalite.length == 2) ? tableaulocalite[1] : localiteFormatee;
104
			localiteFormatee += " (" + idLocaliteFormatee + ")";
105
		} else if (idLocalite != null && idLocalite.length() >= 2) {
658 benjamin 106
			localiteFormatee += " (" + idLocalite.substring(0, 2) + ")";
471 aurelien 107
		}
658 benjamin 108
 
471 aurelien 109
		return localiteFormatee;
110
	}
9 benjamin 111
 
112
	public void setLocalite(String localite) {
113
		this.localite = localite;
114
	}
115
 
449 gduche 116
	public String getDateTransmission() {
117
		return dateTransmission;
9 benjamin 118
	}
658 benjamin 119
 
449 gduche 120
	public void setDateTransmission(String date) {
121
		this.dateTransmission = date;
122
	}
9 benjamin 123
 
449 gduche 124
	public String getDateReleve() {
125
		return dateReleve;
9 benjamin 126
	}
658 benjamin 127
 
449 gduche 128
	public void setDateReleve(String dateReleve) {
129
		this.dateReleve = dateReleve;
130
	}
658 benjamin 131
 
9 benjamin 132
	public String getNumNomenclatural() {
133
		return numNomenclatural;
134
	}
135
 
136
	public void setNumNomenclatural(String numNomenclatural) {
137
		this.numNomenclatural = numNomenclatural;
138
	}
139
 
658 benjamin 140
	public List<InterventionForum> getInterventionsForum() {
141
		return propositions;
9 benjamin 142
	}
143
 
658 benjamin 144
	public void setInterventionsForum(List<InterventionForum> propositions) {
145
		this.propositions = propositions;
9 benjamin 146
	}
147
 
60 benjamin 148
	public List<String> getMotsClefs() {
149
		return motsClefs;
150
	}
151
 
152
	public void setMotsClefs(List<String> motsClefs) {
153
		this.motsClefs = motsClefs;
154
	}
658 benjamin 155
 
447 gduche 156
	public void ajouterMotsClef(String motsClefs) {
157
		if (this.motsClefs == null) {
158
			this.motsClefs = new ArrayList<String>();
159
		}
160
		this.motsClefs.add(motsClefs);
161
	}
60 benjamin 162
 
602 aurelien 163
	public void ajouterPropositionDetermination(PropositionDetermination observationValidation) {
658 benjamin 164
		propositions.add(observationValidation);
117 aurelien 165
	}
135 gduche 166
 
117 aurelien 167
	public ArrayList<String> getPropositionsTaxonsData() {
135 gduche 168
 
117 aurelien 169
		ArrayList<String> propositionsTaxonDatas = new ArrayList<String>();
658 benjamin 170
		for (InterventionForum proposition : propositions) {
171
			if (proposition instanceof PropositionDetermination) {
172
				String espece = ((PropositionDetermination) proposition).getEspece();
173
				if (espece != "" && !propositionsTaxonDatas.contains(espece)) {
174
					propositionsTaxonDatas.add(espece);
175
				}
117 aurelien 176
			}
177
		}
135 gduche 178
 
117 aurelien 179
		return propositionsTaxonDatas;
180
	}
116 benjamin 181
 
658 benjamin 182
	public List<PropositionDetermination> getPropositionDeterminations() {
183
		List<PropositionDetermination> determinations = new ArrayList<PropositionDetermination>();
659 benjamin 184
		for (InterventionForum proposition : getInterventionsForum()) {
658 benjamin 185
			if (proposition instanceof PropositionDetermination) {
186
				determinations.add((PropositionDetermination) proposition);
187
			}
188
		}
189
		return determinations;
190
	}
1128 gduche 191
 
192
	public List<Commentaire> getCommentairesForum() {
193
		List<Commentaire> commentaires = new ArrayList<Commentaire>();
194
		for (InterventionForum proposition : getInterventionsForum()) {
195
			if (proposition instanceof Commentaire) {
196
				commentaires.add((Commentaire) proposition);
197
			}
198
		}
199
		return commentaires;
200
	}
1001 aurelien 201
 
202
	public void supprimerIntervention(InterventionForum intervention) {
203
		if(propositions.contains(intervention)) {
204
			propositions.remove(intervention);
205
		} else {
206
			for (Iterator<InterventionForum> iterator = propositions.iterator(); iterator.hasNext();) {
207
				iterator.next().supprimerIntervention(intervention);
208
			}
209
		}
210
	}
658 benjamin 211
 
147 benjamin 212
	public List<Image> getImages() {
213
		return images;
214
	}
215
 
216
	public void setImages(List<Image> images) {
217
		this.images = images;
218
	}
219
 
296 benjamin 220
	public String getId() {
221
		return id;
222
	}
223
 
224
	public void setId(String id) {
225
		this.id = id;
226
	}
868 aurelien 227
 
228
	public void setIdAuteur(String idAuteur) {
229
		this.idAuteur = idAuteur;
230
	}
296 benjamin 231
 
868 aurelien 232
	public String getIdAuteur() {
233
		return idAuteur;
234
	}
235
 
834 aurelien 236
	public String getNomAuteur() {
237
		return nomAuteur;
238
	}
239
 
240
	public void setNomAuteur(String nomAuteur) {
241
		this.nomAuteur = nomAuteur;
242
	}
243
 
244
	public String getPrenomAuteur() {
245
		return prenomAuteur;
246
	}
247
 
248
	public void setPrenomAuteur(String prenomAuteur) {
249
		this.prenomAuteur = prenomAuteur;
250
	}
251
 
252
	public String getCourrielAuteur() {
253
		return courrielAuteur;
254
	}
255
 
256
	public void setCourrielAuteur(String courrielAuteur) {
257
		this.courrielAuteur = courrielAuteur;
258
	}
1014 aurelien 259
 
260
	public boolean estADeterminer() {
1756 mathias 261
		return nomRetenu == null || nomRetenu.isEmpty() || nomRetenu.equals("0") || motsClefs.contains("aDeterminer");
1014 aurelien 262
	}
1367 aurelien 263
 
264
	public String getReferentiel() {
1393 aurelien 265
		String refFmt = "";
266
		// on ne renvoie que le code du référentiel, sans version, et seulement également si l'on possède
267
		// un numéro nomenclatural associé (ce qui nous assure une certaine cohérence)
1691 mathias 268
		if(referentiel.length() >= 3  && numNomenclatural != null && !numNomenclatural.equals("0")) {
269
			int positionDeuxPoints = referentiel.indexOf(':');
270
			if (positionDeuxPoints == -1) {
271
				refFmt = referentiel;
272
			} else {
273
				refFmt = referentiel.substring(0, positionDeuxPoints);
274
			}
1393 aurelien 275
		}
276
		return refFmt;
1367 aurelien 277
	}
278
 
279
	public void setReferentiel(String referentiel) {
280
		this.referentiel = referentiel;
281
	}
1393 aurelien 282
 
283
	public String getNomRetenuFormateReferentiel() {
284
		String nomRetenuFmt = "";
285
		if(nomRetenu != null && !nomRetenu.equals("")) {
286
			nomRetenuFmt += nomRetenu;
287
		}
288
		String referentiel = getReferentiel();
289
		if(!nomRetenuFmt.equals("") && !referentiel.equals("")) {
290
			nomRetenuFmt += " ("+referentiel+")";
291
		}
292
		return nomRetenuFmt;
293
	}
1934 aurelien 294
 
295
	public String getNbCommentaires() {
296
		return nbCommentaires;
297
	}
834 aurelien 298
 
1934 aurelien 299
	public void setNbCommentaires(String nbCommentaires) {
300
		this.nbCommentaires = nbCommentaires;
301
	}
1995 aurelien 302
 
303
	public String getPays() {
304
		return pays;
305
	}
306
 
307
	public void setPays(String pays) {
308
		this.pays = pays;
309
	}
9 benjamin 310
}