Subversion Repositories eFlore/Applications.del

Rev

Rev 1756 | Rev 1995 | Go to most recent revision | Details | Compare with Previous | 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,
1367 aurelien 13
					milieu, commentaire, dateReleve, station, referentiel;
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
	}
9 benjamin 302
}