IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Java Discussion :

Parcourir un fichier UML + ResourceSet


Sujet :

Eclipse Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 19
    Par défaut Parcourir un fichier UML + ResourceSet
    Bonjour,

    J'utilise ce bout de code pour parcourir mon modèle uml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    String uristring = "platform:/resource/monModel/model.uml";
    URI uri = URI.createURI(uristring);
     
     ResourceSet resourceSet = new ResourceSetImpl();
     Resource inResource = resourceSet.getResource(uri, true); 
     
    System.out.println(uri);
    System.out.println(CommonPlugin.resolve(uri));
    mon fichier uml est bien dans le workspace sous le répertoire monModel, mais quand j'exectute il me donne toujours l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Caused by: org.eclipse.core.internal.resources.ResourceException: Resource '/monModel/model.uml' does not exist.
    	at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:320)
    	at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:194)
    	.....................
    Avez vous une idée SVP?
    Merci

  2. #2
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Il ne te manque pas le nom du projet? (à moins que ça ne soit "monModel")
    Sinon, essaye d'utiliser la fonction createPlatformResourceURI(String, boolean) plutôt... Ça t'évite de te trimbaler le protocole. Regarde la javadoc, ça pourrait t'aiguiller vers une solution.

    Voilà, à+
    Gueritarish

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 19
    Par défaut
    Salut,

    Effectivement, le nom du projet est monModel!
    Je modifie le code de telle façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     URI uri2 = URI.createPlatformResourceURI("/MonModel/model.uml",true);
     
        ResourceSet resourceSet = new ResourceSetImpl();
     
        Resource inResource = resourceSet.getResource(uri2, true);
    mais j'ai cette erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Exception in thread "main" java.lang.RuntimeException: Cannot create a resource for 'platform:/resource/monModel/model.uml'; a registered resource factory is needed
    	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:394)
    	at parsing.main(parsing.java:30)
    Il y'a quelques choses qui manque.?
    Merci pour votre aide.

  4. #4
    Membre Expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 479
    Par défaut
    J'ai l'impression qu'il te manque certains plugin d'uml. Notamment celui qui definit enregistre la ResourceFactory pour les extensions .uml.

  5. #5
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Il faut indiquer à la factory la façon dont il doit lire ton fichier.
    La FAQ EMF contient la réponse. Il suffit en fait de la paramétrer de cette façon (cf la FAQ UML2):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
     
    resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
    Map uriMap = resourceSet.getURIConverter().getURIMap();
    URI uri = URI.createURI("jar:file:/C:/eclipse/plugins/org.eclipse.uml2.uml.resources_<version>.jar!/"); // for example
    uriMap.put(URI.createURI(UMLResource.LIBRARIES_PATHMAP), uri.appendSegment("libraries").appendSegment(""));
    uriMap.put(URI.createURI(UMLResource.METAMODELS_PATHMAP), uri.appendSegment("metamodels").appendSegment(""));
    uriMap.put(URI.createURI(UMLResource.PROFILES_PATHMAP), uri.appendSegment("profiles").appendSegment(""));
    Voilà, à+
    Gueritarish

Discussions similaires

  1. Comment parcourir un fichier texte avec une boucle ?
    Par kikica dans le forum Langage
    Réponses: 2
    Dernier message: 15/11/2005, 17h13
  2. Parcourir un fichier HTML
    Par obelix dans le forum Entrée/Sortie
    Réponses: 16
    Dernier message: 14/11/2005, 20h24
  3. [débutant]Parcourir un fichier XML
    Par Wis dans le forum ASP
    Réponses: 2
    Dernier message: 26/09/2005, 10h04
  4. Parcourir un fichier
    Par sepsep dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/07/2005, 08h25
  5. Réponses: 6
    Dernier message: 23/12/2003, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo