Subversion Repositories eFlore/Applications.del

Rev

Rev 128 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 128 Rev 140
1
package org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition;
1
package org.tela_botanica.del.client.vues.plateformedetermination.formulaireproposition;
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.Date;
4
import java.util.Date;
5
import java.util.Observable;
5
import java.util.Observable;
6
import java.util.Observer;
6
import java.util.Observer;
7
 
7
 
8
import org.tela_botanica.del.client.cache.CacheClient;
8
import org.tela_botanica.del.client.cache.CacheClient;
9
import org.tela_botanica.del.client.composants.validation.NumericFormValidator;
9
import org.tela_botanica.del.client.composants.validation.NumericFormValidator;
10
import org.tela_botanica.del.client.composants.validation.TextNotNullFormValidator;
10
import org.tela_botanica.del.client.composants.validation.TextNotNullFormValidator;
11
import org.tela_botanica.del.client.exceptions.ExceptionClient;
11
import org.tela_botanica.del.client.exceptions.ExceptionClient;
-
 
12
import org.tela_botanica.del.client.modeles.Commentaire;
12
import org.tela_botanica.del.client.modeles.ObservationValidation;
13
import org.tela_botanica.del.client.modeles.PropositionDetermination;
13
import org.tela_botanica.del.client.utils.GwtObservable;
14
import org.tela_botanica.del.client.utils.GwtObservable;
14
import org.tela_botanica.del.client.utils.GwtObserver;
15
import org.tela_botanica.del.client.utils.GwtObserver;
15
import org.tela_botanica.del.client.utils.MockDatasource;
16
import org.tela_botanica.del.client.utils.MockDatasource;
16
 
17
 
17
import com.google.gwt.core.client.GWT;
18
import com.google.gwt.core.client.GWT;
18
import com.google.gwt.event.dom.client.ClickEvent;
19
import com.google.gwt.event.dom.client.ClickEvent;
19
import com.google.gwt.event.dom.client.ClickHandler;
20
import com.google.gwt.event.dom.client.ClickHandler;
20
import com.google.gwt.i18n.client.DateTimeFormat;
21
import com.google.gwt.i18n.client.DateTimeFormat;
21
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
22
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
22
import com.google.gwt.user.client.ui.HTML;
23
import com.google.gwt.user.client.ui.HTML;
23
import com.google.gwt.user.client.ui.HasWidgets;
24
import com.google.gwt.user.client.ui.HasWidgets;
24
 
25
 
