Subversion Repositories eFlore/Applications.del

Rev

Rev 105 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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