Tutoriel 5: ajouter un rendez-vous #
-
Ajouter
MsgAjouterRendezVous.ajouterA
public class MsgAjouterRendezVous extends Message<MsgAjouterRendezVous> { private Joueur premierJoueur; // ... // ajouter public void ajouterA(ModeleFileAttente fileAttente) { fileAttente.ajouterRendezVous(premierJoueur); } }
-
Implanter
ajouterRendezVous
public class ModeleFileAttente implements Model, Watch, WriteObjectGraph { private long prochainIdRendezVous = 1; private List<RendezVous> rendezVousDansOrdre = new ArrayList<>(); // ... public void ajouterRendezVous(Joueur premierJoueur) { String idRendezVous = genererIdRendezVous(); RendezVous rendezVous = new RendezVous(idRendezVous, premierJoueur); rendezVousDansOrdre.add(rendezVous); } private String genererIdRendezVous() { String idRendezVous = String.valueOf(prochainIdRendezVous); prochainIdRendezVous++; return idRendezVous; }
-
Implanter le constructeur pour
RendezVous
public class RendezVous implements ModelValue { private String idRendezVous; private Joueur premierJoueur; // ... public RendezVous() { } public RendezVous(String idRendezVous, Joueur premierJoueur) { this.idRendezVous = idRendezVous; this.premierJoueur = premierJoueur; }
- NOTES:
- je dois conserver le constructeur par défaut
- mais j’ai le droit d’ajouter d’autres constructeurs
- NOTES:
-
Ajouter l’appel à
ajouterA
au bon endroit dansModifierFileAttente
private static void ajouterRendezVous(BackendTasks subTasks) { subTasks.task("ajouterRendezVous") .waitsFor(model(ModeleFileAttente.class)) .waitsFor(message(MsgAjouterRendezVous.class)) .executes(inputs -> { MsgAjouterRendezVous msgAjouterRendezVous = inputs.get(message(MsgAjouterRendezVous.class)); ModeleFileAttente fileAttente = inputs.get(model(ModeleFileAttente.class)); // ajouter msgAjouterRendezVous.ajouterA(fileAttente); }); }
-
Vérifier que l’ajout d’un rendez-vous fonctionne