Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1136 Rev 1166
Line 4... Line 4...
4
import org.tela_botanica.client.RegistreId;
4
import org.tela_botanica.client.RegistreId;
5
import com.google.gwt.i18n.client.Dictionary;
5
import com.google.gwt.i18n.client.Dictionary;
6
import org.tela_botanica.client.interfaces.ListePaginable;
6
import org.tela_botanica.client.interfaces.ListePaginable;
7
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.interfaces.Rafraichissable;
8
import org.tela_botanica.client.modeles.aDonneeListe;
8
import org.tela_botanica.client.modeles.aDonneeListe;
9
import org.tela_botanica.client.modeles.structure.Structure;
-
 
Line 10... Line 9...
10
 
9
 
11
import com.extjs.gxt.ui.client.Registry;
10
import com.extjs.gxt.ui.client.Registry;
12
import com.google.gwt.json.client.JSONArray;
11
import com.google.gwt.json.client.JSONArray;
13
import com.google.gwt.json.client.JSONNumber;
12
import com.google.gwt.json.client.JSONNumber;
Line -... Line 13...
-
 
13
import com.google.gwt.json.client.JSONObject;
-
 
14
 
-
 
15
/**
-
 
16
 * Classe contenant les informations sur les Publications renvoyées par un objet de type DAO.
-
 
17
 * 
-
 
18
 * @author Aurélien PERONNET
14
import com.google.gwt.json.client.JSONObject;
19
 * 
Line 15... Line 20...
15
 
20
 */
16
public class PublicationListe extends aDonneeListe<Publication> implements ListePaginable {
21
public class PublicationListe extends aDonneeListe<Publication> implements ListePaginable {
17
 
22
 
Line 27... Line 32...
27
	
32
	
28
	public PublicationListe(int taille) {
33
	public PublicationListe(int taille) {
29
		super(taille);
34
		super(taille);
Line 30... Line -...
30
	}
-
 
31
	
35
	}
32
	/**
36
	
-
 
37
	public PublicationListe(JSONArray ListeDePublications) {
33
	 * Constructeur pour une liste d'institutions
38
		super(ListeDePublications.size());
-
 
39
		initialiserPublicationListe(ListeDePublications);
-
 
40
	}
-
 
41
	
-
 
42
	public PublicationListe(JSONArray ListeDePublications, JSONNumber nbElements, Rafraichissable vueARafraichir) {
-
 
43
		super(ListeDePublications.size());
34
	 * @param dates
44
		this.nbElementsTotal = Integer.valueOf(nbElements.toString());
-
 
45
		this.vueARafraichir = vueARafraichir;
Line 35... Line 46...
35
	 */
46
		initialiserPublicationListe(ListeDePublications);
36
	public PublicationListe(JSONArray publications) {
-
 
37
 
47
	}
38
		super(publications.size());
48
 
39
		
49
	private void initialiserPublicationListe(JSONArray ListeDePublications) {
Line 40... Line 50...
40
		int taille = publications.size();
50
		int taille = ListeDePublications.size();
41
		for (int i = 0; i < taille; i++) {
51
		for (int i = 0; i < taille; i++) {
42
			JSONObject publicationCourante = publications.get(i).isObject() ;
52
			JSONObject publicationCourante = ListeDePublications.get(i).isObject() ;
43
			
53
			
44
			if (publicationCourante != null)	{
54
			if (publicationCourante != null)	{
45
				Publication publication = new Publication(publicationCourante);
55
				Publication publication = new Publication(publicationCourante);
Line 46... Line -...
46
				this.put(publication.getId(), publication);				
-
 
47
			}
-
 
48
		}
-
 
49
	}
-
 
50
	
-
 
51
	public PublicationListe(JSONArray publicationListe, JSONNumber nbElements, Rafraichissable vueARafraichir) {
-
 
52
		super(publicationListe.size());
-
 
53
		this.nbElementsTotal = Integer.valueOf(nbElements.toString());
-
 
54
		
-
 
55
		final int taillemax = publicationListe.size();
-
 
56
		for (int i = 0; i < taillemax; i++) {
-
 
57
			JSONObject publication = publicationListe.get(i).isObject() ;
-
 
58
			
-
 
59
			if (publication != null)	{
-
 
60
				Publication publicationCourante = new Publication(publication);
-
 
61
				this.put(publicationCourante.getId(), publicationCourante);				
-
 
62
			}
-
 
63
		}
56
				this.put(publication.getId(), publication);				
64
		
57
			}
65
		this.vueARafraichir = vueARafraichir;
58
		}
66
	}
59
	}
Line 87... Line 80...
87
		this.nbElementsPage = taillePage;
80
		this.nbElementsPage = taillePage;
88
	}
