Site Overlay

TÉLÉCHARGER EMF ECLIPSE GRATUIT

Les contraintes basiques des objets de notre modèle sont alors validées comme dans l’éditeur Ecore. Dans la classe AddressBookTest du fragment eclipse. Créer un package eclipse. De même sur les aspects pratiques, je vous recommande de parcourir mon support de cours consacré aux technologies EMF dédiées à l’IDM. Comparaison arborescente avec EMF Compare.

Nom: emf eclipse
Format: Fichier D’archive
Système d’exploitation: Windows, Mac, Android, iOS
Licence: Usage Personnel Seulement
Taille: 12.25 MBytes

Création d’instances via le métamodèle Ecore VII. Comme d’habitude, on peut modifier le comportement de la classe, par exemple, on peut activer très simplement la validation de notre modèle en ajoutant dans le code la commande de validation. L’article ‘Eclipse has a future’ explique le positionnement d’e4, fait le point sur l’avancement des travaux et rappelle qu’Eclipse 4 et Eclipse 3. Nous savons maintenant comment afficher les éléments contenus dans notre modèle et éventuellement les modifier. Télécharger Eclipse Web Tools 0. Vous pouvez pour cela consulter les articles suivants:

EMF ne se contente pas seulement de générer le code des classes, mais aussi d’instrumenter ce code. Grâce à cette instrumentation, il est possible de construire des frameworks de plus haut niveau, indépendants de la logique métier derrière un modèle. Parmi ces frameworks, EMF. Edit permet de générer et d’utiliser edlipse ensemble de classes pour la visualisation et l’édition des modèles EMF.

Cet article se propose de donner un aperçu des mécanismes de base de ce framework.

emf eclipse

Les sources de cet exemple sont disponibles à l’adresse suivante: Pour toute remarque ou question sur ce tutoriel, profitez de cette discussion: Version PDF Version hors-ligne. EMF, Eclipse Modeling Framework, permet de générer, un peu comme le ferait un générateur de code UML, une architecture de classes qui représentent un modèle métier.

EMF ne se contente pas de générer seulement les classes Java, mais aussi toute une infrastructure associée. Ainsi, on bénéficiera par exemple de la persistance du modèle au format XMI, mais aussi d’un ensemble d’outils pour interroger le modèle de manière totalement indépendante des objets qu’il contient. Cette infrastructure permet de construire des outils de plus haut niveau pour traiter les modèles créés avec EMF.

Au sein de ce framework, une des fonctionnalités est notamment la visualisation et l’édition de modèles grâce au framework EMF. Cet article se propose d’expliquer les mécanismes de base d’EMF.

Edit et comment les adapter à des besoins propres. Nous verrons ainsi comment visualiser très rapidement l’intégralité d’un modèle et comment le modifier de manière simple.

Pour suivre cet article, il est indispensable de connaître comment créer et modifier un modèle EMF. Vous pouvez pour cela consulter les articles suivants:. Nous allons suivre les étapes suivantes:. La première étape est évidemment de créer un modèle EMF. Nous allons nous baser dans cet article sur un exemple simple, déjà utilisé dans l’article sur Sirius. Ce modèle représente les liaisons aériennes qui existent entre différents aéroports. Le modèle contiendra donc un certain nombre d’aéroports définis par un nom, une ville et un pays.

Ces aéroports ont un ensemble de portes identifiées par un numéro. Ces portes peuvent référencer une porte d’un autre aéroport, représentant ainsi une liaison entre deux aéroports.

Cela va créer un fichier. Créez ensuite chacun des éléments du modèle pour obtenir le diagramme suivant:. Afin de tester les fonctionnalités d’EMF. Vous pouvez utiliser les codes suivants afin de mettre en place ces interfaces vides. Si vous lancez votre application et ouvrez votre modèle avec ce nouvel éditeur, vous verrez une interface vide que nous allons utiliser par la suite.

  TÉLÉCHARGER GRATUITEMENT KEBLACK VENDEUR DE REVE GRATUIT

Nous allons maintenant visualiser notre modèle avec les outils de visualisation d’EMF.

Ces classes peuvent être utilisées pour afficher les éléments du modèle dans des composants JFace via un mécanisme de délégation: Pour regrouper toutes ces classes et fournir la bonne implémentation à la demander, une dernière classe est générée: Elle génère les classes mentionnées précédemment au besoin. Toutes ces classes contiennent du code généré, qui doit être considéré comme tel: Ce qu’il faut retenir, c’est que ces classes vont nous éviter beaucoup de codage manuel!

Voyons ça dans un exemple. Nous voulons visualiser notre modèle dans un arbre, donc un TreeViewer. La première étape est de charger notre modèle à partir de notre fichier. Dans ce premier exemple, nous allons utiliser des mécanismes bas niveau d’EMF. Si nous travaillions sur des objets classiques, nous devrions écrire à la main toutes les méthodes pour parcourir de manière hiérarchique notre modèle ainsi que la manière d’afficher les éléments. Edit va ici entrer en jeu. Puis nous pouvons utiliser cet objet pour instancier deux classes: Vous pouvez évidemment modifier les options de génération pour personnaliser ces éléments.

Les options plus générales sont définies dans l’élément racine du fichier, comme le montre la capture d’écran ci-dessous:. Si vous sélectionnez des éléments du modèle, vous pouvez définir des propriétés pour chacun, comme le fait d’associer une image aux éléments ou l’attribut à utiliser par défaut pour afficher les éléments.

