Bonjour à tous,
Je viens de commencer à faire des essais via l'utilisation d'EMF pour faire du CRUD (solution 2 d'Angelo) en intégrant les points suivants :
- Exemple d'un modèle (Person, Address) et génération des codes associées
- Création d'instances via l'éditeur générée
- Création d'instances via l'API
- Persistance dans un fichier XMI (chargement/sauvegarde)
- Création d'une vue (avec un champ texte qui désigne le prénom d'une personne)
- Binding via le composant texte et l'attribut prénom du modèle
- Transaction (TransactionalEditingDomain) et écriture sous transaction avec RecordingCommand
- Undo/Redo via la commandStack Redo et Undo (qui ne fonctionnent que si les modifications ont été réalisées dans une transaction et non via le binding)
Tout n'est pas rose puisque le binding et les transactions n'ont pas l'air de fonctionner ensemble. En fait je me pose la question de savoir à quel niveau doit s'inscrire la transaction ?
- A l'initialisation de ma vue, je fais une copie du modèle et lorsque je sauvegarde j'envoie via transaction à mon modèle de référence. Inconvénient je ne profite pas de undo/redo tout au long de l'édition de mon formulaire.
- A chaque modification dans mon formulaire, je suis dans une transaction. Inconvénient je ne profite pas du binding
Avez-vous une idée sur la question ?
Mickael
Partager