Subversion Repositories eFlore/Applications.del

Rev

Rev 930 | Rev 944 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 930 Rev 939
Line 3... Line 3...
3
import java.util.Date;
3
import java.util.Date;
Line 4... Line 4...
4
 
4
 
5
import org.tela_botanica.del.client.cache.CacheClient;
5
import org.tela_botanica.del.client.cache.CacheClient;
6
import org.tela_botanica.del.client.composants.formulaires.autocompletion.AutoCompletionComboBoxPresenteur;
6
import org.tela_botanica.del.client.composants.formulaires.autocompletion.AutoCompletionComboBoxPresenteur;
7
import org.tela_botanica.del.client.composants.formulaires.autocompletion.AutoCompletionComboBoxVue;
-
 
8
 
7
import org.tela_botanica.del.client.composants.formulaires.autocompletion.AutoCompletionComboBoxVue;
9
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
8
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
10
import org.tela_botanica.del.client.composants.validation.ValidateurChampTexteNonNul;
9
import org.tela_botanica.del.client.composants.validation.ValidateurChampTexteNonNul;
11
import org.tela_botanica.del.client.config.Config;
-
 
12
import org.tela_botanica.del.client.modeles.Commentaire;
10
import org.tela_botanica.del.client.config.Config;
13
import org.tela_botanica.del.client.modeles.Contributeur;
11
import org.tela_botanica.del.client.modeles.Contributeur;
14
import org.tela_botanica.del.client.modeles.PropositionDetermination;
12
import org.tela_botanica.del.client.modeles.PropositionDetermination;
15
import org.tela_botanica.del.client.modeles.Utilisateur;
13
import org.tela_botanica.del.client.modeles.Utilisateur;
16
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
14
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
17
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
15
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
18
import org.tela_botanica.del.client.services.rest.PropositionDeterminationService;
16
import org.tela_botanica.del.client.services.rest.PropositionDeterminationService;
19
import org.tela_botanica.del.client.services.rest.PropositionDeterminationServiceConcret;
17
import org.tela_botanica.del.client.services.rest.PropositionDeterminationServiceConcret;
20
import org.tela_botanica.del.client.services.rest.async.PropositionDeterminationCallBack;
-
 
21
import org.tela_botanica.del.client.services.rest.async.PropositionDeterminationCallBack.ModeRequete;
18
import org.tela_botanica.del.client.services.rest.async.PropositionDeterminationCallBack;
22
import org.tela_botanica.del.client.utils.UtilitairesAutoCompletionService;
19
import org.tela_botanica.del.client.utils.UtilitairesAutoCompletionService;
Line 23... Line 20...
23
import org.tela_botanica.del.client.utils.UtilitairesServiceResultat;
20
import org.tela_botanica.del.client.utils.UtilitairesServiceResultat;
24
 
21
 
25
import com.google.gwt.event.dom.client.ClickEvent;
22
import com.google.gwt.event.dom.client.ClickEvent;
26
import com.google.gwt.event.dom.client.ClickHandler;
23
import com.google.gwt.event.dom.client.ClickHandler;
27
import com.google.gwt.event.dom.client.HasClickHandlers;
-
 
28
import com.google.gwt.http.client.Response;
24
import com.google.gwt.event.dom.client.HasClickHandlers;
29
import com.google.gwt.user.client.Window;
25
import com.google.gwt.http.client.Response;
30
import com.google.gwt.user.client.ui.HasText;
26
import com.google.gwt.user.client.ui.HasText;
Line 31... Line 27...
31
import com.google.gwt.user.client.ui.HasWidgets;
27
import com.google.gwt.user.client.ui.HasWidgets;
32
import com.google.gwt.user.client.ui.IsWidget;
28
import com.google.gwt.user.client.ui.IsWidget;
33
 
29
 
