Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1454 → Rev 1488

/trunk/src/org/tela_botanica/client/observation/ObservationMediateur.java
387,13 → 387,9
// ACTIONS a entreprendre lors d'un evenement particulier
/**
* Lors du raffraichissement de la liste d'observation
*/
public void onRafraichissementListeObservations() {
carnetEnLigneMediateur.donneesObsVersImages(listeObservation.getCacheListeObservation());
443,12 → 439,14
if(details.isVisible()) {
// Affichage de la carte de repartition correspondante
String numeroNomenclaturalSaisiObservation = obs.getNumeroNomenclaturalRetenu() ;
observationModele.obtenirImageInformationRepartition(informationRepartitionVue,numeroNomenclaturalSaisiObservation) ;
liExtVue.rafraichir(numeroNomenclaturalSaisiObservation, false);
observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ;
observationModele.obtenirLiaisonImage(mvz, obs.getId()) ;
if(numeroNomenclaturalSaisiObservation != null && !numeroNomenclaturalSaisiObservation.isEmpty()) {
observationModele.obtenirImageInformationRepartition(informationRepartitionVue,numeroNomenclaturalSaisiObservation) ;
liExtVue.rafraichir(numeroNomenclaturalSaisiObservation, false);
observationModele.obtenirImageGenerique(imageGeneriqueVue,numeroNomenclaturalSaisiObservation) ;
observationModele.obtenirLiaisonImage(mvz, obs.getId()) ;
 
}
}
filtres.getArbreMotsClesObservationVue().rafraichir(obs.getMotsCles(), false);
}
583,9 → 581,6
}
// D du CRUD
/**
* TODO : afficher un message du type "observation modifie".
* Lance la modification d'une observation
/trunk/src/org/tela_botanica/client/observation/ObservationModele.java
181,7 → 181,6
* @param r
* @param critere
*/
public void obtenirListeReferentielPerso(Rafraichissable r, TypesReferentiels referentiel, String critere) {
if (refPersoDAO==null) {
197,8 → 196,7
* Obtenir une liste de nom scientifique de plante
* @param r
* @param critere
*/
*/
public void obtenirListeReferentielNom(Rafraichissable r, String critere) {
if (nomDAO==null) {
/trunk/src/org/tela_botanica/client/vues/observation/ListeObservationVue.java
88,6 → 88,11
*/
private ColumnConfig ordreObservation;
/**
* Config de colonne
*/
private ColumnConfig abondanceObservation;
/**
* Modele de colonnes
*/
private ColumnModel modeleColonnes;
158,7 → 163,7
bt = new BarrePaginationVue(this);
bt.setLabelElement("Observations");
bt.setTaillePageParDefaut(20);
bt.setIntervallesPages(new String[] {"400","200", "100" , "50" , "20", "10"}) ;
bt.setIntervallesPages(new String[] {"1000","400","200","100","50","20","10"}) ;
Toolbar barreActions = new Toolbar();
ToolbarButton publier = new ToolbarButton("Rendre publiques");
280,13 → 285,14
nomSaisiObservation = new ColumnConfig("Nom saisi", "nomSaisi_observation", 200, true, colRend);
nomRetenuObservation = new ColumnConfig("Nom retenu", "nomRetenu_observation", 200, true, colRend);
lieuObservation = new ColumnConfig("Lieu", "lieu_observation", 200, true, colRend);
dateObservation = new ColumnConfig("Date", "date_observation", 120, true, dateRend);
dateObservation = new ColumnConfig("Date", "date_observation", 70, true, dateRend);
abondanceObservation = new ColumnConfig("Abondance", "abondance", 50, true, colRend);
ordreObservation = new ColumnConfig("Ordre", "ordre_observation", 50, true, colRend);
// on associe le modèle de colonnes
ColumnConfig[] cm = {etatObservation, nomSaisiObservation, nomRetenuObservation, lieuObservation, dateObservation, ordreObservation};
ColumnConfig[] cm = {etatObservation, nomSaisiObservation, nomRetenuObservation, abondanceObservation, lieuObservation, dateObservation, ordreObservation};
modeleColonnes = new ColumnModel(cm);
300,6 → 306,7
FieldDef defEtatObservation = new StringFieldDef("etat_observation");
FieldDef defNomSaisiObservation = new StringFieldDef("nomSaisi_observation");
FieldDef defNomRetenuObservation = new StringFieldDef("nomRetenu_observation");
FieldDef defAbondanceObservation = new IntegerFieldDef("abondance");
FieldDef defLieuObservation = new StringFieldDef("lieu_observation");
FieldDef defDateObservation = new StringFieldDef("date_observation");
FieldDef defOrdreObservation = new IntegerFieldDef("ordre_observation");
306,7 → 313,7
FieldDef[] defTab = { defEtatObservation, defNomSaisiObservation, defNomRetenuObservation,
defLieuObservation, defDateObservation, defOrdreObservation };
defAbondanceObservation, defLieuObservation, defDateObservation, defOrdreObservation };
RecordDef rd = new RecordDef(defTab);
st = new Store(rd);
581,7 → 588,7
{
ListeObservation data = (ListeObservation) nouvelleDonnees ;
Object[][] observationData = new Object[data.size()][7];
Object[][] observationData = new Object[data.size()][8];
int i = 0 ;
if(data.size() == 0)
598,11 → 605,11
observationData[i][0] = obs.getTransmis();
observationData[i][1] = obs.getNomSaisi();
observationData[i][2] = obs.getNomRetenu();
 
observationData[i][3] = Util.formaterLieu(obs, modeleLieu);
observationData[i][4] = obs.getDate();
observationData[i][5] = obs.getNumeroOrdre();
observationData[i][6] = obs.getNumeroNomenclaturalSaisi();
observationData[i][3] = obs.getAbondance();
observationData[i][4] = Util.formaterLieu(obs, modeleLieu);
observationData[i][5] = obs.getDate();
observationData[i][6] = obs.getNumeroOrdre();
observationData[i][7] = obs.getNumeroNomenclaturalSaisi();
i++ ;
}
611,6 → 618,7
FieldDef defEtatObservation = new StringFieldDef("etat_observation");
FieldDef defNomSaisiObservation = new StringFieldDef("nomSaisi_observation");
FieldDef defNomRetenuObservation = new StringFieldDef("nomRetenu_observation");
FieldDef defAbondanceObservation = new StringFieldDef("abondance");
FieldDef defLieuObservation = new StringFieldDef("lieu_observation");
FieldDef defDateObservation = new StringFieldDef("date_observation");
FieldDef defOrdreObservation = new IntegerFieldDef("ordre_observation");
621,7 → 629,7
// on associe le store
 
FieldDef[] defTab = { defEtatObservation, defNomSaisiObservation, defNomRetenuObservation,
FieldDef[] defTab = { defEtatObservation, defNomSaisiObservation, defNomRetenuObservation, defAbondanceObservation,
defLieuObservation, defDateObservation, defOrdreObservation, defNumeroNomenclaturalSaisiObservation };
RecordDef rd = new RecordDef(defTab);
935,6 → 943,7
FieldDef defEtatObservation = new StringFieldDef("etat_observation");
FieldDef defNomSaisiObservation = new StringFieldDef("nomSaisi_observation");
FieldDef defNomRetenuObservation = new StringFieldDef("nomRetenu_observation");
FieldDef defAbondanceObservation = new IntegerFieldDef("abondance");
FieldDef defLieuObservation = new StringFieldDef("lieu_observation");
FieldDef defDateObservation = new StringFieldDef("date_observation");
FieldDef defOrdreObservation = new IntegerFieldDef("ordre_observation");
943,7 → 952,7
FieldDef defNumeroNomenclaturalSaisiObservation = new StringFieldDef("numeroNomenclaturalSaisi_observation");
FieldDef[] defTab = { defEtatObservation, defNomSaisiObservation, defNomRetenuObservation,
defLieuObservation, defDateObservation, defOrdreObservation };
defAbondanceObservation, defLieuObservation, defDateObservation, defOrdreObservation };
RecordDef rd = new RecordDef(defTab);
st = new Store(rd);
/trunk/src/org/tela_botanica/client/vues/observation/FormulaireSaisieObservationVue.java
3,6 → 3,7
// TODO Detecter redim et supprimer ajuster
 
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
 
import org.tela_botanica.client.CarnetEnLigneMediateur;
20,6 → 21,8
import org.tela_botanica.client.util.AutoCompletionRefComboBox;
import org.tela_botanica.client.util.Util;
 
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyEvent;
import com.google.gwt.maps.client.geom.LatLng;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
97,7 → 100,7
// Pour remise a zero partielle lors d'une validation
private enum Champs {
DATE, LIEUDIT, STATION, MILIEU, COMMENT, COMMUNE, ESPECE, TOUT, LATITUDE, LONGITUDE ;
DATE, LIEUDIT, STATION, MILIEU, COMMENT, COMMUNE, ESPECE, TOUT, LATITUDE, LONGITUDE, ABONDANCE, CERTITUDE;
@Override
public String toString() {
129,9 → 132,15
case LONGITUDE:
return "longitude";
case ABONDANCE:
return "abondance";
case CERTITUDE:
return "certitude";
case TOUT:
return "date, commune, lieu dit, station, milieu, espèce, commentaire, latitude, longitude";
return "date, commune, lieu dit, station, milieu, espèce, commentaire, latitude, longitude, abondance, certitude";
}
return TOUT.toString();
}
143,12 → 152,14
 
private boolean selectionCommune=false;
private boolean selectionEspece=false;
private boolean selectionAbondance = false;
private boolean selectionCertitude = false;
private boolean modification = false ;
private Toolbar bt = null ;
private final String VALEURS_MULTIPLES = "(Valeurs multiples)";
private final String modeleMessageModif = "commune:lieu-dit:station:milieu:latitude:longitude:date:espece:commentaire";
private final String modeleMessageModif = "commune:lieu-dit:station:milieu:latitude:longitude:date:espece:commentaire:abondance:certitude";
private boolean communeModifiee = false;
private boolean lieuDitModifie = false;
private boolean stationModifiee = false;
156,8 → 167,9
private boolean dateModifiee = false;
private boolean especeModifiee = false;
private boolean commModifie = false;
private boolean abondanceModifiee = false;
private boolean certitudeModifiee = false;
private final int KEY_ALT = 18;
private final int KEY_BACKSPACE = 8;
private final int KEY_CTRL = 17;
223,8 → 235,12
 
private Timer tCoord;
final String resultTplRefPerso = "<div class=\"search-item-commune\">{element_referentiel}</div>";
final String resultTplRefPerso = "<div class=\"search-item-commune\">{element_referentiel}</div>";
private ComboBox selecteurAbondance = null;
private ComboBox selecteurCertitude = null;
/**
* Constructeur sans argument (privé car ne doit pas être utilisé)
*/
458,6 → 474,26
 
panneauPremierColonne.add(espece, new AnchorLayoutData("95%"));
selecteurAbondance = new ComboBox();
selecteurAbondance.setLabel("Abondance");
selecteurAbondance.setStore(getValeursAbondance());
selecteurAbondance.setDisplayField("label") ;
selecteurAbondance.setValueField("valeur");
selecteurAbondance.setEditable(true);
selecteurAbondance.setHideTrigger(false);
selecteurAbondance.setForceSelection(false);
panneauPremierColonne.add(selecteurAbondance, new AnchorLayoutData("50%"));
selecteurCertitude = new ComboBox();
selecteurCertitude.setLabel("Certitude");
selecteurCertitude.setStore(getValeursCertitude());
selecteurCertitude.setDisplayField("label") ;
selecteurCertitude.setValueField("valeur");
selecteurCertitude.setEditable(true);
selecteurCertitude.setHideTrigger(false);
selecteurCertitude.setForceSelection(false);
panneauPremierColonne.add(selecteurCertitude, new AnchorLayoutData("50%"));
lieudit = new AutoCompletionRefComboBox("Lieu-dit", "lieudit",observationMediateur,TypesReferentiels.REFERENTIEL_LIEU_DIT) {
 
@Override
571,14 → 607,35
}});
// on ajoute les listeners
ajouterListeners() ;
saisieTabindex();
}
private Store getValeursAbondance() {
Object[][] valeurs = {{"i : un seul individu","i"},
{"r : rare (quelques pieds)","r"},
{"+ : recouvrement R < 1%","+"},
{"1 : 1% < R < 5%","1"},
{"2 : 5% < R < 25%","2"},
{"3 : 25% < R < 50%","3"},
{"4 : 50% < R < 75%","4"},
{"5 : recouvrement R > 75%","5"}
};
SimpleStore storeAbondance = new SimpleStore(new String[] {"label","valeur"},valeurs);
storeAbondance.load();
return storeAbondance;
}
private Store getValeursCertitude() {
Object[][] valeurs = {{"Certain","certain"},
{"Douteux","douteux"},
{"A déterminer","aDeterminer"}
};
SimpleStore storeCertitude = new SimpleStore(new String[] {"label","valeur"},valeurs);
storeCertitude.load();
return storeCertitude;
}
private void ajouterListeners()
{
// Listener completion communne
883,7 → 940,101
}
}
});
selecteurAbondance.addListener(new ComboBoxListenerAdapter() {
 
@Override
public void onSelect(ComboBox comboBox, Record record, int index) {
selectionAbondance=true;
abondanceModifiee = true;
}
});
selecteurAbondance.addKeyPressListener(new EventCallback() {
 
@Override
public void execute(EventObject e) {
switch(e.getKey()) {
case KEY_ALT:
case KEY_CTRL:
case KEY_DOWN:
case KEY_END:
case KEY_ESCAPE:
case KEY_HOME:
case KEY_LEFT:
case KEY_PAGEDOWN:
case KEY_PAGEUP:
case KEY_RIGHT:
case KEY_SHIFT:
case KEY_TAB:
case KEY_UP:
break;
case KEY_ENTER:
if(!selectionAbondance) {
validerSaisie(Champs.ABONDANCE);
} else {
selectionAbondance = false;
}
break;
 
default:
selecteurAbondance.setRawValue(selecteurAbondance.getRawValue());
selecteurAbondance.setValue(selecteurAbondance.getRawValue());
abondanceModifiee = true;
selectionAbondance = false;
break;
}
}
});
selecteurCertitude.addListener(new ComboBoxListenerAdapter() {
 
@Override
public void onSelect(ComboBox comboBox, Record record, int index) {
selectionCertitude=true;
certitudeModifiee = true;
}
});
selecteurCertitude.addKeyPressListener(new EventCallback() {
 
@Override
public void execute(EventObject e) {
switch(e.getKey()) {
case KEY_ALT:
case KEY_CTRL:
case KEY_DOWN:
case KEY_END:
case KEY_ESCAPE:
case KEY_HOME:
case KEY_LEFT:
case KEY_PAGEDOWN:
case KEY_PAGEUP:
case KEY_RIGHT:
case KEY_SHIFT:
case KEY_TAB:
case KEY_UP:
break;
case KEY_ENTER:
if(!selectionCertitude) {
validerSaisie(Champs.CERTITUDE);
} else {
selectionCertitude = false;
}
break;
 
default:
selecteurCertitude.setRawValue(selecteurCertitude.getRawValue());
selecteurCertitude.setValue(selecteurCertitude.getRawValue());
certitudeModifiee = true;
selectionCertitude = false;
break;
}
}
});
 
boutonOK.addListener(new ButtonListenerAdapter() {
@Override
1256,6 → 1407,9
obs.setLatitude(coords[0]);
obs.setLongitude(coords[1]);
obs.setAbondance(getAbondance());
obs.setCertitude(getCertitude());
observationMediateur.ajouterObservation(obs);
}
1300,6 → 1454,9
obs.setLatitude(coords[0]);
obs.setLongitude(coords[1]);
obs.setAbondance(getAbondance());
obs.setCertitude(getCertitude());
observationMediateur.modifierObservation(obs);
 
selecteurMode.setValue("création");
1319,6 → 1476,8
String commM = null;
String latM = null;
String longM = null;
String abondanceM = null;
String certitudeM = null;
String champs = modeleMessageModif;
1403,6 → 1562,18
champs = champs.replaceAll(":longitude", "");
}
if(abondanceModifiee && !selecteurAbondance.getRawValue().equals(VALEURS_MULTIPLES)) {
abondanceM = getAbondance();
} else {
champs = champs.replaceAll(":abondance", "");
}
if(certitudeModifiee && !selecteurCertitude.getRawValue().equals(VALEURS_MULTIPLES)) {
certitudeM = getCertitude();
} else {
champs = champs.replaceAll(":certitude", "");
}
champs = champs.replaceAll(":",", ");
if(champs.startsWith(",")) {
champs = champs.replaceFirst(",", "");
1417,6 → 1588,8
obs.setNumeroOrdre(numeroOrdre);
obs.setLatitude(latM);
obs.setLongitude(longM);
obs.setAbondance(abondanceM);
obs.setCertitude(certitudeM);
if(Window.confirm(message)) {
observationMediateur.modifierObservationEnMasse(obs);
reinitialiserValeurModifiees();
1507,6 → 1680,12
latitude.setValue(obs.getLatitude()) ;
longitude.setValue(obs.getLongitude()) ;
}
selecteurAbondance.getStore().load();
selecteurAbondance.setValue(obs.getAbondance());
selecteurCertitude.getStore().load();
selecteurCertitude.setValue(obs.getCertitude());
}
1564,6 → 1743,14
afficherIndicationCommune(null);
break;
case ABONDANCE:
selecteurAbondance.setValue("");
break;
case CERTITUDE:
selecteurCertitude.setValue("");
break;
case TOUT:
commune.reset();
date.reset() ;
1576,6 → 1763,8
longitude.reset();
departement ="";
espece.reset();
selecteurAbondance.clearValue();
selecteurCertitude.clearValue();
numeroNom = "" ;
numeroOrdre = "";
afficherIndicationCommune(null);
1657,6 → 1846,8
String notes = null;
String lat = null;
String lon = null;
String abondance = null;
String certitude = null;
String ordreObs = "";
1672,6 → 1863,8
notes = comparerDifferencesChamps(notes, obsEnCours.getCommentaire());
lat = comparerDifferencesChamps(lat, obsEnCours.getLatitude());
lon = comparerDifferencesChamps(lon, obsEnCours.getLongitude());
abondance = comparerDifferencesChamps(abondance, obsEnCours.getAbondance());
certitude = comparerDifferencesChamps(certitude, obsEnCours.getCertitude());
ordreObs += obsEnCours.getNumeroOrdre()+",";
}
1680,8 → 1873,9
obs.setNumeroOrdre(ordreObs);
obs.setLatitude(lat);
obs.setLongitude(lon);
rafraichir(obs, false);
obs.setAbondance(abondance);
obs.setCertitude(certitude);
rafraichir(obs, false);
}
private String comparerDifferencesChamps(String valeurActuelle, String nouvelleValeur) {
1700,8 → 1894,7
return retour;
}
private void reinitialiserValeurModifiees() {
private void reinitialiserValeurModifiees() {
communeModifiee = false;
lieuDitModifie = false;
stationModifiee = false;
1711,6 → 1904,8
commModifie = false;
latModifiee = false;
longModifiee = false;
abondanceModifiee = false;
certitudeModifiee = false;
}
public void saisieTabindex()
1739,8 → 1934,10
comment.setTabIndex(10);
date.setTabIndex(11);
espece.setTabIndex(12);
boutonOK.setTabIndex(13);
boutonAnnuler.setTabIndex(14);
selecteurAbondance.setTabIndex(13);
selecteurCertitude.setTabIndex(14);
boutonOK.setTabIndex(15);
boutonAnnuler.setTabIndex(16);
}
1847,6 → 2044,36
public String getCommuneSansDepartement() {
return Util.supprimerNumDepartementChaineLocalite(getCommune());
}
//TODO fusionner les deux fonctions et les objets qu'elles utilisent
// car leur code est à 99% identique
public String getAbondance() {
String valeurAbondance = selecteurAbondance.getValue();
String valeurAbondanceBrute = selecteurAbondance.getRawValue();
// Test idiot qui permet de savoir si l'on utilise la valeur saisie directement ou bien la valeur
// selectionnee car lors du setValue sur le keypress, gwtext ne prends pas en compte le dernier
// caractère
if(valeurAbondance.equals(valeurAbondanceBrute.substring(0, valeurAbondanceBrute.length() -1))) {
valeurAbondance = selecteurAbondance.getRawValue();
}
return valeurAbondance;
}
public String getCertitude() {
String valeurCertitude = selecteurCertitude.getValue();
String valeurCertitudeBrute = selecteurCertitude.getRawValue();
// Test idiot qui permet de savoir si l'on utilise la valeur saisie directement ou bien la valeur
// selectionnee car lors du setValue sur le keypress, gwtext ne prends pas en compte le dernier
// caractère
if(valeurCertitude.equals(valeurCertitudeBrute.substring(0, valeurCertitudeBrute.length() -1))) {
valeurCertitude = selecteurCertitude.getRawValue();
}
return valeurCertitude;
}
 
