Subversion Repositories eFlore/Applications.del

Rev

Rev 2095 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2095 Rev 2135
1
package org.tela_botanica.del.client.composants.formulaires.formulaireproposition;
1
package org.tela_botanica.del.client.composants.formulaires.formulaireproposition;
2
 
2
 
3
import java.util.Date;
3
import java.util.Date;
4
import java.util.HashMap;
4
import java.util.HashMap;
5
import java.util.Map;
5
import java.util.Map;
6
 
6
 
7
import org.tela_botanica.del.client.cache.CacheClient;
7
import org.tela_botanica.del.client.cache.CacheClient;
8
import org.tela_botanica.del.client.composants.formulaires.autocompletion.AutoCompletionComboBoxPresenteur;
8
import org.tela_botanica.del.client.composants.formulaires.autocompletion.AutoCompletionComboBoxPresenteur;
9
import org.tela_botanica.del.client.composants.formulaires.autocompletion.AutoCompletionComboBoxVue;
9
import org.tela_botanica.del.client.composants.formulaires.autocompletion.AutoCompletionComboBoxVue;
10
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
10
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
11
import org.tela_botanica.del.client.composants.validation.ValidateurChampTexteNonNul;
11
import org.tela_botanica.del.client.composants.validation.ValidateurChampTexteNonNul;
12
import org.tela_botanica.del.client.config.Config;
12
import org.tela_botanica.del.client.config.Config;
13
import org.tela_botanica.del.client.i18n.I18n;
13
import org.tela_botanica.del.client.i18n.I18n;
14
import org.tela_botanica.del.client.modeles.Contributeur;
14
import org.tela_botanica.del.client.modeles.Contributeur;
15
import org.tela_botanica.del.client.modeles.InterventionForum;
15
import org.tela_botanica.del.client.modeles.InterventionForum;
16
import org.tela_botanica.del.client.modeles.PropositionDetermination;
16
import org.tela_botanica.del.client.modeles.PropositionDetermination;
17
import org.tela_botanica.del.client.modeles.Utilisateur;
17
import org.tela_botanica.del.client.modeles.Utilisateur;
18
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
18
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
19
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
19
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
20
import org.tela_botanica.del.client.services.ReferentielService;
20
import org.tela_botanica.del.client.services.ReferentielService;
21
import org.tela_botanica.del.client.services.rest.PropositionDeterminationService;
21
import org.tela_botanica.del.client.services.rest.PropositionDeterminationService;
22
import org.tela_botanica.del.client.services.rest.async.PropositionDeterminationCallBack;
22
import org.tela_botanica.del.client.services.rest.async.PropositionDeterminationCallBack;
23
import org.tela_botanica.del.client.utils.InfosNomPourAutocompletion;
23
import org.tela_botanica.del.client.utils.InfosNomPourAutocompletion;
24
import org.tela_botanica.del.client.utils.UtilitairesAutoCompletionService;
24
import org.tela_botanica.del.client.utils.UtilitairesAutoCompletionService;
25
 
25
 
26
import com.google.gwt.core.client.GWT;
26
import com.google.gwt.core.client.GWT;
27
import com.google.gwt.event.dom.client.ClickEvent;
27
import com.google.gwt.event.dom.client.ClickEvent;
28
import com.google.gwt.event.dom.client.ClickHandler;
28
import com.google.gwt.event.dom.client.ClickHandler;
29
import com.google.gwt.event.dom.client.HasClickHandlers;
29
import com.google.gwt.event.dom.client.HasClickHandlers;
30
import com.google.gwt.http.client.Response;
30
import com.google.gwt.http.client.Response;
31
import com.google.gwt.user.client.Window;
31
import com.google.gwt.user.client.Window;
32
import com.google.gwt.user.client.ui.HasText;
32
import com.google.gwt.user.client.ui.HasText;
33
import com.google.gwt.user.client.ui.HasWidgets;
33
import com.google.gwt.user.client.ui.HasWidgets;
34
import com.google.gwt.user.client.ui.IsWidget;
34
import com.google.gwt.user.client.ui.IsWidget;
35
 
35
 
