Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 8 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8 Rev 49
1
package org.tela_botanica.client.observation;
1
package org.tela_botanica.client.observation;
2
 
2
 
3
 
-
 
4
import org.tela_botanica.client.interfaces.iRetourObservation;
-
 
-
 
3
 
-
 
4
 
5
import org.tela_botanica.client.modeles.ObservationAsynchroneDAO;
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;
6
 
-
 
-
 
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
	
-
 
29
	/**
7
import com.google.gwt.i18n.client.Dictionary;
-
 
-
 
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
	
8
 
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
		{
-
 
55
			// sinon on renvoit null, interdisant explicitement la création d'un autre exemplaire
9
public class ObservationModele {
56
			return null ;
10
 
-
 
-
 
57
		}
-
 
58
	}
-
 
59
 
11
	
-
 
-
 
60
	
-
 
61
	
-
 
62
	private ObservationModele(ObservationMediateur observationMediateur) {
-
 
63
		
-
 
64
		this.observationMediateur=observationMediateur;
-
 
65
		
12
	private final String baseURL;
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 
-
 
77
	 */
13
	
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) {	
14
	
100
		
15
	public ObservationModele() {
101
		 	String motsClesFiltres[][] = observationMediateur.renvoyerFiltres() ;
16
		
102
			
17
		baseURL=Dictionary.getDictionary("Parameters").get("serviceBaseUrl");
103
			
18
		
104
			// ensuite on demande la page correspondante avec les mêmes critères
19
	}
105
			String[][] criteres2 = { {"limite" ,""+taillePage },{"numero_page",""+pageEncours}, {motsClesFiltres[0][0], motsClesFiltres[0][1]}} ;
20
 
106
			
21
 
107
			// et on crée un DAO auquel on les transmet et qui envoie une requete pour recevoir les images
22
	public void getNombreObservation(final iRetourObservation retour, String identifiant, String identifiantLocalite, String localite, String annee,  String mois,  String jour, String lieudit, String rechercheLibre) {
108
			
23
 
109
			ListeObservationAsynchroneDAO loaDAO = new ListeObservationAsynchroneDAO(this);
24
			new ObservationAsynchroneDAO().getNombreObservation(baseURL, retour, identifiant, identifiantLocalite, localite, annee, mois, jour, lieudit, rechercheLibre );
110
			loaDAO.obtenirListeObservation(r, observationMediateur.getIdentifiant(), criteres2);		
25
		
111
	}
26
	}
112
	
27
 
113
 
28
 
114
	
29
	public void getListeObservation(iRetourObservation retour, String identifiant, String identifiantLocalite, String localite, String annee, String mois, String jour, String lieudit, String rechercheLibre, int debut, int longueur) {
115
	public FournisseurListe obtenirFournisseurReferentielCommune() {
30
		
116
		
31
		new ObservationAsynchroneDAO().getListeObservation(baseURL, retour, identifiant, identifiantLocalite, localite, annee, mois, jour, lieudit, rechercheLibre, debut, longueur );
117
		return new ListeReferentielCommuneAsynchroneDAO(this);
32
		
118
		
33
	}
119
	}
-
 
120
 
-
 
121
 
-
 
122
	/**
-
 
123
	 * Accesseur pour la configuration en cours d'utilisation
-
 
124
	 * 
-
 
125
	 * @return la configuration
-
 
126
	 */
-
 
127
	public Configuration getConfig() {
-
 
128
 
-
 
129
		return config;
-
 
130
	}
-
 
131
 
-
 
132
 
-
 
133
	
34
 
134
 
35
 
135
 
36
	
136
	
37
}
137
}