TP1 - Introduction à EMF
Objectif : créer un modèle Ecore, générer du code, modifier le code généré, fusionner le code généré et le code modifié à la main.
Note : survoler la description complète du TP original, ne pas suivre pas à pas, mais dans les grandes lignes, notamment pour trouver quelles commandes exécuter.
Attention : ne venez pas me voir toutes les 5 minutes pour me demander pourquoi ca ne marche pas. Apprenez à être autonomes, cherchez les réponses à vos problèmes dans la documentation.
Evaluation de votre travail : je passe vous voir individuellement dans la deuxième moitié de la séance, vous me montrez ce que vous faites, je vous pose des questions, vous répondez, je vous demande de faire des manipulations, vous les faites devant moi.
Je note de la manière suivante :
Absent : 0/20
N : non acquis <= 6/20
V : en voie d'acquisition = 10/20
A : acquis >= 16/20
Documentation à lire pour préparer le TP
http://www.awprofessional.com/content/images/0131425420/samplechapter/budinskych02.pdf
http://www.eclipse.org/emf/docs/presentations/OOPSLA/OOPSLA_2006_T38_Intro_To_EMF.pdf
Actions à affectuer
Créer un modèle Ecore
Lancer Eclipse
Créer un projet EMF vide dans votre workspace
Copier le schéma PurchaseOrder dans le projet
Créer un projet EMF à partir du schéma PurchaseOrder (Un projet EMF qui contient un modèle Ecore construit à partir du schéma PurchaseOrder)
Visualiser le modèle Ecore (avec l'éditeur réflexif, et avec l'éditeur texte)
Comprendre les grandes lignes du modèle, modifier quelques propriétés
Générer le code Java qui correspond au modèle Ecore
Visiter le code Java, comprendre sa structure, la relation avec le modèle
Faire des allers-retours entre le modèle et le code Java, changer des propriétés, observer
Générer un éditeur
Visualiser le genmodel, comprendre dans les grandes lignes
Générer un éditeur à partir du genmodel
Visiter le code généré
Relancer Eclipse pour essayer le code généré
Utiliser l'éditeur généré pour créer des objets
Utiliser la fonction de validation pour vérifier la conformance des objets
Sauver vos objets dans un fichier xml, visualiser le fichier avec un éditeur de texte
Modifier les propriétés du genmodel, afin de modifier l'affichage dans l'éditeur (par exemple afficher le nom de la rue pour les adresses)
Modifier le code de l'opération getText comme décrit dans le TP original, afin d'afficher shipTo et billTo.
Remettre le code original de getText (avec le suffix gen)
Fusionner une modification manuelle avec une modification pilotée par le genmodel (voir TP original)