36
public class FormulairePropositionPresenteur extends Presenteur {
36
public class FormulairePropositionPresenteur extends Presenteur {
37
 
37
 
38
	public interface Vue extends IsWidget {
38
	public interface Vue extends IsWidget {
39
		public HasText getObjetNom();
39
		public HasText getObjetNom();
40
 
40
 
41
		public HasText getObjetPrenom();
41
		public HasText getObjetPrenom();
42
 
42
 
43
		public HasWidgets getPropositionTaxon();
43
		public HasWidgets getPropositionTaxon();
44
 
44
 
45
		public HasText getCommentaires();
45
		public HasText getCommentaires();
46
 
46
 
47
		public HasClickHandlers getBoutonValidationProposition();
47
		public HasClickHandlers getBoutonValidationProposition();
48
 
48
 
49
		public void afficherNomPrenomEtDesactiver(String nom, String prenom);
49
		public void afficherNomPrenomEtDesactiver(String nom, String prenom);
50
 
50
 
51
		public String getCourriel();
51
		public String getCourriel();
52
 
52
 
53
		public void afficherEmailEtDesactiver(String courriel);
53
		public void afficherEmailEtDesactiver(String courriel);
54
 
54
 
55
		public String getNom();
55
		public String getNom();
56
 
56
 
57
		public String getPrenom();
57
		public String getPrenom();
58
 
58
 
59
		public void afficherStyleErreurNom(String styleErreur);
59
		public void afficherStyleErreurNom(String styleErreur);
60
 
60
 
61
		public void supprimerStyleErreurNom(String styleErreur);
61
		public void supprimerStyleErreurNom(String styleErreur);
62
 
62
 
63
		public void afficherStyleErreurPrenom(String styleErreur);
63
		public void afficherStyleErreurPrenom(String styleErreur);
64
 
64
 
65
		public void supprimerStyleErreurPrenom(String styleErreur);
65
		public void supprimerStyleErreurPrenom(String styleErreur);
66
		
66
		
67
		public void afficherPropositionDejaEffectuée(String taxon);
67
		public void afficherPropositionDejaEffectuée(String taxon);
68
 
68
 
69
		public HasText getObjetCourriel();
69
		public HasText getObjetCourriel();
70
		
70
		
71
		public void setReferentiel(String referentiel);
71
		public void setReferentiel(String referentiel);
72
		
72
		
73
		public String getReferentiel();
73
		public String getReferentiel();
74
 
74
 
75
		public void afficherStyleErreurCourriel(String styleErreur);
75
		public void afficherStyleErreurCourriel(String styleErreur);
76
 
76
 
77
		void supprimerStyleErreurCourriel(String styleErreur);
77
		void supprimerStyleErreurCourriel(String styleErreur);
78
 
78
 
79
		void remplirListeReferentiels(Map<String, String> listeReferentiels);
79
		void remplirListeReferentiels(Map<String, String> listeReferentiels);
80
	}
80
	}
81
 
81
 
82
	private Vue vue;
82
	private Vue vue;
83
	private Config config;
83
	private Config config;
84
	private AutoCompletionComboBoxPresenteur autoCompletionNomTaxonsPresenteur;
84
	private AutoCompletionComboBoxPresenteur autoCompletionNomTaxonsPresenteur;
85
	private PropositionDeterminationService propositionDeterminationService;
85
	private PropositionDeterminationService propositionDeterminationService;
86
	
86
	
87
	private Map<String, InfosNomPourAutocompletion> cacheTaxons = new HashMap<String, InfosNomPourAutocompletion>();
87
	private Map<String, InfosNomPourAutocompletion> cacheTaxons = new HashMap<String, InfosNomPourAutocompletion>();
88
 
88
 
89
	public FormulairePropositionPresenteur(Vue vue, PropositionDeterminationService propositionDeterminationService) {
89
	public FormulairePropositionPresenteur(Vue vue, PropositionDeterminationService propositionDeterminationService) {
90
		this.vue = vue;
90
		this.vue = vue;
91
		this.propositionDeterminationService=propositionDeterminationService;
91
		this.propositionDeterminationService=propositionDeterminationService;
92
		config = new Config();
92
		config = new Config();
93
		creerCompletionTaxons();
93
		creerCompletionTaxons();
94
		remplirAvecInfosUtilisateur();
94
		remplirAvecInfosUtilisateur();
95
	}
95
	}
96
 
96
 
97
	private void remplirAvecInfosUtilisateur() {
97
	private void remplirAvecInfosUtilisateur() {
98
		Utilisateur utilisateur = CacheClient.getInstance().getUtilisateur();
98
		Utilisateur utilisateur = CacheClient.getInstance().getUtilisateur();
99
		if (utilisateur.estIdentifie()) {
99
		if (utilisateur.estIdentifie()) {
100
			vue.afficherNomPrenomEtDesactiver(utilisateur.getNom(), utilisateur.getPrenom());
100
			vue.afficherNomPrenomEtDesactiver(utilisateur.getNom(), utilisateur.getPrenom());
101
			vue.afficherEmailEtDesactiver(utilisateur.getCourriel());
101
			vue.afficherEmailEtDesactiver(utilisateur.getCourriel());
102
		}
102
		}
103
	}
103
	}
104
 
104
 
105
	private void creerCompletionTaxons() {
105
	private void creerCompletionTaxons() {
106
		String url = this.config.getServiceBaseUrl() + "nomstaxons";
106
		String url = this.config.getServiceBaseUrl() + "nomstaxons";
107
		vue.remplirListeReferentiels(ReferentielService.getReferentiels());
107
		vue.remplirListeReferentiels(ReferentielService.getReferentiels());
108
		final String referentiel = CacheClient.getInstance().getObservationCourante().getReferentiel();
108
		final String referentiel = CacheClient.getInstance().getObservationCourante().getReferentiel();
109
		
109
 
-
 
110
		// découpage pseudo-intelligent du nom de référentiel
-
 
111
		String referentielPredefini;
110
		int lgSubRef = Math.min(referentiel.length(), 5);
112
		int positionDeuxPoints = referentiel.indexOf(':');
-
 
113
		if (positionDeuxPoints == -1) {
-
 
114
			referentielPredefini = referentiel;
-
 
115
		} else {
111
		String referentielPredefini = referentiel.substring(0, lgSubRef);
116
			referentielPredefini = referentiel.substring(0, positionDeuxPoints);
-
 
117
		}
112
		
118
		
113
		if (referentielPredefini.equals("autre") || referentielPredefini.equals("")) {
119
		if (referentielPredefini.equals("autre") || referentielPredefini.equals("")) {
114
			referentielPredefini = "bdtfx"; // évite de saisir des noms latins en dur et de perdre le nn
120
			referentielPredefini = "bdtfx"; // évite de saisir des noms latins en dur et de perdre le nn
115
		}
121
		}
116
		vue.setReferentiel(referentielPredefini);
122
		vue.setReferentiel(referentielPredefini);
117
		autoCompletionNomTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), url) {
123
		autoCompletionNomTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), url) {
118
			protected String effectuerPreTraitementChaineRequete(String requete) {		
124
			protected String effectuerPreTraitementChaineRequete(String requete) {		
119
				// si aucun référentiel selectionné, pas de requete
125
				// si aucun référentiel selectionné, pas de requete
120
				if(vue.getReferentiel() != null && !vue.getReferentiel().equals("") && !vue.getReferentiel().equals("tous")) {
126
				if(vue.getReferentiel() != null && !vue.getReferentiel().equals("") && !vue.getReferentiel().equals("tous")) {
-
 
127
					// découpage pseudo-intelligent du nom de référentiel
-
 
128
					String refFmt;
-
 
129
					int positionDeuxPoints = vue.getReferentiel().indexOf(':');
-
 
130
					if (positionDeuxPoints == -1) {
-
 
131
						refFmt = vue.getReferentiel();
-
 
132
					} else {
-
 
133
						refFmt = vue.getReferentiel().substring(0, positionDeuxPoints);
-
 
134
					}
121
					requete = "?masque.nom=" + requete + "&masque.referentiel=" + vue.getReferentiel().substring(0, 5);
135
					requete = "?masque.nom=" + requete + "&masque.referentiel=" + refFmt;
122
					return requete;
136
					return requete;
123
				} else {
137
				} else {
124
					return null;
138
					return null;
125
				}
139
				}
126
			}
140
			}
127
 
141
 
128
			@Override
142
			@Override
129
			protected InfosNomPourAutocompletion[] parserResultatRequete(Response response) {
143
			protected InfosNomPourAutocompletion[] parserResultatRequete(Response response) {
130
				cacheTaxons = UtilitairesAutoCompletionService.extraireTaxonsNumNomsResultatRetourSimple(response);
144
				cacheTaxons = UtilitairesAutoCompletionService.extraireTaxonsNumNomsResultatRetourSimple(response);
131
				return UtilitairesAutoCompletionService.parserResultatRetourSimple(response);
145
				return UtilitairesAutoCompletionService.parserResultatRetourSimple(response);
132
			}
146
			}
133
		};
147
		};
134
	}
148
	}
135
 
149
 
136
	public void go(HasWidgets composite) {
150
	public void go(HasWidgets composite) {
137
		autoCompletionNomTaxonsPresenteur.go(vue.getPropositionTaxon());
151
		autoCompletionNomTaxonsPresenteur.go(vue.getPropositionTaxon());
138
		composite.add(vue.asWidget());
152
		composite.add(vue.asWidget());
139
		gererEvenements();
153
		gererEvenements();
140
	}
154
	}
141
 
155
 
142
	protected void gererEvenements() {
156
	protected void gererEvenements() {
143
		vue.getBoutonValidationProposition().addClickHandler(new ClickHandler() {
157
		vue.getBoutonValidationProposition().addClickHandler(new ClickHandler() {
144
			@Override
158
			@Override
145
			public void onClick(ClickEvent event) {
159
			public void onClick(ClickEvent event) {
146
 
160
 
147
				if (!validerSaisieProposition()) {
161
				if (!validerSaisieProposition()) {
148
					return;
162
					return;
149
				} else {
163
				} else {
150
					final PropositionDetermination propositionAjoutee = collecterValeursSaisieProposition();
164
					final PropositionDetermination propositionAjoutee = collecterValeursSaisieProposition();
151
					if(verifierPropositionDejaAjoutee(propositionAjoutee)){
165
					if(verifierPropositionDejaAjoutee(propositionAjoutee)){
152
						BusEvenementiel.getInstance().fireEvent(new EvenementAjoutDetermination(propositionAjoutee));
166
						BusEvenementiel.getInstance().fireEvent(new EvenementAjoutDetermination(propositionAjoutee));
153
						vue.afficherPropositionDejaEffectuée(propositionAjoutee.getEspece());
167
						vue.afficherPropositionDejaEffectuée(propositionAjoutee.getEspece());
154
						return;
168
						return;
155
					}
169
					}
156
 
170
 
157
					propositionDeterminationService.ajouterProposition(propositionAjoutee, new PropositionDeterminationCallBack() {
171
					propositionDeterminationService.ajouterProposition(propositionAjoutee, new PropositionDeterminationCallBack() {
158
 
172
 
159
						@Override
173
						@Override
160
						public void surRetour(String idNouvelleProposition) {
174
						public void surRetour(String idNouvelleProposition) {
161
							propositionAjoutee.setId(idNouvelleProposition);
175
							propositionAjoutee.setId(idNouvelleProposition);
162
							CacheClient.getInstance().getObservationCourante().ajouterPropositionDetermination(propositionAjoutee);
176
							CacheClient.getInstance().getObservationCourante().ajouterPropositionDetermination(propositionAjoutee);
163
							EvenementAjoutDetermination evenementAjoutDetermination = new EvenementAjoutDetermination(propositionAjoutee);
177
							EvenementAjoutDetermination evenementAjoutDetermination = new EvenementAjoutDetermination(propositionAjoutee);
164
							BusEvenementiel.getInstance().fireEvent(evenementAjoutDetermination);
178
							BusEvenementiel.getInstance().fireEvent(evenementAjoutDetermination);
165
						}
179
						}
166
 
180
 
167
					});
181
					});
168
				}
182
				}
169
			}
183
			}
170
		});
184
		});
171
	}
185
	}
172
 
186
 
173
	private boolean verifierPropositionDejaAjoutee(PropositionDetermination propositionDetermination){
187
	private boolean verifierPropositionDejaAjoutee(PropositionDetermination propositionDetermination){
174
		for(InterventionForum interventionForum: CacheClient.getInstance().getObservationCourante().getInterventionsForum()){
188
		for(InterventionForum interventionForum: CacheClient.getInstance().getObservationCourante().getInterventionsForum()){
175
			if(interventionForum instanceof PropositionDetermination){
189
			if(interventionForum instanceof PropositionDetermination){
176
				if(((PropositionDetermination)interventionForum).getEspece().trim().equals(propositionDetermination.getEspece().trim())){
190
				if(((PropositionDetermination)interventionForum).getEspece().trim().equals(propositionDetermination.getEspece().trim())){
177
					return true;
191
					return true;
178
				}
192
				}
179
			}
193
			}
180
		}
194
		}
181
		return false;
195
		return false;
182
	}
196
	}
183
	
197
	
184
	private boolean validerSaisieProposition() {
198
	private boolean validerSaisieProposition() {
185
 
199
 
186
		ValidateurChampTexteNonNul validateurNom = new ValidateurChampTexteNonNul(vue.getObjetNom()) {
200
		ValidateurChampTexteNonNul validateurNom = new ValidateurChampTexteNonNul(vue.getObjetNom()) {
187
			@Override
201
			@Override
188
			public void afficherStyleErreur(String styleErreur) {
202
			public void afficherStyleErreur(String styleErreur) {
189
				vue.afficherStyleErreurNom(styleErreur);
203
				vue.afficherStyleErreurNom(styleErreur);
190
			}
204
			}
191
 
205
 
192
			@Override
206
			@Override
193
			public void supprimerStyleErreur(String styleErreur) {
207
			public void supprimerStyleErreur(String styleErreur) {
194
				vue.supprimerStyleErreurNom(styleErreur);
208
				vue.supprimerStyleErreurNom(styleErreur);
195
			}
209
			}
196
		};
210
		};
197
 
211
 
198
		ValidateurChampTexteNonNul validateurPrenom = new ValidateurChampTexteNonNul(vue.getObjetPrenom()) {
212
		ValidateurChampTexteNonNul validateurPrenom = new ValidateurChampTexteNonNul(vue.getObjetPrenom()) {
199
			@Override
213
			@Override
200
			public void afficherStyleErreur(String styleErreur) {
214
			public void afficherStyleErreur(String styleErreur) {
201
				vue.afficherStyleErreurPrenom(styleErreur);
215
				vue.afficherStyleErreurPrenom(styleErreur);
202
			}
216
			}
203
 
217
 
204
			@Override
218
			@Override
205
			public void supprimerStyleErreur(String styleErreur) {
219
			public void supprimerStyleErreur(String styleErreur) {
206
				vue.supprimerStyleErreurPrenom(styleErreur);
220
				vue.supprimerStyleErreurPrenom(styleErreur);
207
			}
221
			}
208
		};
222
		};
209
		
223
		
210
		ValidateurChampTexteNonNul validateurCourriel = new ValidateurChampTexteNonNul(vue.getObjetCourriel()) {
224
		ValidateurChampTexteNonNul validateurCourriel = new ValidateurChampTexteNonNul(vue.getObjetCourriel()) {
211
			@Override
225
			@Override
212
			public void afficherStyleErreur(String styleErreur) {
226
			public void afficherStyleErreur(String styleErreur) {
213
				vue.afficherStyleErreurCourriel(styleErreur);
227
				vue.afficherStyleErreurCourriel(styleErreur);
214
			}
228
			}
215
 
229
 
216
			@Override
230
			@Override
217
			public void supprimerStyleErreur(String styleErreur) {
231
			public void supprimerStyleErreur(String styleErreur) {
218
				vue.supprimerStyleErreurCourriel(styleErreur);
232
				vue.supprimerStyleErreurCourriel(styleErreur);
219
			}
233
			}
220
		};
234
		};
221
 
235
 
222
		ValidateurChampTexteNonNul validateurTaxon = new ValidateurChampTexteNonNul(autoCompletionNomTaxonsPresenteur.getAutoCompletionComboBoxVue().getSuggestBox()) {
236
		ValidateurChampTexteNonNul validateurTaxon = new ValidateurChampTexteNonNul(autoCompletionNomTaxonsPresenteur.getAutoCompletionComboBoxVue().getSuggestBox()) {
223
			@Override
237
			@Override
224
			public void afficherStyleErreur(String styleErreur) {
238
			public void afficherStyleErreur(String styleErreur) {
225
				autoCompletionNomTaxonsPresenteur.afficherStyleErreur(styleErreur);
239
				autoCompletionNomTaxonsPresenteur.afficherStyleErreur(styleErreur);
226
			}
240
			}
227
 
241
 
228
			@Override
242
			@Override
229
			public void supprimerStyleErreur(String styleErreur) {
243
			public void supprimerStyleErreur(String styleErreur) {
230
				autoCompletionNomTaxonsPresenteur.supprimerStyleErreur(styleErreur);
244
				autoCompletionNomTaxonsPresenteur.supprimerStyleErreur(styleErreur);
231
			}
245
			}
232
		};
246
		};
233
 
247
 
234
		boolean nomSaisi = validateurNom.valider();
248
		boolean nomSaisi = validateurNom.valider();
235
		boolean prenomSaisi = validateurPrenom.valider();
249
		boolean prenomSaisi = validateurPrenom.valider();
236
		boolean courrielSaisi = validateurCourriel.valider();
250
		boolean courrielSaisi = validateurCourriel.valider();
237
		boolean taxonSaisi = validateurTaxon.valider();
251
		boolean taxonSaisi = validateurTaxon.valider();
238
		
252
		
239
		String taxonSaisiStr = autoCompletionNomTaxonsPresenteur.getValeur();		
253
		String taxonSaisiStr = autoCompletionNomTaxonsPresenteur.getValeur();		
240
		boolean utilisateurConfirme = true;
254
		boolean utilisateurConfirme = true;
241
		// Si le nom est vide une erreur a déjà été déclenchée plus haut (donc pas la peine de tester cacheTaxons)
255
		// Si le nom est vide une erreur a déjà été déclenchée plus haut (donc pas la peine de tester cacheTaxons)
242
		if(!taxonSaisiStr.trim().isEmpty() && !cacheTaxons.containsKey(taxonSaisiStr.trim())) {
256
		if(!taxonSaisiStr.trim().isEmpty() && !cacheTaxons.containsKey(taxonSaisiStr.trim())) {
243
			utilisateurConfirme = Window.confirm(I18n.getVocabulary().attentionPropositionTaxon());
257
			utilisateurConfirme = Window.confirm(I18n.getVocabulary().attentionPropositionTaxon());
244
		}
258
		}
245
 
259
 
246
		return nomSaisi && prenomSaisi && courrielSaisi && taxonSaisi && utilisateurConfirme;
260
		return nomSaisi && prenomSaisi && courrielSaisi && taxonSaisi && utilisateurConfirme;
247
	}
261
	}