public boolean communeInitialisee() {
return communeModifiee;
/trunk/src/org/tela_botanica/client/vues/EtatConnexionVue.java
57,7 → 57,7
private String labelEtatConnexion = null;
private String liens = "<div id=\"liensExt\"><a href=\"#\" id=\"lienAide\">Aide</a> <a href=\"#\" id=\"lienBugs\">Bugs</a> <a href=\"mailto:"+Configuration.getEmailContact()+"\" id=\"nousContacter\"> Nous contacter</a></div>" ;
private String liens = "<div id=\"liensExt\"><a href=\"#\" id=\"lienAide\">Aide</a></div>" ;
/**
* Booleen indiquant si utilisateur connecte
121,43 → 121,6
}
});
}
ExtElement lienBugs = Ext.get("lienBugs");
if(lienBugs != null)
{
lienBugs.removeAllListeners();
lienBugs.addListener("click", new EventCallback() {
@Override
public void execute(EventObject e) {
String bugsURL = Configuration.getSuiviBugUrl() ;
Window.open(bugsURL, "", "") ;
}
});
}
else
{
addListener(new ContainerListenerAdapter() {
@Override
public void onAfterLayout(Container c) {
ExtElement lienBugs = Ext.get("lienBugs");
if(lienBugs != null)
{
lienBugs.removeAllListeners();
lienBugs.addListener("click", new EventCallback() {
@Override
public void execute(EventObject e) {
String bugsURL = Configuration.getSuiviBugUrl() ;
Window.open(bugsURL, "", "") ;
}
});
}
}
});
}
}
 
250,43 → 213,7
});
}
}
ExtElement lienBugs = Ext.get("lienBugs");
if(lienBugs != null)
{
lienBugs.removeAllListeners();
lienBugs.addListener("click", new EventCallback() {
 
@Override
public void execute(EventObject e) {
String bugsURL = Configuration.getSuiviBugUrl() ;
Window.open(bugsURL, "", "") ;
}
});
}
else
{
addListener(new ContainerListenerAdapter() {
@Override
public void onAfterLayout(Container c) {
ExtElement lienBugs = Ext.get("lienBugs");
if(lienBugs != null)
{
lienBugs.removeAllListeners();
lienBugs.addListener("click", new EventCallback() {
@Override
public void execute(EventObject e) {
String bugsURL = Configuration.getSuiviBugUrl() ;
Window.open(bugsURL, "", "") ;
}
});
}
}
});
}
ExtElement lienAide = Ext.get("lienAide");
if(lienAide != null)
{
/trunk/src/org/tela_botanica/client/modeles/dao/ObservationAsynchroneDAO.java
63,7 → 63,9
+"&milieu="+URL.encodeComponent(obs.getMilieu())
+"&commentaire="+obs.getCommentaire()
+"&latitude="+URL.encodeComponent(""+obs.getLatitude())
+"&longitude="+URL.encodeComponent(""+obs.getLongitude());;
+"&longitude="+URL.encodeComponent(""+obs.getLongitude())
+"&abondance="+URL.encodeComponent(""+obs.getAbondance())
+"&certitude="+URL.encodeComponent(""+obs.getCertitude());
try {
rb.sendRequest(postData, new RequestCallback() {
111,8 → 113,9
+"&milieu="+ URL.encodeComponent(obs.getMilieu())
+"&commentaire="+obs.getCommentaire()
+"&latitude="+URL.encodeComponent(""+obs.getLatitude())
+"&longitude="+URL.encodeComponent(""+obs.getLongitude());
+"&longitude="+URL.encodeComponent(""+obs.getLongitude())
+"&abondance="+URL.encodeComponent(""+obs.getAbondance())
+"&certitude="+URL.encodeComponent(""+obs.getCertitude());
try {
rb.sendRequest(postData, new RequestCallback() {
/trunk/src/org/tela_botanica/client/modeles/dao/ListeObservationAsynchroneDAO.java
84,8 → 84,7
 
@Override
public void onError(final Request request, final Throwable exception) {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
}
 
@Override
113,8 → 112,7
observationData.put(obs.getNumeroOrdre(),obs);
}
}
} else {
} else {
observationData = new ListeObservation(0) ;
}
135,78 → 133,80
public void modifierEnMasse(final Rafraichissable r, String identifiant,
final Observation obs) {
 
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,Configuration.getServiceBaseUrl()+ "/InventoryObservationList/" + identifiant + "/" + obs.getNumeroOrdre()+ "/") ;
String postData = "ce_utilisateur="
+ identifiant ;
if(obs.getNomSaisi() != null) {
postData += "&nom_sel=" + URL.encodeComponent(obs.getNomSaisi());
}
if(obs.getNumeroNomenclaturalSaisi() != null) {
postData += "&nom_sel_nn=" + obs.getNumeroNomenclaturalSaisi();
}
if(obs.getIdentifiantLocalite() != null) {
postData += "&ce_zone_geo=" + obs.getIdentifiantLocalite();
}
if(obs.getLocalite() != null) {
postData += "&zone_geo=" + URL.encodeComponent(obs.getLocalite());
}
if(obs.getDate() != null) {
postData += "&date_observation=" + obs.getDate();
}
if(obs.getLieudit() != null) {
postData += "&lieudit="+ URL.encodeComponent(obs.getLieudit());
}
if(obs.getStation() != null) {
postData += "&station="+ URL.encodeComponent(obs.getStation());
}
if(obs.getMilieu() != null) {
postData += "&milieu="+ URL.encodeComponent(obs.getMilieu());
}
if(obs.getCommentaire() != null) {
postData += "&commentaire="+obs.getCommentaire();
}
if(obs.getLatitude() != null ) {
postData += "&latitude="+URL.encodeComponent(""+obs.getLatitude());
}
if(obs.getLongitude() != null) {
postData += "&longitude="+URL.encodeComponent(""+obs.getLongitude());
}
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,Configuration.getServiceBaseUrl()+ "/InventoryObservationList/" + identifiant + "/" + obs.getNumeroOrdre()+ "/") ;
String postData = "ce_utilisateur="
+ identifiant ;
if(obs.getNomSaisi() != null) {
postData += "&nom_sel=" + URL.encodeComponent(obs.getNomSaisi());
}
if(obs.getNumeroNomenclaturalSaisi() != null) {
postData += "&nom_sel_nn=" + obs.getNumeroNomenclaturalSaisi();
}
if(obs.getIdentifiantLocalite() != null) {
postData += "&ce_zone_geo=" + obs.getIdentifiantLocalite();
}
if(obs.getLocalite() != null) {
postData += "&zone_geo=" + URL.encodeComponent(obs.getLocalite());
}
if(obs.getDate() != null) {
postData += "&date_observation=" + obs.getDate();
}
if(obs.getLieudit() != null) {
postData += "&lieudit="+ URL.encodeComponent(obs.getLieudit());
}
if(obs.getStation() != null) {
postData += "&station="+ URL.encodeComponent(obs.getStation());
}
if(obs.getMilieu() != null) {
postData += "&milieu="+ URL.encodeComponent(obs.getMilieu());
}
if(obs.getCommentaire() != null) {
postData += "&commentaire="+obs.getCommentaire();
}
if(obs.getLatitude() != null ) {
postData += "&latitude="+URL.encodeComponent(""+obs.getLatitude());
}
if(obs.getLongitude() != null) {
postData += "&longitude="+URL.encodeComponent(""+obs.getLongitude());
}
if(obs.getAbondance() != null) {
postData += "&abondance="+URL.encodeComponent(""+obs.getAbondance());
}
if(obs.getCertitude() != null) {
postData += "&certitude="+URL.encodeComponent(""+obs.getCertitude());
}
 
try {
rb.sendRequest(postData, new RequestCallback() {
try {
rb.sendRequest(postData, new RequestCallback() {
 
@Override
public void onError(Request request, Throwable exception) {
// TODO Auto-generated method stub
}
@Override
public void onError(Request request, Throwable exception) {
// TODO Auto-generated method stub
}
 
@Override
public void onResponseReceived(Request request,
Response response) {
if(observationModele != null) {
observationModele.obtenirListeObservation(r);
}
@Override
public void onResponseReceived(Request request,
Response response) {
if(observationModele != null) {
observationModele.obtenirListeObservation(r);
}
}) ;
} catch (RequestException e) {
}
}
}) ;
} catch (RequestException e) {
}
}
 
/**
227,7 → 227,6
+ identifiant
+ "/"
+ numerosOrdre);
 
try {
rb.sendRequest(postData, new RequestCallback() {
 
250,9 → 249,7
return ;
}
}
 
});
r.rafraichir("OK", true) ;
 
} catch (RequestException e) {
259,7 → 256,6
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/trunk/src/org/tela_botanica/client/modeles/objets/Observation.java
27,6 → 27,8
private String latitude=null;
private String longitude=null;
private String referentielGeo=null;
private String abondance=null;
private String certitude=null;
 
public Observation() {
}
102,7 → 104,8
this.latitude = Util.getValeurJsonOuVide(observation,"latitude");
this.longitude = Util.getValeurJsonOuVide(observation,"longitude");
this.motsCles = Util.getValeurJsonOuVide(observation,"mots_cles");
this.abondance = Util.getValeurJsonOuVide(observation,"abondance");
this.certitude = Util.getValeurJsonOuVide(observation,"certitude");
}
/**
245,6 → 248,14
return this.id;
}
public String getAbondance() {
return this.abondance;
}
public String getCertitude() {
return this.certitude;
}
public void setMotsCles(String motsCles) {
this.motsCles = motsCles;
}
265,10 → 276,15
this.referentielGeo = refGeo;
}
 
 
public void setId(String id) {
this.id = id;
}
 
 
public void setAbondance(String abondance) {
this.abondance = abondance;
}
public void setCertitude(String certitude) {
this.certitude = certitude;
}
}
/trunk/src/org/tela_botanica/client/modeles/objets/ListeObservation.java
2,18 → 2,18
 
import java.util.LinkedHashMap;
 
 
/**
* table de hachage composée d'observation, renvoyé par les objets de type DAO
* pour les images.
* La clé est l'identifiant de l'observation dans la base de données, et la valeur un objet
* de type Observation
* pour les images. La clé est l'identifiant de l'observation dans la base de
* données, et la valeur un objet de type Observation
*
* L'uitilisation de LinkedHashMap permet de conserver l'ordre d'insertion des elements à la lecture
* L'uitilisation de LinkedHashMap permet de conserver l'ordre d'insertion des
* elements à la lecture
*
* @author david delon
*
*/
public class ListeObservation extends LinkedHashMap<String, Observation>{
public class ListeObservation extends LinkedHashMap<String, Observation> {
/**
*
*/
20,42 → 20,40
private static final long serialVersionUID = 2715320270773281540L;
 
/*
* Constructeur sans paramètres
* Constructeur sans paramètres
*/
public ListeObservation()
{
public ListeObservation() {
super();
}
 
/**
* Constructeur avec paramètre
* @param taille la taille de la table de hachage
*
* @param taille
* la taille de la table de hachage
*/
public ListeObservation(int taille)
{
public ListeObservation(int taille) {
super(taille);
}
 
/**
* Constructeur avec paramètre
* @param ic un tableau d'ImageCarnet
*
* @param ic
* un tableau d'ImageCarnet
*/
public ListeObservation(Observation[] obs)
{
super() ;
for (int i = 0; i < obs.length; i++)
{
if(obs[i] != null && obs[i] instanceof Observation)
{
this.put(obs[i].getNumeroOrdre(),obs[i]);
public ListeObservation(Observation[] obs) {
super();
for (int i = 0; i < obs.length; i++) {
if (obs[i] != null && obs[i] instanceof Observation) {
this.put(obs[i].getNumeroOrdre(), obs[i]);
}
}
}
 
public void ajouterObservation(Observation obs) {
if(obs != null)
{
this.put(obs.getNumeroOrdre(),obs);
if (obs != null) {
this.put(obs.getNumeroOrdre(), obs);
}
}