Subversion Repositories eFlore/Applications.del

Rev

Rev 344 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 344 Rev 359
Line 3... Line 3...
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.Iterator;
4
import java.util.Iterator;
5
import java.util.List;
5
import java.util.List;
Line 6... Line 6...
6
 
6
 
-
 
7
import org.tela_botanica.del.client.cache.CacheClient;
7
import org.tela_botanica.del.client.cache.CacheClient;
8
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur;
8
import org.tela_botanica.del.client.modeles.Image;
9
import org.tela_botanica.del.client.modeles.Image;
9
import org.tela_botanica.del.client.modeles.ImageServiceResultat;
-
 
10
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur;
10
import org.tela_botanica.del.client.modeles.ImageServiceResultat;
11
import org.tela_botanica.del.client.services.rest.ImageService;
11
import org.tela_botanica.del.client.services.rest.ImageService;
12
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
12
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
13
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImagePresenteur;
13
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImagePresenteur;
-
 
14
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImageVue;
14
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImageVue;
15
 
15
import com.google.gwt.user.client.ui.HasWidgets;
16
import com.google.gwt.user.client.ui.HasWidgets;
Line 16... Line 17...
16
import com.google.gwt.user.client.ui.Panel;
17
import com.google.gwt.user.client.ui.Panel;
Line 17... Line 18...
17
 
18
 
18
public class ResultatRechercheImagePresenteur {
-
 
19
 
19
public class ResultatRechercheImagePresenteur {
20
	private final ResultatRechercheImageVue vue = new ResultatRechercheImageVue();
20
 
21
	private static ResultatRechercheImagePresenteur instance;
21
	private final ResultatRechercheImageVue vue = new ResultatRechercheImageVue();
22
	private List<ImagePresenteur> observationPresenteurs = new ArrayList<ImagePresenteur>();
22
	private List<ImagePresenteur> observationPresenteurs = new ArrayList<ImagePresenteur>();
23
	private ImageService imageService;
-
 
24
	
23
	private ImageService imageService;
25
	public ResultatRechercheImagePresenteur(ImageService imageService) {
24
 
Line 26... Line 25...
26
		instance = this;
25
	public ResultatRechercheImagePresenteur(ImageService imageService) {
27
		this.imageService = imageService;
26
		this.imageService = imageService;
-
 
27
	}
-
 
28
 
-
 
29
	public void go(HasWidgets composite) {
28
	}
30
		composite.add(vue);
-
 
31
 
-
 
32
		// appel du service d'image pour avoir le nb total d'elements pour la
29
 
33
		// pagination
30
	public void go(HasWidgets composite) {
34
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
-
 
35
 
-
 
36
			@Override
-
 
37
			public void surImagesRecues(ImageServiceResultat imagesRecues) {
-
 
38
				creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
-
 
39
				afficherImages(imagesRecues);
31
		composite.add(vue);
40
			}
Line 32... Line 41...
32
		int pas = CacheClient.getInstance().getPasPagination();
41
		};
33
		int pageCourante = CacheClient.getInstance().getPageCouranteRecherche();
-
 
34
		actualiserImagesEtMoyenneVoteProtocole(pageCourante*pas, (pageCourante+1)*(pas));
42
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), 0, CacheClient.getInstance().getPasPagination(), callback);
35
	}
43
 
36
 
44
	}