34
public class FormulairePropositionPresenteur extends Presenteur {
30
public class FormulairePropositionPresenteur extends Presenteur {
-
 
31
 
35
	
32
	public interface Vue extends IsWidget {
-
 
33
		public HasText getObjetNom();
36
	public interface Vue extends IsWidget {
34
 
-
 
35
		public HasText getObjetPrenom();
37
		public HasText getObjetNom();
36
 
-
 
37
		public HasWidgets getPropositionTaxon();
38
		public HasText getObjetPrenom();
38
 
-
 
39
		public HasText getCommentaires();
39
		public HasWidgets getPropositionTaxon();
40
 
-
 
41
		public HasClickHandlers getBoutonValidationProposition();
40
		public HasText getCommentaires();
42
 
-
 
43
		public void afficherNomPrenomEtDesactiver(String nom, String prenom);
41
		public HasClickHandlers getBoutonValidationProposition();
44
 
-
 
45
		public String getCourriel();
42
		public void afficherNomPrenomEtDesactiver(String nom, String prenom);
46
 
-
 
47
		public void afficherEmailEtDesactiver(String courriel);
43
		public String getCourriel();
48
 
-
 
49
		public String getNom();
44
		public void afficherEmailEtDesactiver(String courriel);
50
 
-
 
51
		public String getPrenom();
45
		public String getNom();
52
 
-
 
53
		public void afficherStyleErreurNom(String styleErreur);
46
		public String getPrenom();
54
 
-
 
55
		public void supprimerStyleErreurNom(String styleErreur);
47
		public void afficherStyleErreurNom(String styleErreur);
56
 
48
		public void supprimerStyleErreurNom(String styleErreur);
57
		public void afficherStyleErreurPrenom(String styleErreur);
49
		public void afficherStyleErreurPrenom(String styleErreur);
58
 
50
		public void supprimerStyleErreurPrenom(String styleErreur);
59
		public void supprimerStyleErreurPrenom(String styleErreur);
51
	}
60
	}
52
	
61
 
53
	private Vue vue;
62
	private Vue vue;
54
	private Config config;
63
	private Config config;
55
	private AutoCompletionComboBoxPresenteur autoCompletionNomTaxonsPresenteur;
64
	private AutoCompletionComboBoxPresenteur autoCompletionNomTaxonsPresenteur;
56
	private PropositionDeterminationService propositionDeterminationService = new PropositionDeterminationServiceConcret();
65
	private PropositionDeterminationService propositionDeterminationService = new PropositionDeterminationServiceConcret();
57
		
66
 
58
	public FormulairePropositionPresenteur(Vue vue) {
67
	public FormulairePropositionPresenteur(Vue vue) {
59
		this.vue = vue;
68
		this.vue = vue;
60
		config = new Config();
69
		config = new Config();
61
		creerCompletionTaxons();
70
		creerCompletionTaxons();
62
		remplirAvecInfosUtilisateur();
71
		remplirAvecInfosUtilisateur();
63
	}
72
	}
64
	
73
 
65
	private void remplirAvecInfosUtilisateur() {
74
	private void remplirAvecInfosUtilisateur() {
66
		Utilisateur utilisateur = CacheClient.getInstance().getUtilisateur(); 
75
		Utilisateur utilisateur = CacheClient.getInstance().getUtilisateur();
67
		if(utilisateur.estIdentifie()) {
76
		if (utilisateur.estIdentifie()) {
68
			vue.afficherNomPrenomEtDesactiver(utilisateur.getNom(), utilisateur.getPrenom());
77
			vue.afficherNomPrenomEtDesactiver(utilisateur.getNom(), utilisateur.getPrenom());
69
			vue.afficherEmailEtDesactiver(utilisateur.getCourriel());
78
			vue.afficherEmailEtDesactiver(utilisateur.getCourriel());
70
		}
79
		}
71
	}
80
	}
72
	
81
 
73
	private void creerCompletionTaxons() {
82
	private void creerCompletionTaxons() {
74
		String url = this.config.getUrl("nomSciCompletionService");
83
		String url = this.config.getUrl("nomSciCompletionService");
75
		autoCompletionNomTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), url) {	
84
		autoCompletionNomTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), url) {
76
			protected String effectuerPreTraitementChaineRequete(String requete) {
85
			protected String effectuerPreTraitementChaineRequete(String requete) {
77
				return UtilitairesAutoCompletionService.effectuerPreTraitementChaineRequeteGenreEspeceSlash(requete);
86
				return UtilitairesAutoCompletionService.effectuerPreTraitementChaineRequeteGenreEspeceSlash(requete);
78
			}
87
			}
79
			
88
 
80
			@Override
89
			@Override
81
			protected String[] parserResultatRequete(Response response) {
90
			protected String[] parserResultatRequete(Response response) {
Line 97... Line 106...
97
 
106
 
98
				if (!validerSaisieProposition()) {
107
				if (!validerSaisieProposition()) {
99
					return;
108
					return;
100
				} else {
109
				} else {
101
					final PropositionDetermination propositionAjoutee = collecterValeursSaisieProposition();
110
					final PropositionDetermination propositionAjoutee = collecterValeursSaisieProposition();
102
					propositionDeterminationService.ajouterProposition(propositionAjoutee, new PropositionDeterminationCallBack(ModeRequete.AJOUT) {
111
					propositionDeterminationService.ajouterProposition(propositionAjoutee, new PropositionDeterminationCallBack() {
103
						
112
 
104
						@Override
113
						@Override
105
						public void surRetour(String messageRetour) {
114
						public void surRetour(String messageRetour) {
106
							propositionAjoutee.setId(UtilitairesServiceResultat.convertirEtParserRetourAjoutCommentaire(messageRetour));
115
							propositionAjoutee.setId(UtilitairesServiceResultat.convertirEtParserRetourAjoutCommentaire(messageRetour));
107
							CacheClient.getInstance().getObservationCourante().ajouterPropositionDetermination(propositionAjoutee);
116
							CacheClient.getInstance().getObservationCourante().ajouterPropositionDetermination(propositionAjoutee);
108
							EvenementAjoutDetermination evenementAjoutDetermination = new EvenementAjoutDetermination(propositionAjoutee);
117
							EvenementAjoutDetermination evenementAjoutDetermination = new EvenementAjoutDetermination(propositionAjoutee);
109
							BusEvenementiel.getInstance().fireEvent(evenementAjoutDetermination);
118
							BusEvenementiel.getInstance().fireEvent(evenementAjoutDetermination);
110
						}
119
						}
111
						
-
 
112
						@Override
-
 
113
						public void surErreur(String messageErreur) {
-
 
114
							Window.alert(messageErreur);
-
 
115
						}
120
 
116
					});
121
					});
117
				}
122
				}
118
			}
123
			}
119
		});
