Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 379 → Rev 382

/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImagePresenteur.java
13,6 → 13,7
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.user.client.Window;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Panel;
37,6 → 38,12
private ImageService imageService;
private PaginationPresenteur paginationHautPresenteur, paginationBasPresenteur;
/**
* Ceci sert à éviter que les deux présenteurs paginations fassent deux requêtes par changement de page
* En attendant d'en discuter avec les autres
*/
private boolean requeteEnCours = false;
public ResultatRechercheImagePresenteur(ImageService imageService, Vue vue) {
this.vue = vue;
this.imageService = imageService;
54,8 → 61,10
public void surImagesRecues(ImageServiceResultat imagesRecues) {
creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
afficherImages(imagesRecues, 0, CacheClient.getInstance().getPasPagination());
requeteEnCours = false;
}
};
requeteEnCours = true;
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), 0, CacheClient.getInstance().getPasPagination(), callback);
 
}
68,10 → 77,11
 
@Override
public void surImagesRecues(ImageServiceResultat imagesRecues) {
 
afficherImages(imagesRecues, premier, dernier);
requeteEnCours = false;
}
};
requeteEnCours = true;
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), premier, dernier, callback);
 
}
80,13 → 90,6
 
List<Image> images = imageServiceResult.getImages();
 
// verifie si le nb d'images renvoyes par le service est correct sinon
// coupe la liste d'images
int taille = dernier - premier;
if (images.size() > taille) {
images = imageServiceResult.getImages().subList(0, taille);
}
 
List<Panel> panneauxImagesAffichees = new ArrayList<Panel>();
vue.creerPanneauxObservations(imageServiceResult.getImages().size());
 
108,7 → 111,9
this.paginationBasPresenteur = new PaginationPresenteur(nbImages, CacheClient.getInstance().getPasPagination()) {
@Override
public void changerPage(int debut, int fin) {
chargerEtAfficherImages(debut, fin);
if(!requeteEnCours) {
chargerEtAfficherImages(debut, fin);
}
CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
}
 
129,7 → 134,9
 
@Override
public void changerPage(int debut, int fin) {
chargerEtAfficherImages(debut, fin);
if(!requeteEnCours) {
chargerEtAfficherImages(debut, fin);
}
CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
}
/trunk/src/org/tela_botanica/del/client/services/rest/ImageServiceConcret.java
14,9 → 14,9
//RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, serverUrl+"ImagesEflore");
//adresse ajoutee temporairement le temps de faire fonctionner le service d'images eflore
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, serverUrl+"Observations");
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, serverUrl+"Images?nom_taxon="+taxon);
try {
rb.sendRequest("nom_taxon="+taxon, callback);
rb.sendRequest(null, callback);
} catch (Exception e) {
// TODO: handle exception
}
24,9 → 24,9
 
@Override
public void getImagesParTaxon(InformationsRecherche infos, int debut, int fin, ImagesParTaxonCallback callback) {
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, serverUrl+"Observations");
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, serverUrl+"Images"+assemblerChaineRequete(infos, debut, fin));
try {
rb.sendRequest(assemblerChaineRequete(infos, debut, fin), callback);
rb.sendRequest(null, callback);
} catch (Exception e) {
// TODO: handle exception
}
34,7 → 34,7
private String assemblerChaineRequete(InformationsRecherche infos, int debut, int fin) {
String chaineRequete = "&debut="+debut+"&limite="+(fin-debut);
String chaineRequete = "?debut="+debut+"&limite="+(fin-debut);
if(infos != null && infos.getTaxon() != null && !infos.getTaxon().trim().isEmpty()) {
chaineRequete = "nom_taxon="+infos.getTaxon()+chaineRequete;
}
/trunk/src/org/tela_botanica/del/client/composants/pagination/PaginationPresenteur.java
65,7 → 65,7
public void changerPas(int pas) {
this.pas = pas;
actualiserNbPage();
changerPage(pas * pageCourante, pas * (pageCourante + 1));
changerPage(pas * (pageCourante -1), pas * pageCourante);
switch (pas) {
case 5:
vue.getSelecteurPas().setSelectedIndex(0);
176,7 → 176,7
public void onClick(ClickEvent event) {
Button boutonCourant = (Button) event.getSource();
pageCourante = Integer.parseInt(boutonCourant.getText());
int debut = Integer.parseInt(boutonCourant.getText()) * pas;
int debut = (Integer.parseInt(boutonCourant.getText()) - 1) * pas;
int fin = (debut + pas);
setBoutonActif();
changerPage(debut, fin);
193,7 → 193,7
public void pageSuivante() {
if (pageCourante < nbPage - 1) {
pageCourante++;
int debut = pageCourante * pas;
int debut = (pageCourante -1) * pas;
int fin = debut + pas;
changerPage(debut, fin);
actualiserLiens();
207,7 → 207,7
public void pagePrecedente() {
if (pageCourante > 1) {
pageCourante--;
int debut = pageCourante * pas;
int debut = (pageCourante -1) * pas;
int fin = debut + pas;
changerPage(debut, fin);
actualiserLiens();
/trunk/src/org/tela_botanica/del/client/modeles/ImageServiceResultat.java
27,11 → 27,19
int nbResultats = tableauObs.size();
for (int i = 0; i < nbResultats; i++) {
JSONObject observationJson = tableauObs.get(i).isObject();
JSONObject imageJson = tableauObs.get(i).isObject();
Image image = new Image();
String idImage = "1"+imageJson.get("id_image").isString().stringValue();
image.setIdImage(idImage);
image.setUrlFormat("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"%s%.jpg");
image.setUrl("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"CRS.jpg");
image.setMiniature("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"XS.jpg");
JSONObject observationJson = imageJson.get("observation").isObject();
Observation observation = new Observation();
observation.setAuteur(observationJson.get("prenom_utilisateur").isString().stringValue()+
" "+observationJson.get("nom_utilisateur").isString().stringValue());
" "+observationJson.get("nom_utilisateur").isString().stringValue());
observation.setDate(observationJson.get("date_observation").isString().stringValue());
observation.setFamille(observationJson.get("famille").isString().stringValue());
observation.setId(observationJson.get("id_observation").isString().stringValue());
48,20 → 56,8
propositionDetermination.setEspece(observationJson.get("nom_ret").isString().stringValue());
observation.addImageCelValidationData(propositionDetermination);
JSONArray tableauImagesObs = observationJson.get("images").isArray();
int nbImages = tableauImagesObs.size();
for (int j = 0; j < nbImages; j++) {
JSONObject imageJson = tableauImagesObs.get(j).isObject();
Image image = new Image();
String idImage = "1"+imageJson.get("id_image").isString().stringValue();
image.setIdImage(idImage);
image.setUrlFormat("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"%s%.jpg");
image.setUrl("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"CRS.jpg");
image.setMiniature("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"XS.jpg");
image.setObservation(observation);
images.add(image);
}
image.setObservation(observation);
images.add(image);
}
}