2,8 → 2,12 |
|
import java.util.ArrayList; |
import java.util.Date; |
import java.util.Observable; |
import java.util.Observer; |
|
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.validation.NumericFormValidator; |
import org.tela_botanica.del.client.composants.validation.TextNotNullFormValidator; |
import org.tela_botanica.del.client.exceptions.ExceptionClient; |
import org.tela_botanica.del.client.modeles.ObservationValidation; |
import org.tela_botanica.del.client.utils.GwtObservable; |
10,13 → 14,15 |
import org.tela_botanica.del.client.utils.GwtObserver; |
import org.tela_botanica.del.client.utils.MockDatasource; |
|
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat; |
import com.google.gwt.user.client.ui.HTML; |
import com.google.gwt.user.client.ui.HasWidgets; |
|
public class FormulairePropositionPresenteur { |
public class FormulairePropositionPresenteur implements GwtObserver { |
|
private final MockDatasource validationService = MockDatasource.getInstance(); |
private ArrayList<String> propositionsTaxons; |
24,9 → 30,10 |
private FormulairePropositionVue formulairePropositionVue = new FormulairePropositionVue(); |
|
public void go(HasWidgets composite) { |
|
validationService.addObserver(this); |
|
propositionsTaxons = validationService.getPropositionsTaxonsData(CacheClient.getInstance().getCurrentObservation().getIdImage()); |
|
formulairePropositionVue.chargerPropositionsTaxons(propositionsTaxons); |
composite.add(formulairePropositionVue); |
|
38,25 → 45,55 |
|
@Override |
public void onClick(ClickEvent event) { |
ObservationValidation propositionAjoutee = new ObservationValidation(); |
propositionAjoutee.setId(CacheClient.getInstance().getCurrentObservation().getIdImage()); |
propositionAjoutee.setCommentaire(formulairePropositionVue.getCommentaires().getText()); |
propositionAjoutee.setContributeur(formulairePropositionVue.getNomPrenom().getText()); |
propositionAjoutee.setDate(new Date()); |
if (formulairePropositionVue.getAutreProposition().getText() != "") { |
propositionAjoutee.setEspece(formulairePropositionVue.getAutreProposition().getText()); |
|
if(!validerSaisieProposition()) { |
return; |
} else { |
propositionAjoutee.setEspece(formulairePropositionVue.getChoixProposition().getItemText(formulairePropositionVue.getChoixProposition().getSelectedIndex())); |
ObservationValidation propositionAjoutee = collecterValeursSaisieProposition(); |
|
try { |
validationService.saveValidationData(propositionAjoutee); |
} catch (ExceptionClient e) { |
// TODO Auto-generated catch block |
e.printStackTrace(); |
} |
} |
propositionAjoutee.setPourcentageConfiance(Integer.parseInt(formulairePropositionVue.getPourcentageConfiance().getText())); |
|
try { |
validationService.saveValidationData(propositionAjoutee); |
} catch (ExceptionClient e) { |
// TODO Auto-generated catch block |
e.printStackTrace(); |
} |
} |
}); |
} |
|
private boolean validerSaisieProposition() { |
|
TextNotNullFormValidator validateurNomPrenom = new TextNotNullFormValidator(formulairePropositionVue.getNomPrenom()); |
boolean nomPreNomSaisi = validateurNomPrenom.validate(); |
|
NumericFormValidator validateurPctConfiance = new NumericFormValidator(formulairePropositionVue.getPourcentageConfiance()); |
boolean pourcentageConfianceSaisi = validateurPctConfiance.validate(); |
|
return nomPreNomSaisi && pourcentageConfianceSaisi; |
} |
|
private ObservationValidation collecterValeursSaisieProposition() { |
|
ObservationValidation propositionAjoutee = new ObservationValidation(); |
propositionAjoutee.setId(CacheClient.getInstance().getCurrentObservation().getIdImage()); |
propositionAjoutee.setCommentaire(formulairePropositionVue.getCommentaires().getText()); |
propositionAjoutee.setContributeur(formulairePropositionVue.getNomPrenom().getText()); |
propositionAjoutee.setDate(new Date()); |
|
if (formulairePropositionVue.getAutreProposition().getValue() != "") { |
propositionAjoutee.setEspece(formulairePropositionVue.getAutreProposition().getText()); |
} else { |
propositionAjoutee.setEspece(formulairePropositionVue.getChoixProposition().getItemText(formulairePropositionVue.getChoixProposition().getSelectedIndex())); |
} |
propositionAjoutee.setPourcentageConfiance(Integer.parseInt(formulairePropositionVue.getPourcentageConfiance().getText())); |
|
return propositionAjoutee; |
} |
|
@Override |
public void update(GwtObservable observable, Object data) { |
propositionsTaxons = validationService.getPropositionsTaxonsData(CacheClient.getInstance().getCurrentObservation().getIdImage()); |
formulairePropositionVue.chargerPropositionsTaxons(propositionsTaxons); |
} |
} |