Subversion Repositories eFlore/Applications.del

Rev

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

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