Line 27... |
Line 27... |
27 |
numeroSequence = 0;
|
27 |
numeroSequence = 0;
|
28 |
}
|
28 |
}
|
Line 29... |
Line 29... |
29 |
|
29 |
|
30 |
// Retourne le numéro du séquenceur
|
30 |
// Retourne le numéro du séquenceur
|
- |
|
31 |
public int lancerRequeteSynchrone(Rafraichissable vueARafraichir) {
|
- |
|
32 |
|
31 |
public int lancerRequeteSynchrone(Rafraichissable vueARafraichir) {
|
33 |
if (Mediateur.DEBUG_CHARGEMENT) System.out.println("[CHARGEMENT] lancerRequeteSynchrone("+vueARafraichir.getClass().getName()+")");
|
32 |
if (numeroSequence == 0) {
|
34 |
//if (numeroSequence == 0) {
|
33 |
mediateur.activerChargement("Chargement en cours... Veuillez patienter");
|
35 |
mediateur.activerChargement(this, "Chargement en cours... Veuillez patienter");
|
Line 34... |
Line 36... |
34 |
}
|
36 |
//}
|
35 |
|
37 |
|
36 |
numeroSequence++;
|
38 |
numeroSequence++;
|
37 |
if (Mediateur.DEBUG) System.out.println("==> Sequenceur : Envoi requete n°" + numeroSequence);
|
39 |
if (Mediateur.DEBUG) System.out.println("==> Sequenceur : Envoi requete n°" + numeroSequence);
|
Line 41... |
Line 43... |
41 |
return numeroSequence;
|
43 |
return numeroSequence;
|
42 |
}
|
44 |
}
|
Line 43... |
Line 45... |
43 |
|
45 |
|
44 |
//Offrir la possibilité d'enfiler (=mettre à la fin d'une file d'attente) un rafraichissement dont on a déjà le retour
|
46 |
//Offrir la possibilité d'enfiler (=mettre à la fin d'une file d'attente) un rafraichissement dont on a déjà le retour
|
45 |
public int enfilerRafraichissement(Rafraichissable vueARafraichir, Object nouvellesDonnees) {
|
47 |
public int enfilerRafraichissement(Rafraichissable vueARafraichir, Object nouvellesDonnees) {
|
46 |
if (numeroSequence == 0) {
|
48 |
//if (numeroSequence == 0) {
|
47 |
mediateur.activerChargement("Chargement en cours... Veuillez patienter");
|
49 |
mediateur.activerChargement(this, "Chargement en cours... Veuillez patienter");
|
48 |
}
|
50 |
//}
|
49 |
numeroSequence++;
|
51 |
numeroSequence++;
|
50 |
if (Mediateur.DEBUG) System.out.println("|| Sequenceur : Empiler n°" + numeroSequence);
|
52 |
if (Mediateur.DEBUG) System.out.println("|| Sequenceur : Empiler n°" + numeroSequence);
|
51 |
Requete requete = new Requete(vueARafraichir, numeroSequence);
|
53 |
Requete requete = new Requete(vueARafraichir, numeroSequence);
|
52 |
Reponse reponse = new Reponse(nouvellesDonnees, numeroSequence);
|
54 |
Reponse reponse = new Reponse(nouvellesDonnees, numeroSequence);
|
53 |
requetes.put(numeroSequence, requete);
|
55 |
requetes.put(numeroSequence, requete);
|
54 |
rafraichir(reponse);
|
56 |
rafraichir(reponse);
|
55 |
mediateur.desactiverChargement();
|
57 |
mediateur.desactiverChargement(this);
|
56 |
return numeroSequence;
|
58 |
return numeroSequence;
|
Line 57... |
Line 59... |
57 |
}
|
59 |
}
|
Line 58... |
Line 60... |
58 |
|
60 |
|
59 |
public void rafraichir(Object nouvellesDonnees) {
|
61 |
public void rafraichir(Object nouvellesDonnees) {
|
60 |
|
62 |
|
61 |
try {
|
63 |
try {
|
62 |
Reponse reponse = (Reponse) nouvellesDonnees;
|
64 |
Reponse reponse = (Reponse) nouvellesDonnees;
|
63 |
if (Mediateur.DEBUG) System.out.println("<== Sequenceur : Réception d'une réponse, n°" + reponse.obtenirNumeroSequence() + ", marqueur retour " + marqueurRetour);
|
65 |
if (Mediateur.DEBUG) System.out.println("<== Sequenceur : Réception d'une réponse, n°" + reponse.obtenirNumeroSequence() + ", marqueur retour " + marqueurRetour);
|
64 |
|
66 |
|
65 |
if (reponse.obtenirNumeroSequence() == marqueurRetour) {
|
67 |
if (reponse.obtenirNumeroSequence() == marqueurRetour) {
|
- |
|
68 |
// Si le numéro de séquence du retour correspond au marqueur, on rafraichit
|
66 |
// Si le numéro de séquence du retour correspond au marqueur, on rafraichit
|
69 |
Requete requete = requetes.get(marqueurRetour);
|
67 |
Requete requete = requetes.get(marqueurRetour);
|
- |
|
68 |
if (Mediateur.DEBUG) System.out.println("<|-- Sequenceur : Retourne paquet n°"+reponse.obtenirNumeroSequence()+" à "+requete.getVueARafraichir().getClass().toString());
|
70 |
if (Mediateur.DEBUG) System.out.println("<|-- Sequenceur : Retourne paquet n°"+reponse.obtenirNumeroSequence()+" à "+requete.getVueARafraichir().getClass().toString());
|
69 |
requete.rafraichir(reponse.obtenirRetour());
|
71 |
mediateur.desactiverChargement(this);
|
70 |
mediateur.desactiverChargement();
|
72 |
requete.rafraichir(reponse.obtenirRetour());
|
71 |
requetes.remove(marqueurRetour);
|
73 |
requetes.remove(marqueurRetour);
|
72 |
marqueurRetour++;
|
74 |
marqueurRetour++;
|
Line 79... |
Line 81... |
79 |
if (Mediateur.DEBUG) {
|
81 |
if (Mediateur.DEBUG) {
|
80 |
System.out.println("<== Sequenceur : Réception d'une réponse incorrecte");
|
82 |
System.out.println("<== Sequenceur : Réception d'une réponse incorrecte");
|
81 |
System.out.println(" Le séquenceur ne peut recevoir que des Reponse");
|
83 |
System.out.println(" Le séquenceur ne peut recevoir que des Reponse");
|
82 |
System.out.println(" > nouvellesDonnees = "+nouvellesDonnees.getClass().toString());
|
84 |
System.out.println(" > nouvellesDonnees = "+nouvellesDonnees.getClass().toString());
|
83 |
}
|
85 |
}
|
84 |
mediateur.desactiverChargement();
|
86 |
mediateur.desactiverChargement(this);
|
85 |
}
|
87 |
}
|
86 |
}
|
88 |
}
|
Line 87... |
Line 89... |
87 |
|
89 |
|
88 |
public int obtenirNumeroSequence() {
|
90 |
public int obtenirNumeroSequence() {
|
Line 93... |
Line 95... |
93 |
if (requetes.size()>0) {
|
95 |
if (requetes.size()>0) {
|
94 |
// on récupère la première requete dans la file
|
96 |
// on récupère la première requete dans la file
|
95 |
Requete premiereRequete = requetes.get(marqueurRetour);
|
97 |
Requete premiereRequete = requetes.get(marqueurRetour);
|
96 |
if (premiereRequete!=null && premiereRequete.hasResponse()) {
|
98 |
if (premiereRequete!=null && premiereRequete.hasResponse()) {
|
97 |
if (Mediateur.DEBUG) System.out.println("<|-- Sequenceur : Retourne paquet n°"+premiereRequete.obtenirReponse().obtenirNumeroSequence()+" à "+premiereRequete.getVueARafraichir().getClass().toString());
|
99 |
if (Mediateur.DEBUG) System.out.println("<|-- Sequenceur : Retourne paquet n°"+premiereRequete.obtenirReponse().obtenirNumeroSequence()+" à "+premiereRequete.getVueARafraichir().getClass().toString());
|
98 |
premiereRequete.rafraichir();
|
100 |
premiereRequete.rafraichir();
|
99 |
mediateur.desactiverChargement();
|
101 |
mediateur.desactiverChargement(this);
|
100 |
requetes.remove(marqueurRetour);
|
102 |
requetes.remove(marqueurRetour);
|
101 |
marqueurRetour++;
|
103 |
marqueurRetour++;
|
102 |
avancerSequence();
|
104 |
avancerSequence();
|
103 |
}
|
105 |
}
|
104 |
}
|
106 |
}
|