81
	}
Line 89... Line 82...
89
	
82
	
90
	public int[] getPageTable() {
83
	public int[] getPageTable() {
91
		int[] page = new int[4];
-
 
92
 
84
		int[] page = new int[4];
93
		// nombre de pages au total
85
		// nombre de pages au total
94
		page[0] = calculerNbPages();
-
 
95
 
86
		page[0] = calculerNbPages();
96
		// Page En Cours
87
		// Page En Cours
97
		page[1] = currentPage;
-
 
98
 
88
		page[1] = currentPage;
99
		// nbElementsParPage
89
		// nbElementsParPage
100
		page[2] = nbElementsPage;
-
 
101
 
90
		page[2] = nbElementsPage;
102
		// et le dernier le nombre total d'éléments
91
		// et le dernier le nombre total d'éléments
103
		page[3] = nbElementsTotal;
-
 
104
 
92
		page[3] = nbElementsTotal;
105
		return page;
93
		return page;
Line 106... Line 94...
106
	}
94
	}
107
	
95
	
108
	/**
96
	/**
109
	 * Calcule le nombre de pages nécessaires pour afficher un nombre d'élements
97
	 * Calcule le nombre de pages nécessaires pour afficher un nombre d'élements
110
	 * donnés en fonction de la taille de page en cours
98
	 * donnés en fonction de la taille de page en cours
111
	 * 
99
	 * 
112
	 * @return le nombre de pages
100
	 * @return le nombre de pages
113
	 */
101
	 */
114
	public int calculerNbPages() {
-
 
115
		// A cause de la betise de java pour les conversion implicite on fait
-
 
116
		// quelques conversions manuellement
102
	public int calculerNbPages() {
117
		// pour eviter qu'il arrondisse mal la division
103
		// À cause de la bétise de java pour les conversion implicite, on fait quelques conversions manuellement
118
		// nombre de pages = (nombre d'element / taille de la page) arrondie à
-
 
119
		// l'entier superieur
104
		// pour eviter qu'il arrondisse mal la division nombre de pages = (nombre d'element / taille de la page) 
120
 
105
		// arrondie à l'entier supérieur.
121
		double nPage = (1.0 * nbElementsTotal) / (1.0 * nbElementsPage);
106
		double nPage = (1.0 * nbElementsTotal) / (1.0 * nbElementsPage);
Line 122... Line 107...
122
		double nPageRound = Math.ceil(nPage);
107
		double nPageRound = Math.ceil(nPage);
123
		Double nPageInt = new Double(nPageRound);
108
		Double nPageInt = new Double(nPageRound);
124
 
109
 
Line 125... Line 110...
125
		// on convertit en entier
110
		// Convertion en entier
126
		return nPageInt.intValue();
111
		return nPageInt.intValue();
127
	}
112
	}
128
	
113
	
Line 129... Line 114...
129
	public void selectionnerPublication()	{
114
	public void selectionnerPublication()	{
130
		Mediateur mediateur =(Mediateur) Registry.get(RegistreId.MEDIATEUR);
115
		Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
131
		mediateur.selectionnerPublication(vueARafraichir, null, null, null, currentPage, nbElementsPage);
116
		mediateur.selectionnerPublication(vueARafraichir, null, null, null, currentPage, nbElementsPage);
132
	}
117
	}
133
	
118
	
134
	public void filtrerParNom(String nom)	{
119
	public void filtrerParNom(String nom)	{