124
		});
Line 124... Line 129...
124
		ValidateurChampTexteNonNul validateurNom = new ValidateurChampTexteNonNul(vue.getObjetNom()) {
129
		ValidateurChampTexteNonNul validateurNom = new ValidateurChampTexteNonNul(vue.getObjetNom()) {
125
			@Override
130
			@Override
126
			public void afficherStyleErreur(String styleErreur) {
131
			public void afficherStyleErreur(String styleErreur) {
127
				vue.afficherStyleErreurNom(styleErreur);
132
				vue.afficherStyleErreurNom(styleErreur);
128
			}
133
			}
129
			
134
 
130
			@Override
135
			@Override
131
			public void supprimerStyleErreur(String styleErreur) {
136
			public void supprimerStyleErreur(String styleErreur) {
132
				vue.supprimerStyleErreurNom(styleErreur);
137
				vue.supprimerStyleErreurNom(styleErreur);
133
			}
138
			}
134
		};
139
		};
135
		
140
 
136
		ValidateurChampTexteNonNul validateurPrenom = new ValidateurChampTexteNonNul(vue.getObjetPrenom()) {
141
		ValidateurChampTexteNonNul validateurPrenom = new ValidateurChampTexteNonNul(vue.getObjetPrenom()) {
137
			@Override
142
			@Override
138
			public void afficherStyleErreur(String styleErreur) {
143
			public void afficherStyleErreur(String styleErreur) {
139
				vue.afficherStyleErreurPrenom(styleErreur);
144
				vue.afficherStyleErreurPrenom(styleErreur);
140
			}
145
			}
141
			
146
 
142
			@Override
147
			@Override
143
			public void supprimerStyleErreur(String styleErreur) {
148
			public void supprimerStyleErreur(String styleErreur) {
144
				vue.supprimerStyleErreurPrenom(styleErreur);
149
				vue.supprimerStyleErreurPrenom(styleErreur);
145
			}
150
			}
146
		};
151
		};
147
		
152
 
148
		boolean nomSaisi = validateurNom.valider();
153
		boolean nomSaisi = validateurNom.valider();
149
		boolean prenomSaisi = validateurPrenom.valider();
154
		boolean prenomSaisi = validateurPrenom.valider();
Line 150... Line 155...
150
 
155
 
151
		return nomSaisi && prenomSaisi;
156
		return nomSaisi && prenomSaisi;
Line 152... Line 157...
152
	}
157
	}
153
 
158
 
154
	private PropositionDetermination collecterValeursSaisieProposition() {
159
	private PropositionDetermination collecterValeursSaisieProposition() {
155
		PropositionDetermination propositionAjoutee = new PropositionDetermination(CacheClient.getInstance().getObservationCourante());
160
		PropositionDetermination propositionAjoutee = new PropositionDetermination(CacheClient.getInstance().getObservationCourante());
156
		propositionAjoutee.setId(CacheClient.getInstance().getObservationCourante().getId());
161
		propositionAjoutee.setId(CacheClient.getInstance().getObservationCourante().getId());
157
		
162
 
158
		String idUtilisateur = null;
163
		String idUtilisateur = null;
159
		if(CacheClient.getInstance().getUtilisateur().estIdentifie()) {
164
		if (CacheClient.getInstance().getUtilisateur().estIdentifie()) {
Line 160... Line 165...
160
			idUtilisateur = CacheClient.getInstance().getUtilisateur().getId();
165
			idUtilisateur = CacheClient.getInstance().getUtilisateur().getId();
161
		}
166
		}
162
 
167
 
163
		Contributeur contributeur = new Contributeur(idUtilisateur, vue.getNom(), vue.getPrenom(), vue.getCourriel());
168
		Contributeur contributeur = new Contributeur(idUtilisateur, vue.getNom(), vue.getPrenom(), vue.getCourriel());
164
		propositionAjoutee.setContributeur(contributeur);
169
		propositionAjoutee.setContributeur(contributeur);
165
		propositionAjoutee.setDate(new Date());
170
		propositionAjoutee.setDate(new Date());
166
		propositionAjoutee.setEspece(autoCompletionNomTaxonsPresenteur.getValeur());
171
		propositionAjoutee.setEspece(autoCompletionNomTaxonsPresenteur.getValeur());
167
		
172
 
168
		if (vue.getCommentaires().getText() != "") {
173
		if (vue.getCommentaires().getText() != "") {