/* $Id: $ * Creation date: November 3, 2007 * License: * Copyright: * Authors: */ @mainClass "ClientProxyServeurUtil::Main" @mainOperation "main" package ClientProxyServeurUtil; require kermeta require "ClientProxyServeur.ecore" using kermeta::standard using kermeta::persistence using ClientProxyServeur class Main { operation chargerModele(fichier : String) : Serveur is do var serveur : Serveur var repository : EMFRepository init EMFRepository.new var resource : EMFResource resource ?= repository.createResource(fichier, "platform:/resource/Architecture/meta-models/ClientServeur.ecore") resource.load serveur ?= resource.instances.one result := serveur end operation sauverModele(fichier : String, serveur : Serveur) : Void is do var repository : EMFRepository init EMFRepository.new var resource : EMFResource resource ?= repository.createResource(fichier, "platform:/resource/Architecture/meta-models/ClientProxyServeur.ecore") // rajoute tous les éléments du modèle dans le fichier resource.add(serveur) serveur.connecteA.each { p | resource.add(p) resource.add(p.clientConnecte) resource.add(p.implemente) } resource.save() end operation afficherModele(serveur : Serveur) : Void is do stdio.write(" *** Serveur : "+serveur.nom) stdio.writeln(" connecté à : ") serveur.connecteA.each{ p | stdio.writeln(" --- " + p.nom+" via " + p.implemente.nom + " qui sert de proxy à " +p.clientConnecte.nom) } end operation main() : Void is do var serveur : Serveur serveur := chargerModele("platform:/resource/Architecture/models/ModeleProxyKermeta.xmi") afficherModele(serveur) end }