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 :

[Java] Generation d'imports


Sujet :

BOUML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Mucho
    Inscrit en
    Décembre 2005
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 221
    Par défaut [Java] Generation d'imports
    J'ai des petits problème avec la génération des "import" java.

    En fait, je ne comprend pas comment faire

    J'ai remarqué que les types (ie. les classes) des paramètres des méthodes sont générés en absolu. Un petit exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void maFonction(org.truc.Bidule bidule){ ... }
    Et du coup, quand il y a beaucoup de paramètres ça fait des noms super longs

    Donc je me demandais comment transformer cette génération en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import org.truc.Bidule;
    ...
    public void maFonction(Bidule bidule){ ... }
    Comment puis-je faire ?


    Et puis, de manière générale j'aimerai pouvoir rajouter des "imports", nécessaire au code du corps des méthodes.
    J'ai essayé de creer un lien de type Dependency entre la classe nécessitant l'import et la classe à "importer" mais rien n'a été généré.
    Est-ce normal ?

    Du coup, j'ai été bidouiller la Definition dans l'onglet Java de la boite de dialogue de définition de la classe. Mais je ne trouve pas ça très pratique. (surtout que je soupconne ma souris d'aller cliquer sur "Default definition" exprès pour effacer ces imports )

  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
    Citation Envoyé par Mucho
    J'ai remarqué que les types (ie. les classes) des paramètres des méthodes sont générés en absolu. Un petit exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void maFonction(org.truc.Bidule bidule){ ... }
    c'est obligatoire quand on n'est pas dans org.truc et qu'il n'y a pas d'import

    Donc je me demandais comment transformer cette génération en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import org.truc.Bidule;
    ...
    public void maFonction(Bidule bidule){ ... }
    Comment puis-je faire ?
    il ne faut pas mettre les imports dans la définition de la classe, mais dans la définition de l'artifact, et tu auras exactement ce que tu veux. Je ne me souvenais plus que j'avais fait un truc pareil et j'ai fait l'essai sans y croire, mais cela marche trop fort Bouml

    Donc, tu edites l'artifact, tu vas dans l'onglet Java et tu ajoutes les imports vers ${import} (j'avais mis ce mot clef en pensant un jour produire les imports comme les #includes en C++), en tout cas après ${package} et avant ${definition}

    J'ai essayé de creer un lien de type Dependency entre la classe nécessitant l'import et la classe à "importer" mais rien n'a été généré.
    Est-ce normal ?
    ben oui, je ne fait rien de special en Java (contrairement a C++), mais c'est vrai que je pourrais produire l'import de la classe en lieu et place d'${import}, et une dependance vers un package produirait l'import avec .*, tu as raison

    bonnes modélisations
    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é Avatar de Mucho
    Inscrit en
    Décembre 2005
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 221
    Par défaut
    Merci, je n'avais pas penser à modifier les artifacts.

    Par contre j'ai toujours des petits problèmes :
    Je ne sais pas trop comment changer la valeur de la variable $import
    donc j'ai ajouté "import org.truc.Bidule;" directement après {$import}.

    Par contre, les paramètres générées pour la fonction restent absolus. J'ai maintenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import org.truc.Bidule;
    ...
    public void maFonction(org.truc.Bidule bidule){ ... }

  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 Mucho
    Je ne sais pas trop comment changer la valeur de la variable $import
    donc j'ai ajouté "import org.truc.Bidule;" directement après {$import}.
    c'est ce qu'il faut faire

    Par contre, les paramètres générées pour la fonction restent absolus. J'ai maintenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import org.truc.Bidule;
    ...
    public void maFonction(org.truc.Bidule bidule){ ... }
    pour que cela marche il faut
    • que le type du paramètre bidule soit bien une référence vers Bidule, et non la chaine de caractère org.truc.Bidule
    • que Bidule soit bien une classe déclaré comme étant dans le package org.truc
    Images attachées Images attachées  
    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
    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 bruno_pages
    ... c'est vrai que je pourrais produire l'import de la classe en lieu et place d'${import}, et une dependance vers un package produirait l'import avec .*, tu as raison
    c'est fait dans la version 2.26.2
    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

Discussions similaires

  1. Java et C++: importance des operateurs assignation
    Par nabil.g dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 25/08/2013, 13h55
  2. SimpleDateFormat : java.text impossible à importer côté client
    Par Flaburgan dans le forum GWT et Vaadin
    Réponses: 2
    Dernier message: 22/06/2010, 14h58
  3. Soapui cxf java generation failed
    Par LittleBean dans le forum Services Web
    Réponses: 1
    Dernier message: 04/05/2009, 12h05
  4. [FLASH 8][openAMF][remote][java]probleme d'import
    Par Invité dans le forum Flash
    Réponses: 5
    Dernier message: 02/12/2005, 17h51
  5. [Strategie][Java][XML] Import dans une base de données
    Par nad dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 23/09/2002, 11h12

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