Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 814 → Rev 813

/trunk/src/org/tela_botanica/del/client/modeles/ProtocoleServiceResultat.java
File deleted
/trunk/src/org/tela_botanica/del/client/modeles/Protocole.java
1,10 → 1,12
package org.tela_botanica.del.client.modeles;
 
 
public class Protocole {
 
private int id;
private String nom;
private String description;
public static String ESTHETISME = "ESTHETISME";
public static String IDENTIFICATION_AUTOMATIQUE = "IDENTIFICATION_AUTOMATIQUE";
 
public int getId() {
return id;
21,13 → 23,5
public void setNom(String nom) {
this.nom = nom;
}
public String getDescription() {
return description;
}
 
public void setDescription(String description) {
this.description = description;
}
 
}
/trunk/src/org/tela_botanica/del/client/utils/UtilitairesServiceResultat.java
12,9 → 12,12
import org.tela_botanica.del.client.modeles.Utilisateur;
import org.tela_botanica.del.client.modeles.VoteProtocole;
 
import com.google.gwt.dev.js.rhino.ObjToIntMap.Iterator;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.json.client.JSONValue;
import com.google.gwt.user.client.Window;
 
public class UtilitairesServiceResultat {
60,7 → 63,7
return observation;
}
public static String getValeurOuVide(JSONObject objet, String index) {
private static String getValeurOuVide(JSONObject objet, String index) {
return (objet.get(index).isString() != null) ? objet.get(index).isString().stringValue() : "";
}
/trunk/src/org/tela_botanica/del/client/utils/MockDatasource.java
25,7 → 25,6
import org.tela_botanica.del.client.services.rest.VoteProtocoleService;
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
import org.tela_botanica.del.client.services.rest.async.ObservationsCallback;
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback;
 
public class MockDatasource implements ObservationService, ImageService, ProtocoleService, VoteProtocoleService, PropositionDeterminationService {
 
94,11 → 93,11
Iterator<String> auteurs = auteurObs.keySet().iterator();
 
Protocole protocol1 = new Protocole();
protocol1.setNom("esthétique");
protocol1.setNom(Protocole.ESTHETISME);
protocol1.setId(0);
 
Protocole protocol2 = new Protocole();
protocol2.setNom("capitalisation de scan de feuilles");
protocol2.setNom(Protocole.IDENTIFICATION_AUTOMATIQUE);
protocol2.setId(1);
 
protocoles.add(protocol1);
303,6 → 302,17
 
List<VoteProtocole> voteProtocolesLocal = new ArrayList<VoteProtocole>();
 
// for (Image image : images) {
// if (image.getIdImage().equals(idImage)) {
// for (VoteProtocole voteProtocole : image.getVoteProtocoles()) {
// if (voteProtocole.getProtocole().getNom().equals(protocolName)) {
// voteProtocolesLocal.add(voteProtocole);
// }
// }
// }
//
// }
 
int rand = (int) (Math.random() * 5);
for (int i = 0; i < rand; i++) {
VoteProtocole voteProtocole = new VoteProtocole();
326,6 → 336,34
/*
* (non-Javadoc)
*
* @see
* org.tela_botanica.del.client.utils.ObservationService#getProtocole(java
* .lang.String)
*/
@Override
public Protocole getProtocole(String nomProtocole) {
for (Protocole protocole : protocoles) {
if (protocole.getNom().equals(nomProtocole)) {
return protocole;
}
}
return null;
}
 
/*
* (non-Javadoc)
*
* @see
* org.tela_botanica.del.client.utils.ObservationService#getProtocoles()
*/
@Override
public List<Protocole> getProtocoles() {
return protocoles;
}
 
/*
* (non-Javadoc)
*
* @see org.tela_botanica.del.client.utils.ObservationService#saveVote(org.
* tela_botanica.del.client.modeles.VoteProtocole)
*/
376,16 → 414,4
 
}
 
@Override
public void getProtocoles(ProtocolesCallback pc) {
// TODO Auto-generated method stub
}
 
@Override
public void getProtocole(String nomProtocole) {
// TODO Auto-generated method stub
}
 
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImagePresenteur.java
9,15 → 9,13
import org.tela_botanica.del.client.modeles.InformationsRecherche;
import org.tela_botanica.del.client.modeles.ModeTri;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole;
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole;
import org.tela_botanica.del.client.services.rest.ImageService;
import org.tela_botanica.del.client.services.rest.ProtocoleService;
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret;
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback;
import org.tela_botanica.del.client.utils.MockDatasource;
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImagePresenteur;
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImageVue;
import com.google.gwt.event.dom.client.ChangeEvent;
30,7 → 28,6
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.ListBox;
 
public class ResultatRechercheImagePresenteur {
public interface Vue extends IsWidget {
public void startChargement();
61,7 → 58,7
 
public HTMLPanel getImageTable();
 
public String getNomProtocoleSelectionne();
public String getNomProtocolSelectionne();
 
public int getIdProtocoleSelectionne();
 
69,7 → 66,7
 
public HasChangeHandlers getListeProtocoles();
 
public void ajouterProtocole(String nomProtocole, String idProtocole);
public void ajouterProtocole(String protocole);
 
public void selectionnerProtocole(int index);
 
95,8 → 92,9
}
private Vue vue;
private ImageService imageService;
private final ProtocoleService protocoleService = new ProtocoleServiceConcret();
private final ProtocoleService protocoleService = MockDatasource.getInstance();
private List<Protocole> protocoles;
private String protocoleParDefaut = Protocole.ESTHETISME;
private ModeTri triCourantVote = ModeTri.TRI_ASCENDANT;
private ModeTri triCourantDate = ModeTri.TRI_DESCENDANT;
 
210,29 → 208,14
}
 
private void chargerProtocoles() {
// test pour ne pas charger les protocoles déjà chargés
// TODO: faire un systeme de cache gérés par les web service eux même
if(CacheClient.getInstance().getListeProtocoles() == null) {
protocoleService.getProtocoles(new ProtocolesCallback() {
@Override
public void surProtocolesRecus(ProtocoleServiceResultat protocolesRecus) {
protocoles = protocolesRecus.getProtocoles();
remplirListeProtocole(protocoles);
}
});
} else {
protocoles = CacheClient.getInstance().getListeProtocoles();
remplirListeProtocole(CacheClient.getInstance().getListeProtocoles());
}
}
private void remplirListeProtocole(List<Protocole> protocoles) {
// TODO: appeler un véritable service web qui nous permette de charger les protocoles
// à partir de la base de données (prévoir un cache pour ne pas les charger à chaque fois)
protocoles = protocoleService.getProtocoles();
for (Protocole protocole : protocoles) {
vue.ajouterProtocole(protocole.getNom(), protocole.getId()+"");
vue.ajouterProtocole(protocole.getNom());
}
if(CacheClient.getInstance().getProtocoleCourant() == null) {
vue.selectionnerProtocole(0);
}
vue.selectionnerProtocole(protocoles.indexOf(CacheClient.getInstance().getProtocoleCourant()));
}
 
public void rechercherImagesEtCreerWidgetPagination() {
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImageVue.java
152,8 → 152,8
return listeProtocoles;
}
public void ajouterProtocole(String NomProtocole, String idProtocole) {
listeProtocoles.addItem(NomProtocole, idProtocole);
public void ajouterProtocole(String protocole) {
listeProtocoles.addItem(protocole);
}
 
public void selectionnerProtocole(int index) {
161,13 → 161,13
}
@Override
public String getNomProtocoleSelectionne() {
return listeProtocoles.getItemText((listeProtocoles.getSelectedIndex()));
public String getNomProtocolSelectionne() {
return listeProtocoles.getValue(listeProtocoles.getSelectedIndex());
}
 
@Override
public int getIdProtocoleSelectionne() {
return Integer.parseInt(listeProtocoles.getValue((listeProtocoles.getSelectedIndex())));
return listeProtocoles.getSelectedIndex();
}
 
@Override
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/moteur/MoteurRechercheImagePresenteur.java
1,16 → 1,23
package org.tela_botanica.del.client.vues.rechercheimages.moteur;
 
import java.util.List;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRecherchePresenteur;
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRechercheVue;
import org.tela_botanica.del.client.modeles.ModeRecherche;
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole;
import org.tela_botanica.del.client.services.rest.ImageServiceConcret;
import org.tela_botanica.del.client.services.rest.ProtocoleService;
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret;
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback;
import org.tela_botanica.del.client.utils.MockDatasource;
import org.tela_botanica.del.client.vues.rechercheimages.resultats.ResultatRechercheImagePresenteur;
import org.tela_botanica.del.client.vues.rechercheimages.resultats.ResultatRechercheImageVue;
 
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.HasChangeHandlers;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
 
17,33 → 24,29
public class MoteurRechercheImagePresenteur {
 
public interface Vue extends IsWidget {
 
public HasWidgets getZoneResultats();
 
public HasWidgets getZoneRecherche();
 
public void ajouterVue(HasWidgets composite);
 
}
 
private Vue vue;
private final ProtocoleService protocoleService = new ProtocoleServiceConcret();
 
private final ProtocoleService protocoleService = MockDatasource.getInstance();
 
private String protocoleParDefaut = Protocole.ESTHETISME;
/**
* Constructeur
* */
public MoteurRechercheImagePresenteur(Vue vue) {
this.vue = vue;
//TODO: le code ci dessous sert à ne pas recharger les protocoles
// à chaque fois, voir si on peut le factoriser quelque part
if (CacheClient.getInstance().getProtocoleCourant() == null) {
if(CacheClient.getInstance().getListeProtocoles() == null) {
protocoleService.getProtocoles(new ProtocolesCallback() {
@Override
public void surProtocolesRecus(ProtocoleServiceResultat protocolesRecus) {
CacheClient.getInstance().setListeProtocoles(protocolesRecus.getProtocoles());
CacheClient.getInstance().setProtocoleCourant(protocolesRecus.getProtocoles().get(0));
}
});
} else {
CacheClient.getInstance().setProtocoleCourant(CacheClient.getInstance().getListeProtocoles().get(0));
}
CacheClient.getInstance().setProtocoleCourant(protocoleService.getProtocole(protocoleParDefaut));
}
}
 
52,6 → 55,7
chargerMoteurRechercheAvancee();
}
 
public void chargerMoteurRechercheAvancee() {
MoteurRecherchePresenteur presenteurRecherche = new MoteurRecherchePresenteur(new MoteurRechercheVue(""), ModeRecherche.MODE_IMAGE) {
public void lancerRecherche() {
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/DeterminationPresenteur.java
18,7 → 18,6
import org.tela_botanica.del.client.modeles.ModeRecherche;
import org.tela_botanica.del.client.modeles.MoyenneVote;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat;
import org.tela_botanica.del.client.modeles.VoteDetermination;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.ajoutcommentaire.EvenementAjoutCommentaire;
29,8 → 28,7
import org.tela_botanica.del.client.navigation.evenement.voteDetermination.GestionnaireEvenementVoteDetermination;
import org.tela_botanica.del.client.services.CalculVoteDeterminationService;
import org.tela_botanica.del.client.services.rest.ProtocoleService;
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret;
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback;
import org.tela_botanica.del.client.utils.MockDatasource;
import org.tela_botanica.del.client.vues.plateformedetermination.formulairerechercheeflore.FormulaireRechercheEflorePresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumPresenteur;
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ForumVue;
64,7 → 62,7
 
FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur;
private ProtocoleService protocoleService = new ProtocoleServiceConcret();
private ProtocoleService protocoleService = MockDatasource.getInstance();
 
public DeterminationPresenteur(Vue vue) {
this.vue = vue;
76,7 → 74,7
new MetadonneesPresenteur(new MetadonneesEnLigneVue(), CacheClient.getInstance().getObservationCourante(), ModeRecherche.MODE_OBSERVATION).go(vue.getMetadonnees());
new ObservationImagesPresenteur(new ObservationImagesVue(), CacheClient.getInstance().getObservationCourante()).go(vue.getDetailImageObservation());
 
chargerEtAjouterLignesVotesProtocole();
ajouterLignesVotesProtocole();
}
new ForumPresenteur(new ForumVue()).go(vue.getForum());
new FormulaireRechercheEflorePresenteur().go(vue.getFormulaireRechercheEflore());
88,24 → 86,10
gererEvenements();
}
 
private void chargerEtAjouterLignesVotesProtocole() {
if(CacheClient.getInstance().getListeProtocoles() == null) {
protocoleService.getProtocoles(new ProtocolesCallback() {
@Override
public void surProtocolesRecus(ProtocoleServiceResultat protocolesRecus) {
List<Protocole> listeProtocoles = protocolesRecus.getProtocoles();
ajouterLignesVotesProtocole(listeProtocoles);
}
});
} else {
List<Protocole> listeProtocoles = CacheClient.getInstance().getListeProtocoles();
ajouterLignesVotesProtocole(listeProtocoles);
}
}
private void ajouterLignesVotesProtocole(List<Protocole> listeProtocoles) {
for (Iterator<Protocole> iterator = listeProtocoles.iterator(); iterator.hasNext();) {
private void ajouterLignesVotesProtocole() {
List<Protocole> tousLesProtocoles = protocoleService.getProtocoles();
for (Iterator<Protocole> iterator = tousLesProtocoles.iterator(); iterator.hasNext();) {
 
Protocole protocole = iterator.next();
LigneProtocolePresenteur presenteurLigneProtocole = new LigneProtocolePresenteur(protocole, new LigneProtocoleVue());
presenteurLigneProtocole.go(vue.getNouvelleLigneProtocole());
/trunk/src/org/tela_botanica/del/client/cache/CacheClient.java
1,17 → 1,14
package org.tela_botanica.del.client.cache;
 
import java.util.List;
 
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.InformationsRecherche;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.Utilisateur;
import com.google.gwt.user.client.Window;
 
public class CacheClient {
 
private List<Protocole> listeProtocoles;
private Observation observationCourante;
private Image imageCourante;
private String taxonPourRechercheEflore;
102,14 → 99,6
public void setImageCourante(Image imageCourante) {
this.imageCourante = imageCourante;
}
public void setListeProtocoles(List<Protocole> listeProtocole) {
this.listeProtocoles = listeProtocole;
}
public List<Protocole> getListeProtocoles() {
return this.listeProtocoles;
}
 
public Protocole getProtocoleCourant() {
return protocoleCourant;
/trunk/src/org/tela_botanica/del/client/services/rest/ProtocoleServiceConcret.java
File deleted
/trunk/src/org/tela_botanica/del/client/services/rest/async/ProtocolesCallback.java
File deleted
\ No newline at end of file
/trunk/src/org/tela_botanica/del/client/services/rest/ProtocoleService.java
1,11 → 1,13
package org.tela_botanica.del.client.services.rest;
 
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback;
import java.util.List;
 
import org.tela_botanica.del.client.modeles.Protocole;
 
public interface ProtocoleService {
 
public void getProtocole(String nomProtocole);
public Protocole getProtocole(String nomProtocole);
 
public void getProtocoles(ProtocolesCallback pc);
public List<Protocole> getProtocoles();
 
}
/trunk/src/org/tela_botanica/del/test/composants/votes/MoyenneVotePresenteurTest.java
11,6 → 11,7
import org.tela_botanica.del.client.composants.votes.moyennevotes.MoyenneVotePresenteur;
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.VoteProtocole;
 
import com.google.gwt.user.client.ui.HasWidgets;
 
28,11 → 29,11
CacheClient.getInstance().getUtilisateur().setId(0+"");
Protocole protocol1 = new Protocole();
protocol1.setNom("esthétique");
protocol1.setNom(Protocole.ESTHETISME);
protocol1.setId(0);
 
Protocole protocol2 = new Protocole();
protocol2.setNom("capitalisation de scan de feuilles");
protocol2.setNom(Protocole.IDENTIFICATION_AUTOMATIQUE);
protocol2.setId(1);
 
tousLesProtocoles.add(protocol1);