25
public class FormulairePropositionPresenteur implements GwtObserver {
-
 
26
 
-
 
27
	private ArrayList<String> propositionsTaxons;
26
public class FormulairePropositionPresenteur {
28
 
27
 
29
	private FormulairePropositionVue formulairePropositionVue = new FormulairePropositionVue();
28
	private FormulairePropositionVue formulairePropositionVue = new FormulairePropositionVue();
30
 
29
 
31
	public void go(HasWidgets composite) {
30
	public void go(HasWidgets composite) {
32
		
-
 
33
		CacheClient.getInstance().getCurrentObservation().addObserver(this);
-
 
34
 
-
 
35
		propositionsTaxons = CacheClient.getInstance().getCurrentObservation().getPropositionsTaxonsData();
-
 
36
		formulairePropositionVue.chargerPropositionsTaxons(propositionsTaxons);
31
 
37
		formulairePropositionVue.chargerPourcentagesConfiance(MockDatasource.getInstance().getPourcentagesConfiance());
-
 
38
		
32
		formulairePropositionVue.chargerPourcentagesConfiance(MockDatasource.getInstance().getPourcentagesConfiance());
39
		composite.add(formulairePropositionVue);
33
		composite.add(formulairePropositionVue);
40
		
34
		
41
		gererEvenements();
35
		gererEvenements();
42
	}
36
	}
43
 
37
 
44
	private void gererEvenements() {
38
	private void gererEvenements() {
45
		formulairePropositionVue.getBoutonValidationProposition().addClickHandler(new ClickHandler() {
39
		formulairePropositionVue.getBoutonValidationProposition().addClickHandler(new ClickHandler() {
46
 
40
 
47
			@Override
41
			@Override
48
			public void onClick(ClickEvent event) {
42
			public void onClick(ClickEvent event) {
49
				
43
				
50
				if(!validerSaisieProposition()) {
44
				if(!validerSaisieProposition()) {
51
					return;
45
					return;
52
				} else {
46
				} else {
53
					ObservationValidation propositionAjoutee = collecterValeursSaisieProposition();
47
					PropositionDetermination propositionAjoutee = collecterValeursSaisieProposition();
54
					CacheClient.getInstance().getCurrentObservation().addImageCelValidationData(propositionAjoutee);
48
					CacheClient.getInstance().getCurrentObservation().addImageCelValidationData(propositionAjoutee);
55
				}
49
				}
56
			}
50
			}
57
		});
51
		});
58
	}
52
	}
59
	
53
	
60
	private boolean validerSaisieProposition() {
54
	private boolean validerSaisieProposition() {
61
		
55
		
62
		TextNotNullFormValidator validateurNomPrenom = new TextNotNullFormValidator(formulairePropositionVue.getNomPrenom());
56
		TextNotNullFormValidator validateurTaxon = new TextNotNullFormValidator(formulairePropositionVue.getNomPrenom());
63
		boolean nomPreNomSaisi = validateurNomPrenom.validate();
57
		boolean taxonSaisi = validateurTaxon.validate();
64
		
58
		
65
		return nomPreNomSaisi;
59
		return taxonSaisi;
66
	}
60
	}
67
	
61
	
68
	private ObservationValidation collecterValeursSaisieProposition() {
-
 
69
		
-
 
70
		ObservationValidation propositionAjoutee = new ObservationValidation();
-
 
-
 
62
	private PropositionDetermination collecterValeursSaisieProposition() {
71
		propositionAjoutee.setId(CacheClient.getInstance().getCurrentObservation().getIdImage());
63
		
72
		propositionAjoutee.setCommentaire(formulairePropositionVue.getCommentaires().getText());
64
		PropositionDetermination propositionAjoutee = new PropositionDetermination();
73
		propositionAjoutee.setContributeur(formulairePropositionVue.getNomPrenom().getText());
-
 
74
		propositionAjoutee.setDate(new Date());
65
		propositionAjoutee.setId(CacheClient.getInstance().getCurrentObservation().getIdImage());
-
 
66
		
75
		
67
		String auteur = formulairePropositionVue.getNomPrenom().getText();
-
 
68
		if(formulairePropositionVue.getCommentaires().getText() != "") {
-
 
69
			String contenuCommentaire = formulairePropositionVue.getCommentaires().getText();
-
 
70
			Commentaire comm = new Commentaire(auteur, new Date(),contenuCommentaire);
-
 
71
			propositionAjoutee.ajouterCommentaire(comm);
76
		if (formulairePropositionVue.getAutreProposition().getValue() != "") {
72
		}
77
			propositionAjoutee.setEspece(formulairePropositionVue.getAutreProposition().getText());
73
		propositionAjoutee.setContributeur(auteur);
78
		} else {
74
		propositionAjoutee.setDate(new Date());
79
			propositionAjoutee.setEspece(formulairePropositionVue.getChoixProposition().getItemText(formulairePropositionVue.getChoixProposition().getSelectedIndex()));
75
		
80
		}
76
		propositionAjoutee.setEspece(formulairePropositionVue.getPropositionTaxon().getText());
81
		propositionAjoutee.setPourcentageConfiance(formulairePropositionVue.getPourcentageConfiance().getValue(formulairePropositionVue.getPourcentageConfiance().getSelectedIndex()));
77
		propositionAjoutee.setPourcentageConfiance(formulairePropositionVue.getPourcentageConfiance().getValue(formulairePropositionVue.getPourcentageConfiance().getSelectedIndex()));
82
	
78
	
83
		return propositionAjoutee;
79
		return propositionAjoutee;
84
	}
80
	}
85
 
-
 
86
	@Override
-
 
87
	public void update(GwtObservable observable, Object data) {
-
 
88
		propositionsTaxons = CacheClient.getInstance().getCurrentObservation().getPropositionsTaxonsData();
-
 
89
		formulairePropositionVue.chargerPropositionsTaxons(propositionsTaxons);	
-
 
90
	}
-
 
91
}
81
}