248
 
262
 
249
	private PropositionDetermination collecterValeursSaisieProposition() {
263
	private PropositionDetermination collecterValeursSaisieProposition() {
250
		PropositionDetermination propositionAjoutee = new PropositionDetermination(CacheClient.getInstance().getObservationCourante());
264
		PropositionDetermination propositionAjoutee = new PropositionDetermination(CacheClient.getInstance().getObservationCourante());
251
		propositionAjoutee.setId(CacheClient.getInstance().getObservationCourante().getId());
265
		propositionAjoutee.setId(CacheClient.getInstance().getObservationCourante().getId());
252
 
266
 
253
		String idUtilisateur = null;
267
		String idUtilisateur = null;
254
		if (CacheClient.getInstance().getUtilisateur().estIdentifie()) {
268
		if (CacheClient.getInstance().getUtilisateur().estIdentifie()) {
255
			idUtilisateur = CacheClient.getInstance().getUtilisateur().getId();
269
			idUtilisateur = CacheClient.getInstance().getUtilisateur().getId();
256
		}
270
		}
257
 
271
 
258
		Contributeur contributeur = new Contributeur(idUtilisateur, vue.getNom(), vue.getPrenom(), vue.getCourriel());
272
		Contributeur contributeur = new Contributeur(idUtilisateur, vue.getNom(), vue.getPrenom(), vue.getCourriel());
259
		propositionAjoutee.setContributeur(contributeur);
273
		propositionAjoutee.setContributeur(contributeur);
260
		propositionAjoutee.setDate(new Date());
274
		propositionAjoutee.setDate(new Date());
261
		
275
		
262
		String nomTaxon = autoCompletionNomTaxonsPresenteur.getValeur();
276
		String nomTaxon = autoCompletionNomTaxonsPresenteur.getValeur();
263
		propositionAjoutee.setEspece(nomTaxon);
277
		propositionAjoutee.setEspece(nomTaxon);
264
		if(cacheTaxons.containsKey(nomTaxon.trim())) {
278
		if(cacheTaxons.containsKey(nomTaxon.trim())) {
265
			propositionAjoutee.setNumNomenclatural("" + cacheTaxons.get(nomTaxon.trim()).getNn());
279
			propositionAjoutee.setNumNomenclatural("" + cacheTaxons.get(nomTaxon.trim()).getNn());
266
		}
280
		}
267
		
281
		
268
		if(vue.getReferentiel() != "tous") {
282
		if(vue.getReferentiel() != "tous") {
269
			propositionAjoutee.setReferentiel(vue.getReferentiel());
283
			propositionAjoutee.setReferentiel(vue.getReferentiel());
270
		}
284
		}
271
		
285
		
272
		if (vue.getCommentaires().getText() != "") {
286
		if (vue.getCommentaires().getText() != "") {
273
			String contenuCommentaire = vue.getCommentaires().getText();
287
			String contenuCommentaire = vue.getCommentaires().getText();
274
			propositionAjoutee.setCommentaire(contenuCommentaire);
288
			propositionAjoutee.setCommentaire(contenuCommentaire);
275
		}
289
		}
276
 
290
 
277
		return propositionAjoutee;
291
		return propositionAjoutee;
278
	}
292
	}
279
}
293
}