Un autre élément intéressant est le type de provider: Voir son modèle rapidement c’est bien, adapter l’affichage pour le mettre à son goût c’est mieux! Dans ce paragraphe, nous allons modifier la manière dont les éléments de notre modèle sont affichés: Pour autant, une bonne pratique consiste à traiter le code généré comme s’il s’agissait de bytecode.

Cette méthode est directement issue d’une présentation faite à différentes EclipseCon par Mikaël Barbero dont vous trouverez le lien en fin d’article.

Il ne nous reste plus qu’à observer le résultat. Mais on peut aller encore plus loin, en combinant plusieurs factories en une seule pour afficher au sein d’un même viewer plusieurs modèles EMF différents. Une fois instanciée, on peut lui ajouter toutes celles que l’on veut traiter.

Notez que si vous voulez accéder à une adapter factory capable d’afficher n’importe quel modèle disponible dans votre plateforme courante, vous pouvez utiliser l’instruction suivante:.

Un des énormes avantages d’EMF. Edit est que le framework introduit des outils pour faciliter la manipulation et l’édition des modèles. Elles sont principalement constituées de trois catégories principales: Il permet d’instancier les commandes citées précédemment, de les exécuter et enfin de faciliter le chargement et la sauvegarde du modèle.

Nous allons voir comment mettre en place et utiliser ces éléments sur notre modèle.

Eclipse EMF et GEF

La première étape consiste à initialiser l’EditingDomain fmf la CommandStack dans notre éditeur, puis à s’en servir pour charger notre modèle. Dans le code que nous avons modifié, plusieurs points importants sont à noter. Cela permettra la sauvegarde du modèle à chaque fois qu’il est modifié. Il faut donc aussi que nous modifiions cette fonction. Nous ajoutons à cela un test sur notre CommandStack qui peut nous indiquer si des commandes ont été exécutées sur notre ec,ipse depuis son état initial.

Enfin lorsque nous effectuons la sauvegarde de notre modèle, il faut aussi penser à informer la CommandStack que la sauvegarde a été effectuée. Une fois que ces mécanismes sont mis en place, il ne nous reste plus qu’à modifier notre interface pour ajouter des commandes.

  TÉLÉCHARGER MAJ 3.0.2

Nous allons tester les trois commandes au sein de trois actions simples. Si on regarde la syntaxe de la commande, rien de transcendant.

Formation Eclipse EMF

Utiliser ces mécanismes a de multiples avantages:. Eclipae que pour personnaliser le comportement des commandes, on peut écrire des sous-classes de toutes les commandes définies par le framework. Les deux autres commandes fonctionnent exactement de la même manière et leur fonctionnement est aisément compréhensible. On peut vérifier le bon fonctionnement de ces commandes, et le fait que notre éditeur peut bien être sauvegardé lorsqu’on les a utilisées.

On peut dès lors profiter de ces mécanismes sans autre action supplémentaire! Comme d’habitude, on peut modifier le comportement de la classe, par exemple, on peut activer très simplement la validation de notre modèle en ajoutant dans le code la commande de validation. Les contraintes basiques des objets de notre modèle sont alors validées comme dans l’éditeur Ecore. Nous savons maintenant comment afficher les éléments contenus dans notre modèle et éventuellement les modifier.

Néanmoins nous aurons vite le besoin ou l’envie de construire des interfaces plus spécifiques pour modifier les propriétés avancées. Nous allons voir dans ce paragraphe comment éditer les propriétés des objets EMF via le databinding.

Ce mécanisme consiste à lier directement les valeurs affichées dans l’IHM aux valeurs contenues dans le modèle. Lorsque le modèle est modifié, l’affichage l’est aussi directement et vice-versa. Cela évite de passer par les classiques, mais fastidieux mécanismes de listeners, etc. Le databinding peut être réalisé sur des objets classiques, cf. Nous allons créer un élément de type MasterDetails pour afficher les détails des éléments sélectionnés dans l’arbre.

La deuxième méthode va lier chaque champ texte à une propriété EMF. Cela évite un trop grand nombre d’événements lorsque l’utilisateur est en train de taper son texte.

emf eclipse

Avec ces mécanismes, on peut vite dmf que notre modèle est bien mis à jour lorsqu’on modifie une des trois valeurs. Évidemment, l’intérêt d’une interface est aussi d’empêcher l’utilisateur de rentrer des valeurs abracadabrantes, pour cela on peut évidemment réutiliser les mécanismes de validation du databinding dans Eclipse sur nos éléments.

Par exemple nous allons stipuler que chacune des trois données doit commencer par une majuscule. On peut donc tester notre composant et vérifier eclipwe le modèle n’est pas modifié si nos valeurs ne commencent pas par une majuscule. Dans cet article nous avons eu une première approche du framework EMF. Edit et j’espère qu’avec eclippse informations, vous aurez les éléments en main pour construire des interfaces autour de vos modèles EMF.

Ces outils feront peut-être l’objet de prochains articles! Enfin, l’éditeur généré par défaut ainsi que la barre d’outils associée, même s’ils peuvent être verbeux, sont un bon réservoir d’idées et de bonnes pratiques pour vos propres éditeurs!

Tutoriel sur la création et l’instanciation de modèles avec Eclipse Modeling Framework (EMF)

Vous trouverez dans cette section quelques liens qui peuvent être utiles sur EMF. Edit ou les frameworks évoqués en conclusion. Edit et pour la démarche des décorateurs pour les classes générées. Vous avez aimé ce tutoriel?

Alors partagez-le en cliquant sur les boutons suivants: