Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1053 Rev 1166
Line 11... Line 11...
11
import com.google.gwt.json.client.JSONArray;
11
import com.google.gwt.json.client.JSONArray;
12
import com.google.gwt.json.client.JSONNumber;
12
import com.google.gwt.json.client.JSONNumber;
13
import com.google.gwt.json.client.JSONObject;
13
import com.google.gwt.json.client.JSONObject;
Line 14... Line 14...
14
 
14
 
15
/**
15
/**
16
 * Table de hachage composée d'informations sur les Valeurs des listes, renvoyé
-
 
17
 * par un objet de type DAO La clé est le nom de l'entite + le nom de l'entite
-
 
18
 * parente
16
 * Classe contenant les informations sur les Personnes renvoyées par un objet de type DAO.
19
 * 
17
 * 
20
 * @author david delon
18
 * @author Grégoire DUCHÉ
21
 * 
19
 * 
22
 */
20
 */
23
public class PersonneListe extends aDonneeListe<Personne> implements
-
 
Line 24... Line 21...
24
		ListePaginable {
21
public class PersonneListe extends aDonneeListe<Personne> implements ListePaginable {
25
 
22
 
26
	private static final long serialVersionUID = 2930530504922300155L;
23
	private static final long serialVersionUID = 2930530504922300155L;
27
	private int currentPage = 0;
-
 
28
	private int nbElementsPage = Integer.valueOf(((Dictionary) Dictionary
24
	private int currentPage = 0;
29
			.getDictionary("configuration")).get("nbElementsPage"));
25
	private int nbElementsPage = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage"));
Line 30... Line 26...
30
	private int nbElementsTotal;
26
	private int nbElementsTotal;
31
	private Rafraichissable vueARafraichir;
27
	private Rafraichissable vueARafraichir;
Line 38... Line 34...
38
	}
34
	}
Line 39... Line 35...
39
 
35
 
40
	/**
36
	/**
41
	 * Constructeur avec paramètre
37
	 * Constructeur avec paramètre
42
	 * 
-
 
43
	 * @param taille
38
	 * 
44
	 *            la taille de la table de hachage
39
	 * @param taille la taille de la table de hachage
45
	 */
40
	 */
46
	public PersonneListe(int taille) {
41
	public PersonneListe(int taille) {
47
		super(taille);
42
		super(taille);
Line 48... Line 43...
48
	}
43
	}
49
 
44
 
50
	/**
45
	/**
51
	 * Constructeur pour une liste de personne
46
	 * Constructeur pour une liste de personne
52
	 * 
47
	 * 
53
	 * @param dates
48
	 * @param dates
54
	 */
49
	 */
55
	public PersonneListe(JSONArray personneListe) {
-
 
56
		super(personneListe.size());
-
 
57
 
-
 
58
		final int taillemax = personneListe.size();
-
 
59
		for (int i = 0; i < taillemax; i++) {
-
 
60
			JSONObject personneCourante = personneListe.get(i).isObject();
-
 
61
 
-
 
62
			if (personneCourante != null) {
50
	public PersonneListe(JSONArray ListeDePersonnes) {
63
				Personne personne = new Personne(personneCourante);
-
 
64
				this.put(personne.getId(), personne);
-
 
65
			}
51
		super(ListeDePersonnes.size());
Line 66... Line 52...
66
		}
52
		initialiserPersonneListe(ListeDePersonnes);
67
	}
-
 
68
 
53
	}
69
	public PersonneListe(JSONArray personneListe, JSONNumber nbElements,
-
 
70
			Rafraichissable vueARafraichir) {
54
 
-
 
55
	public PersonneListe(JSONArray ListeDePersonnes, JSONNumber nbElements, Rafraichissable vueARafraichir) {
-
 
56
		super(ListeDePersonnes.size());
-
 
57
		this.nbElementsTotal = Integer.valueOf(nbElements.toString());
-
 
58
		this.vueARafraichir = vueARafraichir;
-
 
59
		initialiserPersonneListe(ListeDePersonnes);
71
		super(personneListe.size());
60
	}
72
 
61
	
73
		this.nbElementsTotal = Integer.valueOf(nbElements.toString());
62
	private void initialiserPersonneListe(JSONArray ListeDePersonnes) {
74
		final int taillemax = personneListe.size();
-
 
75
		for (int i = 0; i < taillemax; i++) {
63
		final int taillemax = ListeDePersonnes.size();
76
			JSONObject personneCourante = personneListe.get(i).isObject();
64
		for (int i = 0; i < taillemax; i++) {
77
 
65
			JSONObject personneCourante = ListeDePersonnes.get(i).isObject();
78
			if (personneCourante != null) {
66
			if (personneCourante != null) {
79
				Personne personne = new Personne(personneCourante);
67
				Personne personne = new Personne(personneCourante);
80
				this.put(personne.getId(), personne);
-
 
81
			}
-
 
82
		}
68
				this.put(personne.getId(), personne);
Line 83... Line 69...
83
 
69
			}
84
		this.vueARafraichir = vueARafraichir;
70
		}
85
	}
-
 
86
 
71
	}
