Tutoriel: modifier le modèle dans le dorsal #
-
Dans
dorsal.taches
ajouter la classeModifierFileAttente
-
En VSCode, s’assurer d’avoir l’arborescence suivante
-
Ouvrir
ModifierFileAttente
et ajouter leimport static
suivant:-
import static ca.ntro.app.tasks.backend.BackendTasks.*;
-
-
Dans
ModifierFileAttente
, ajouter un groupe de tâchesimport static ca.ntro.app.tasks.backend.BackendTasks.*; public class ModifierFileAttente { public static void creerTaches(BackendTasks tasks) { tasks.taskGroup("ModifierFileAttente") .waitsFor(model(ModeleFileAttente.class)) .contains(subTasks -> { // Ajouter ici chaque tâche // qui modifie le modèle }); }
- NOTE:
- le groupe de tâche au complet attend que le modèle soit chargé
- NOTE:
-
Ajouter la tâche
ajouterRendezVous
import static ca.ntro.app.tasks.backend.BackendTasks.*; public class ModifierFileAttente { public static void creerTaches(BackendTasks tasks) { tasks.taskGroup("ModifierFileAttente") .waitsFor(model(ModeleFileAttente.class)) .contains(subTasks -> { // XXX: ajouter l'appel! ajouterRendezVous(subTasks); }); } 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)); // Prêt à ajouter un rendez-vous! }); } }
- NOTES:
- la tâche reçoit le message
- la tâche récupère le modèle
- NOTES:
-
Dans
DorsalPong
, appelerModifierFileAttente.creerTaches
public class DorsalPong extends LocalBackendNtro { @Override public void createTasks(BackendTasks tasks) { ModifierFileAttente.creerTaches(tasks); }
-
Exécuter
pong
et vérifier le graphe de tâches pour le Dorsal$ sh gradlew pong