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

BOUML Discussion :

Bug (possible) dans la gestion des Namespace en C++


Sujet :

BOUML

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 224
    Par défaut Bug (possible) dans la gestion des Namespace en C++
    Je pense avoir deceler un leger bug dans BOUML qui est représenté dans le zip ci-joint.
    Mon problème se situe au niveau des namespaces et de leurs gestions au niveau de la génération C++ (la seule que j'utilise).
    Si vous vous referez au projet BOUML ci-joint, j'ai créé deux classes myClassA_a dans le namespace namespace::A::a et myClassB_b dans le namespace namespace::A::b.
    J'ai défini un artifact qui allie les deux dans le package NamespaceA qui est dans le namespace namespace::A

    Lors de la generation des deux classes, chacunes se retrouvent dans le namespace namespace::A et non namespace::A::a et namespace::A::b.

    Concretement, je veux pouvoir definir des namespaces differents dans des "artifacts" sources et je n'ai pas trouvé comment faire.

    Pour info, je suis sous windows XP et j'utilise BOUML 4.2-1.

    J'espère avoir été clair.
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 551
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 551
    Par défaut mauvaise utilisation des artifacts
    Bonjour,

    vos deux classes sont associées au même artifact (Classes) lui même placé dans le package NamespaceA ayant le namespace C++ namespace::A les deux classes sont produites dans le namespace C++ namespace::A

    la spécification du namespace pour un artifact donné se fait au niveau du package contenant directement la vue de déploiement contenant l'artifact. Le namespace n'est donc pas défini par le package contenant les classes (sauf bien-sûr c'est le même package qui contient les artifacts)

    Une des conséquence de ce choix est qu'il n'est pas possible de mettre de façon naturelle des classes de namespace différents dans un même fichier (artifact)

    vous devriez lire la documentation, par exemple C++ generator

    Bruno

    P.S. si vous voulez avoir un code compilable il ne faut pas nommer 'namespace' le namespace englobant
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 224
    Par défaut
    Merci pour ces précisions.

    C'est bien ce que je craignais, mais j'ai malheureusement besoin de faire ça.

    Dans mon exemple j'ai mis des class dans les sous namespaces (A::a et A::b), mais dans mon vrai projet, ce sont en fait des declarations de typedefs que je voudrais definir dans le meme fichier, ces typedefs etant dans des namespaces differents (A::a et A::b) et utilise dans les classes de ces sous namespaces
    .
    Ma parade a ete de les mettre dans des fichiers differents mais je trouve ca assez dommage de ne pouvoir mettre des namespaces differents dans un meme fichier artifact.

    Encore merci pour votre réponse,

    Cdlt,

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 551
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 551
    Par défaut
    Citation Envoyé par escafr Voir le message
    je trouve ca assez dommage de ne pouvoir mettre des namespaces differents dans un meme fichier artifact.
    pour être franc avec vous je trouve 'pas très propre' de mélanger les namespaces dans un même fichier, mais c'est une affaire de point de vue

    j'ai donc décidé que les indications de namespace se faisaient au niveau package et non au niveau de chaque classe (ce qui aurait été lourd pour les utilisateurs)

    ceci dit rien ne vous empêche de modifier la définition des typedefs pour les produire dans des namespaces sans le faire au niveau des artifacts :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    namespace A { ${comment}typedef ${type} ${name}; }
    mais le problème c'est que le générateur de code ne repère pas cela et les références à ces typedefs se feront sans les prefixer (si besoin) avec le nom du namespace, ce qui n'est valable que si vous avez impérativement une forme using ou que vous êtes dans le même namespace
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 224
    Par défaut
    je vous remercie pour votre réponse, je vais faire deux fichiers differents qui reste la solution "la plus élégante"

    Mais je ne vois pas du tout en quoi un artifact doit etre lié à un namespace.
    Une classe/typedef ca c'est normal, mais un fichier source aucun rapport, fils unique.
    C'est un point de vue personnel que vous ne partagerez sans doute pas...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E] Dysfonctionnement dans la gestion des erreurs
    Par Choco49 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/06/2006, 11h44
  2. [XSD] Gestion des namespaces et des imports
    Par fedfil dans le forum Valider
    Réponses: 1
    Dernier message: 12/01/2006, 14h54
  3. Réponses: 2
    Dernier message: 11/05/2005, 13h23
  4. quel SGBD possible pour telle gestion des droits
    Par meufeu dans le forum Décisions SGBD
    Réponses: 11
    Dernier message: 14/04/2005, 09h17
  5. [TP]Problème dans la gestion des touches d'un tetris
    Par Guile0 dans le forum Turbo Pascal
    Réponses: 18
    Dernier message: 31/01/2005, 22h40

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