87
	public int[] getPageTable() {
72
 
88
		int[] page = new int[4];
-
 
89
 
73
	public int[] getPageTable() {
90
		// nombre de pages au total
74
		int[] page = new int[4];
91
		page[0] = calculerNbPages();
-
 
92
 
75
		// nombre de pages au total
93
		// Page En Cours
76
		page[0] = calculerNbPages();
94
		page[1] = currentPage;
-
 
95
 
77
		// Page En Cours
96
		// nbElementsParPage
78
		page[1] = currentPage;
97
		page[2] = nbElementsPage;
-
 
98
 
79
		// nbElementsParPage
99
		// et le dernier le nombre total d'éléments
80
		page[2] = nbElementsPage;
Line 100... Line 81...
100
		page[3] = nbElementsTotal;
81
		// et le dernier le nombre total d'éléments
101
 
82
		page[3] = nbElementsTotal;
102
		return page;
83
		return page;
103
	}
84
	}
104
 
85
 
105
	/**
86
	/**
106
	 * Calcule le nombre de pages nécessaires pour afficher un nombre d'élements
87
	 * Calcule le nombre de pages nécessaires pour afficher un nombre d'élements
107
	 * donnés en fonction de la taille de page en cours
88
	 * donnés en fonction de la taille de page en cours
108
	 * 
-
 
109
	 * @return le nombre de pages
-
 
110
	 */
89
	 * 
111
	public int calculerNbPages() {
90
	 * @return le nombre de pages
112
		// A cause de la betise de java pour les conversion implicite on fait
-
 
113
		// quelques conversions manuellement
91
	 */
114
		// pour eviter qu'il arrondisse mal la division
92
	public int calculerNbPages() {
115
		// nombre de pages = (nombre d'element / taille de la page) arrondie à
93
		// À cause de la bétise de java pour les conversion implicite, on fait quelques conversions manuellement
Line 116... Line 94...
116
		// l'entier superieur
94
		// pour eviter qu'il arrondisse mal la division nombre de pages = (nombre d'element / taille de la page) 
117
 
95
		// arrondie à l'entier supérieur.
118
		double nPage = (1.0 * nbElementsTotal) / (1.0 * nbElementsPage);
96
		double nPage = (1.0 * nbElementsTotal) / (1.0 * nbElementsPage);
Line 119... Line 97...
119
		double nPageRound = Math.ceil(nPage);
97
		double nPageRound = Math.ceil(nPage);
120
		Double nPageInt = new Double(nPageRound);
98
		Double nPageInt = new Double(nPageRound);
Line 145... Line 123...
145
		this.nbElementsPage = taillePage;
123
		this.nbElementsPage = taillePage;
146
	}
124
	}
Line 147... Line 125...
147
 
125
 
148
	public void selectionnerPersonne() {
126
	public void selectionnerPersonne() {
149
		Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
127
		Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
150
		mediateur.selectionnerPersonne(vueARafraichir, null, null, currentPage,
-
 
151
				nbElementsPage);
128
		mediateur.selectionnerPersonne(vueARafraichir, null, null, currentPage, nbElementsPage);
Line 152... Line 129...
152
	}
129
	}
153
 
130
 
154
	public void filtrerParNom(String nom) {
131
	public void filtrerParNom(String nom) {
155
		Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
132
		Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
156
		Personne personne = new Personne();
133
		Personne personne = new Personne();
157
		personne.setNom("%" + nom + "%");
-
 
158
		mediateur.selectionnerPersonne(vueARafraichir, personne, null, currentPage,
134
		personne.setNom("%" + nom + "%");
159
				nbElementsPage);
-
 
160
	}
135
		mediateur.selectionnerPersonne(vueARafraichir, personne, null, currentPage, nbElementsPage);
161
 
136
	}