Subversion Repositories eFlore/Applications.del

Rev

Rev 95 | 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
 
27
	private final MockDatasource validationService = MockDatasource.getInstance();
46 aurelien 28
	private ArrayList<String> propositionsTaxons;
85 benjamin 29
 
46 aurelien 30
	private FormulairePropositionVue formulairePropositionVue = new FormulairePropositionVue();
85 benjamin 31
 
46 aurelien 32
	public void go(HasWidgets composite) {
105 aurelien 33
 
34
		validationService.addObserver(this);
85 benjamin 35
 
36
		propositionsTaxons = validationService.getPropositionsTaxonsData(CacheClient.getInstance().getCurrentObservation().getIdImage());
46 aurelien 37
		formulairePropositionVue.chargerPropositionsTaxons(propositionsTaxons);
38
		composite.add(formulairePropositionVue);
95 aurelien 39
 
40
		gererEvenements();
46 aurelien 41
	}
85 benjamin 42
 
77 aurelien 43
	private void gererEvenements() {
44
		formulairePropositionVue.getBoutonValidationProposition().addClickHandler(new ClickHandler() {
45
 
46
			@Override
47
			public void onClick(ClickEvent event) {
105 aurelien 48
 
49
				if(!validerSaisieProposition()) {
50
					return;
77 aurelien 51
				} else {
105 aurelien 52
					ObservationValidation propositionAjoutee = collecterValeursSaisieProposition();
53
 
54
					try {
55
						validationService.saveValidationData(propositionAjoutee);
56
					} catch (ExceptionClient e) {
57
						// TODO Auto-generated catch block
58
						e.printStackTrace();
59
					}
77 aurelien 60
				}
85 benjamin 61
			}
77 aurelien 62
		});
63
	}
105 aurelien 64
 
65
	private boolean validerSaisieProposition() {
66
 
67
		TextNotNullFormValidator validateurNomPrenom = new TextNotNullFormValidator(formulairePropositionVue.getNomPrenom());
68
		boolean nomPreNomSaisi = validateurNomPrenom.validate();
69
 
70
		NumericFormValidator validateurPctConfiance = new NumericFormValidator(formulairePropositionVue.getPourcentageConfiance());
71
		boolean pourcentageConfianceSaisi = validateurPctConfiance.validate();
72
 
73
		return nomPreNomSaisi && pourcentageConfianceSaisi;
74
	}
75
 
76
	private ObservationValidation collecterValeursSaisieProposition() {
77
 
78
		ObservationValidation propositionAjoutee = new ObservationValidation();
79
		propositionAjoutee.setId(CacheClient.getInstance().getCurrentObservation().getIdImage());
80
		propositionAjoutee.setCommentaire(formulairePropositionVue.getCommentaires().getText());
81
		propositionAjoutee.setContributeur(formulairePropositionVue.getNomPrenom().getText());
82
		propositionAjoutee.setDate(new Date());
83
 
84
		if (formulairePropositionVue.getAutreProposition().getValue() != "") {
85
			propositionAjoutee.setEspece(formulairePropositionVue.getAutreProposition().getText());
86
		} else {
87
			propositionAjoutee.setEspece(formulairePropositionVue.getChoixProposition().getItemText(formulairePropositionVue.getChoixProposition().getSelectedIndex()));
88
		}
89
		propositionAjoutee.setPourcentageConfiance(Integer.parseInt(formulairePropositionVue.getPourcentageConfiance().getText()));
90
 
91
		return propositionAjoutee;
92
	}
93
 
94
	@Override
95
	public void update(GwtObservable observable, Object data) {
96
		propositionsTaxons = validationService.getPropositionsTaxonsData(CacheClient.getInstance().getCurrentObservation().getIdImage());
97
		formulairePropositionVue.chargerPropositionsTaxons(propositionsTaxons);
98
	}
46 aurelien 99
}