Subversion Repositories eFlore/Applications.del

Rev

Details | 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);
128 aurelien 37
		formulairePropositionVue.chargerPourcentagesConfiance(MockDatasource.getInstance().getPourcentagesConfiance());
38
 
46 aurelien 39
		composite.add(formulairePropositionVue);
95 aurelien 40
 
41
		gererEvenements();
46 aurelien 42
	}
85 benjamin 43
 
77 aurelien 44
	private void gererEvenements() {
45
		formulairePropositionVue.getBoutonValidationProposition().addClickHandler(new ClickHandler() {
46
 
47
			@Override
48
			public void onClick(ClickEvent event) {
105 aurelien 49
 
50
				if(!validerSaisieProposition()) {
51
					return;
77 aurelien 52
				} else {
105 aurelien 53
					ObservationValidation propositionAjoutee = collecterValeursSaisieProposition();
111 aurelien 54
					CacheClient.getInstance().getCurrentObservation().addImageCelValidationData(propositionAjoutee);
77 aurelien 55
				}
85 benjamin 56
			}
77 aurelien 57
		});
58
	}
105 aurelien 59
 
60
	private boolean validerSaisieProposition() {
61
 
62
		TextNotNullFormValidator validateurNomPrenom = new TextNotNullFormValidator(formulairePropositionVue.getNomPrenom());
63
		boolean nomPreNomSaisi = validateurNomPrenom.validate();
64
 
128 aurelien 65
		return nomPreNomSaisi;
105 aurelien 66
	}
67
 
68
	private ObservationValidation collecterValeursSaisieProposition() {
69
 
70
		ObservationValidation propositionAjoutee = new ObservationValidation();
71
		propositionAjoutee.setId(CacheClient.getInstance().getCurrentObservation().getIdImage());
72
		propositionAjoutee.setCommentaire(formulairePropositionVue.getCommentaires().getText());
73
		propositionAjoutee.setContributeur(formulairePropositionVue.getNomPrenom().getText());
74
		propositionAjoutee.setDate(new Date());
75
 
76
		if (formulairePropositionVue.getAutreProposition().getValue() != "") {
77
			propositionAjoutee.setEspece(formulairePropositionVue.getAutreProposition().getText());
78
		} else {
79
			propositionAjoutee.setEspece(formulairePropositionVue.getChoixProposition().getItemText(formulairePropositionVue.getChoixProposition().getSelectedIndex()));
80
		}
128 aurelien 81
		propositionAjoutee.setPourcentageConfiance(formulairePropositionVue.getPourcentageConfiance().getValue(formulairePropositionVue.getPourcentageConfiance().getSelectedIndex()));
105 aurelien 82
 
83
		return propositionAjoutee;
84
	}
85
 
86
	@Override
87
	public void update(GwtObservable observable, Object data) {
111 aurelien 88
		propositionsTaxons = CacheClient.getInstance().getCurrentObservation().getPropositionsTaxonsData();
105 aurelien 89
		formulairePropositionVue.chargerPropositionsTaxons(propositionsTaxons);
90
	}
46 aurelien 91
}