37
	private void actualiserImagesEtMoyenneVoteProtocole(int premier, int dernier) {
45
 
38
		
46
	private void chargerEtAfficherImages(int premier, int dernier) {
39
		vue.startChargement();
47
		vue.startChargement();
40
		
-
 
41
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
-
 
42
			
-
 
43
			@Override
-
 
44
			public void surImagesRecues(ImageServiceResultat imagesRecues) {
-
 
45
								
-
 
46
				CacheClient.getInstance().setImages(imagesRecues.getImages());
-
 
47
				createPaginationWidget(imagesRecues.getNbTotalImagesPourLaRecherche());
-
 
48
				vue.nettoyer();
-
 
49
 
-
 
50
				List<Panel> panneauxImagesAffichees = new ArrayList<Panel>();
-
 
51
				vue.creerPanneauxObservations(imagesRecues.getImages().size());
-
 
52
 
-
 
53
				Iterator<Panel> panelIterator = vue.getPanneauxImages().iterator();
-
 
54
				for (Image image : imagesRecues.getImages()) {
-
 
55
					Panel imagePanel = panelIterator.next();
-
 
Line 56... Line 48...
56
					ImagePresenteur imagePresenteur = new ImagePresenteur(image, CacheClient.getInstance().getProtocoleCourant(), new ImageVue());
48
 
57
					imagePresenteur.go(imagePanel);
-
 
58
					panneauxImagesAffichees.add(imagePanel);
49
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
59
					observationPresenteurs.add(imagePresenteur);
50
 
60
				}
51
			@Override
-
 
52
			public void surImagesRecues(ImageServiceResultat imagesRecues) {
61
 
53
 
Line 62... Line 54...
62
				vue.afficherPanneauxObservation(panneauxImagesAffichees);
54
				afficherImages(imagesRecues);
-
 
55
			}
-
 
56
		};
-
 
57
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), premier, dernier, callback);
-
 
58
 
-
 
59
	}
-
 
60
 
-
 
61
	private void afficherImages(ImageServiceResultat imageServiceResult) {
63
				vue.stopChargement();
62
		CacheClient.getInstance().setImages(imageServiceResult.getImages());
-
 
63
 
-
 
64
		vue.nettoyer();
64
			}
65
		List<Panel> panneauxImagesAffichees = new ArrayList<Panel>();
-
 
66
		vue.creerPanneauxObservations(imageServiceResult.getImages().size());
65
		};
67
 
66
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(),premier, dernier , callback);
-
 
67
	}
68
		Iterator<Panel> panelIterator = vue.getPanneauxImages().iterator();
-
 
69
		for (Image image : imageServiceResult.getImages()) {
-
 
70
			Panel imagePanel = panelIterator.next();
-
 
71
			ImagePresenteur imagePresenteur = new ImagePresenteur(image, CacheClient.getInstance().getProtocoleCourant(), new ImageVue());
68
 
72
			imagePresenteur.go(imagePanel);
Line 69... Line 73...
69
	public void fermerTousPanneauxDetailsObservations() {
73
			panneauxImagesAffichees.add(imagePanel);
Line 70... Line 74...
70
		for (ImagePresenteur observationPresenteur : observationPresenteurs) {
74
			observationPresenteurs.add(imagePresenteur);
Line 71... Line 75...
71
			if (observationPresenteur.isDetailsOpen()) {
75
		}
72
				observationPresenteur.cacherDetails();
76
 
73
			}
77
		vue.afficherPanneauxObservation(panneauxImagesAffichees);
74
		}
78
		vue.stopChargement();
75
	}
79
	}
76
 
80
 
77
	private void createPaginationWidget(int nbImages) {
81
	private void creerWidgetPagination(int nbImages) {
78
 
82
 
79
		PaginationPresenteur pagination = new PaginationPresenteur(nbImages, CacheClient.getInstance().getPasPagination()) {
83
		PaginationPresenteur pagination = new PaginationPresenteur(nbImages, CacheClient.getInstance().getPasPagination()) {
80
 
84
 
81
			@Override
85
			@Override
82
			public void changerPage(int debut, int fin) {
86
			public void changerPage(int debut, int fin) {
83
				showImagePanels(debut, fin);
87
				chargerEtAfficherImages(debut, fin);
Line 84... Line -...
84
				CacheClient.getInstance().setPageCouranteRecherche(getPageCourante());
-
 
85
			}
-
 
86
			
-
 
87
			@Override
-
 
88
			public void actualiserPasCache(int pas) {
-
 
89
				CacheClient.getInstance().setPasPagination(pas);
-
 
90
			}
-
 
91
		};
-
 
92
		pagination.go(vue.getPanneauPagination());
-
 
93
	}
-
 
94
 
-
 
95
	public void showImagePanels(int first, int last) {
-
 
96
		actualiserImagesEtMoyenneVoteProtocole(first, last);
88
				CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());