Subversion Repositories eFlore/Applications.coel

Rev

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

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