Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 444 → Rev 445

/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/MoteurRechercheImagePresenteur.java
5,7 → 5,6
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.i18n.I18n;
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;
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/images/ImagePresenteur.java
7,6 → 7,7
import org.tela_botanica.del.client.composants.fenetreOverlayDefilante.FenetreOverlayDefilanteVue;
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.ImageServiceResultat;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.VoteProtocole;
16,6 → 17,9
import org.tela_botanica.del.client.navigation.evenement.rechercheimage.EvenementVoirDetailsImage;
import org.tela_botanica.del.client.navigation.evenement.rechercheimage.GestionnaireEvenementVoirDetailsImage;
import org.tela_botanica.del.client.navigation.evenement.validationobservation.EvenementValidation;
import org.tela_botanica.del.client.services.rest.ImageService;
import org.tela_botanica.del.client.services.rest.ImageServiceConcret;
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
import org.tela_botanica.del.client.utils.MockDatasource;
import org.tela_botanica.del.client.vues.rechercheimages.vote.MoyenneVotePresenteur;
import org.tela_botanica.del.client.vues.rechercheobservations.DetailImagePresenteur;
93,10 → 97,24
}
 
private void lancerEvenementValidation() {
CacheClient.getInstance().setImageCourante(image);
Observation obs = image.getObservation();
BusEvenementiel.getInstance().fireEvent(new EvenementValidation(obs));
CacheClient.getInstance().setImageCourante(image);
final Observation obs = image.getObservation();
 
// charge toutes les images de l'observation associee à l'observation en
// cours
ImageService imageService = new ImageServiceConcret();
imageService.getImagesParObservation(obs.getId(), new ImagesParTaxonCallback() {
 
@Override
public void surImagesRecues(ImageServiceResultat imagesRecues) {
//TODO a changer lorsque le service sera implementé de manière realiste
//par obs.setImages(imagesRecues.getImages());
obs.getImages().addAll(imagesRecues.getImages().subList(0, 9));
BusEvenementiel.getInstance().fireEvent(new EvenementValidation(obs));
}
});
 
}
protected void gererEvenements() {
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImagePresenteur.java
42,15 → 42,7
private Vue vue;
private List<ImagePresenteur> ImagePresenteurs = new ArrayList<ImagePresenteur>();
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;
60,6 → 52,11
composite.add(vue.asWidget());
vue.startChargement();
 
rechercherImagesEtCreerWidgetPagination();
 
}
 
public void rechercherImagesEtCreerWidgetPagination() {
// appel du service d'image pour avoir le nb total d'elements pour la
// pagination
ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
66,13 → 63,12
@Override
public void surImagesRecues(ImageServiceResultat imagesRecues) {
creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
afficherImages(imagesRecues, 0, CacheClient.getInstance().getPasPagination());
requeteEnCours = false;
int debut = (CacheClient.getInstance().getPageCouranteRechercheImage() - 1) * CacheClient.getInstance().getPasPagination();
int fin = (CacheClient.getInstance().getPageCouranteRechercheImage()) * CacheClient.getInstance().getPasPagination();
afficherImages(imagesRecues, debut, fin);
}
};
requeteEnCours = true;
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), 0, CacheClient.getInstance().getPasPagination(), callback);
 
}
 
private void chargerEtAfficherImages(final int premier, final int dernier) {
83,10 → 79,8
@Override
public void surImagesRecues(ImageServiceResultat imagesRecues) {
afficherImages(imagesRecues, premier, dernier);
requeteEnCours = false;
}
};
requeteEnCours = true;
imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), premier, dernier, callback);
 
}
113,28 → 107,18
 
private void creerWidgetPagination(int nbImages) {
 
this.paginationBasPresenteur = new PaginationPresenteur(new PaginationVue(), nbImages, CacheClient.getInstance().getPasPagination()) {
@Override
public void changerPage(int debut, int fin) {
if (!requeteEnCours) {
chargerEtAfficherImages(debut, fin);
}
CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
}
PaginationPresenteur imagesPaginationPresenteurHaut = creerPresenteurPagination(nbImages);
PaginationPresenteur imagesPaginationPresenteurBas = creerPresenteurPagination(nbImages);
imagesPaginationPresenteurHaut.go(vue.getPanneauPaginationHaut());
imagesPaginationPresenteurBas.go(vue.getPanneauPagination());
}
 
public PaginationPresenteur creerPresenteurPagination(int nbImages) {
PaginationPresenteur imagesPaginationPresenteur = new PaginationPresenteur(new PaginationVue(), nbImages, CacheClient.getInstance().getPasPagination(), CacheClient.getInstance().getPageCouranteRechercheImage()) {
@Override
public void actualiserPasCache(int pas) {
CacheClient.getInstance().setPasPagination(pas);
}
};
public void chargerElements(int debut, int fin) {
 
this.paginationHautPresenteur = new PaginationPresenteur(new PaginationVue(), nbImages, CacheClient.getInstance().getPasPagination()) {
 
@Override
public void changerPage(int debut, int fin) {
if (!requeteEnCours) {
chargerEtAfficherImages(debut, fin);
}
chargerEtAfficherImages(debut, fin);
CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
}
 
142,9 → 126,7
public void actualiserPasCache(int pas) {
CacheClient.getInstance().setPasPagination(pas);
}
 
};
this.paginationBasPresenteur.go(vue.getPanneauPagination());
this.paginationHautPresenteur.go(vue.getPanneauPaginationHaut());
return imagesPaginationPresenteur;
}
}