Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 8 | Show entire file | Ignore 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;
Line 5... Line -...
5
import org.tela_botanica.client.modeles.ObservationAsynchroneDAO;
-
 
Line -... Line 8...
-
 
8
import org.tela_botanica.client.modeles.ListeObservationAsynchroneDAO;
-
 
9
import org.tela_botanica.client.modeles.ListeReferentielCommuneAsynchroneDAO;
-
 
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
-
 
25
	 */
-
 
26
	private Configuration config = null;
-
 
27
 
-
 
28
	
Line 6... Line -...
6
 
-
 
Line -... Line 29...
-
 
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
	 */
7
import com.google.gwt.i18n.client.Dictionary;
43
	
-
 
44
	static ObservationModele Instance(ObservationMediateur observationMediateur)
-
 
45
	{
-
 
46
		// si le modèle n'est pas encore instancié
-
 
47
		if(!estInstancie)
-
 
48
		{
-
 
49
			// on en crée un nouveau
-
 
50
			estInstancie = true ;
-
 
51
			return new ObservationModele(observationMediateur);
-
 
52
		}
-
 
53
		else
-
 
54
		{
Line 8... Line 55...
8
 
55
			// sinon on renvoit null, interdisant explicitement la création d'un autre exemplaire
Line 9... Line -...
9
public class ObservationModele {
-
 
-
 
56
			return null ;
Line -... Line 57...
-
 
57
		}
-
 
58
	}
Line 10... Line -...
10
 
-
 
Line -... Line 59...
-
 
59
 
-
 
60
	
-
 
61
	
-
 
62
	private ObservationModele(ObservationMediateur observationMediateur) {
-
 
63
		
-
 
64
		this.observationMediateur=observationMediateur;
11
	
65
		
Line -... Line 66...
-
 
66
		config = new Configuration();
-
 
67
 
-
 
68
		
-
 
69
	}
-
 
70
 
-
 
71
 
-
 
72
	
-
 
73
	/**
-
 
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 
12
	private final String baseURL;
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
	 */
Line 13... Line 99...
13
	
99
	public void obtenirListeObservation(Rafraichissable r, int taillePage, int pageEncours) {	
14
	
100
		
Line 15... Line 101...
15
	public ObservationModele() {
101
		 	String motsClesFiltres[][] = observationMediateur.renvoyerFiltres() ;
Line 16... Line 102...
16
		
102
			
Line -... Line 103...
-
 
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() {
-
 
116
		
Line 17... Line 117...
17
		baseURL=Dictionary.getDictionary("Parameters").get("serviceBaseUrl");
117
		return new ListeReferentielCommuneAsynchroneDAO(this);