Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 8 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8 Rev 49
Line 1... Line 1...
1
package org.tela_botanica.client.observation;
1
package org.tela_botanica.client.observation;
Line 2... Line -...
2
 
-
 
3
 
-
 
Line -... Line 2...
-
 
2
 
-
 
3
 
4
import org.tela_botanica.client.interfaces.iRetourObservation;
4
 
-
 
5
import org.tela_botanica.client.interfaces.FournisseurListe;
-
 
6
import org.tela_botanica.client.interfaces.Rafraichissable;
-
 
7
import org.tela_botanica.client.modeles.Configuration;
-
 
8
import org.tela_botanica.client.modeles.ListeObservationAsynchroneDAO;
Line 5... Line 9...
5
import org.tela_botanica.client.modeles.ObservationAsynchroneDAO;
9
import org.tela_botanica.client.modeles.ListeReferentielCommuneAsynchroneDAO;
Line 6... Line -...
6
 
-
 
Line -... Line 10...
-
 
10
import org.tela_botanica.client.modeles.NombreObservationAsynchroneDAO;
-
 
11
 
-
 
12
 
-
 
13
public class ObservationModele  {
-
 
14
 
-
 
15
	
-
 
16
	
-
 
17
	/**
-
 
18
	 * Booleen indiquant si le médiateur est instancié (l'instance doit être unique donc le booleen est static)
-
 
19
	 */
-
 
20
	private static boolean estInstancie = false ;
-
 
21
	
-
 
22
	
-
 
23
	/**
-
 
24
	 * La configuration en cours
Line 7... Line 25...
7
import com.google.gwt.i18n.client.Dictionary;
25
	 */
Line 8... Line -...
8
 
-
 
Line -... Line 26...
-
 
26
	private Configuration config = null;
-
 
27
 
-
 
28
	
-
 
29
	/**
-
 
30
	 * Le médiateur associé au modèle
-
 
31
	 */
-
 
32
	
-
 
33
	private ObservationMediateur observationMediateur = null ;
-
 
34
	
-
 
35
	
-
 
36
	
-
 
37
 
-
 
38
	/**
-
 
39
	 * Retourne une instance de manière unique
-
 
40
	 * @param im le médiateur à associer
-
 
41
	 * @return l'instance du modèle
-
 
42
	 */
-
 
43
	
-
 
44
	static ObservationModele Instance(ObservationMediateur observationMediateur)
-
 
45
	{
-
 
46
		// si le modèle n'est pas encore instancié
-
 
47
		if(!estInstancie)
9
public class ObservationModele {
48
		{
Line 10... Line -...
10
 
-
 
Line 11... Line 49...
11
	
49
			// on en crée un nouveau
-
 
50
			estInstancie = true ;
-
 
51
			return new ObservationModele(observationMediateur);
-
 
52
		}
-
 
53
		else
-
 
54
		{
Line 12... Line 55...
12
	private final String baseURL;
55
			// sinon on renvoit null, interdisant explicitement la création d'un autre exemplaire
Line 13... Line -...
13
	
-
 
Line -... Line 56...
-
 
56
			return null ;
-
 
57
		}
-
 
58
	}
-
 
59
 
-
 
60
	
-
 
61
	
-
 
62
	private ObservationModele(ObservationMediateur observationMediateur) {
-
 
63
		
-
 
64
		this.observationMediateur=observationMediateur;
-
 
65
		
-
 
66
		config = new Configuration();
-
 
67
 
-
 
68
		
14
	
69
	}
-
 
70
 
-
 
71
 
-
 
72
	
Line 15... Line 73...
15
	public ObservationModele() {
73
	/**
Line -... Line 74...
-
 
74
	 * Appelle le DAO asynchrone pour obtenir le nombre d'observation
-
 
75
	 * @param r le rafraichissable auxquel on enverra les données
-
 
76
	 * @param taillePage 
-
 
77
	 */
-
 
78
	public void obtenirNombreObservation(Rafraichissable r) {	
-
 
79
		
-
 
80
		 	String motsClesFiltres[][] = observationMediateur.renvoyerFiltres() ;
-
 
81
			
-
 
82
			// on rassemble les critères
-
 
83
			String[][] criteres = {{motsClesFiltres[0][0], motsClesFiltres[0][1]} } ;
-
 
84
			
-
 
85
			
-
 
86
			// on les crée un DAO auquel on les transmet et qui demande le nombre d'images correspondantes (pour les pages)
-
 
87
			
-
 
88
			NombreObservationAsynchroneDAO noaDAO = new NombreObservationAsynchroneDAO(this) ;
-
 
89
			noaDAO.obtenirNombreObservation(r, observationMediateur.getIdentifiant(), criteres) ;
-
 
90
					
-
 
91
	}
-
 
92
	
-
 
93
	
-
 
94
	/**
-
 
95
	 * Appelle le DAO asynchrone pour obtenir la liste des images
-
 
96
	 * @param r le rafraichissable auxquel on enverra les données
-
 
97
	 * @param taillePage 
-
 
98
	 */
-
 
99
	public void obtenirListeObservation(Rafraichissable r, int taillePage, int pageEncours) {	
-
 
100
		
-
 
101
		 	String motsClesFiltres[][] = observationMediateur.renvoyerFiltres() ;
-
 
102
			
-
 
103
			
-
 
104
			// ensuite on demande la page correspondante avec les mêmes critères
-
 
105
			String[][] criteres2 = { {"limite" ,""+taillePage },{"numero_page",""+pageEncours}, {motsClesFiltres[0][0], motsClesFiltres[0][1]}} ;
-
 
106
			
-
 
107
			// et on crée un DAO auquel on les transmet et qui envoie une requete pour recevoir les images
-
 
108
			
-
 
109
			ListeObservationAsynchroneDAO loaDAO = new ListeObservationAsynchroneDAO(this);
-
 
110
			loaDAO.obtenirListeObservation(r, observationMediateur.getIdentifiant(), criteres2);		
-
 
111
	}
-
 
112
	
-
 
113
 
-
 
114
	
-
 
115
	public FournisseurListe obtenirFournisseurReferentielCommune() {
Line 16... Line 116...
16
		
116