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 Modeling Discussion :

Modification d'un plugin existant et réintegration dans Eclipse


Sujet :

Eclipse Modeling

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut Modification d'un plugin existant et réintegration dans Eclipse
    Bonjour à tous.

    Je travaille actuellement sur la modification du plugin de generation de code uml2c contenu dans Topcased.
    Ce plugin se base sur des template Acceleo pour générer du code.
    J'ai récupérer les sources du plugin via le CVS et j'ai donc dans mon workspace les trois parties du plugin:
    la base: les templates
    le launcher: pour les menus dans eclipse
    les propriétés: contenant les classes utilisées

    Alors mon but est uniquement de modifier les templates pour qu'ils fassent exactement ce que je veut.
    Donc mes templates sont modifiés (en fait j'ai surtout supprimé des lignes qui ne me servait à rien) et donc j'exporte mon plugin.
    Jusque la pas de problème.

    Je redémarre Eclipse et je teste ma generation de code.
    Je fais clique droit sur mon modèle, Code generation, Generate C
    La une petite fenetre de progression s'ouvre et la generation se fait.
    Seulement, j'ai un problème, il me génère aussi un fichier de log avec des erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    Position -8 : EVAL : Erreur de runtime : Le service java [includePackageName () boolean - ConfigurationServices] a levé l'exception : 
    java.lang.NullPointerException : null, dans le fichier : /org.topcased.uml2c/src/org/topcased/uml2c/template/common.mt, à la ligne : 77, colonne : 6, pour l'objet : fragment=_4CankHeMEd6RSOlQDEe8Dg fichier=/resource/org.topcased.uml2c/Acceleo/Blank.uml
    java.lang.NullPointerException
    	at org.topcased.uml2c.properties.Uml2CProperties.getIncludePackageNameProperty(Uml2CProperties.java:62)
    	at org.topcased.uml2c.utilities.ConfigurationUtils.getIncludePackageNameProperty(ConfigurationUtils.java:24)
    	at org.topcased.uml2c.services.ConfigurationServices.includePackageName(ConfigurationServices.java:24)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at fr.obeo.acceleo.gen.template.scripts.imports.EvalJavaService.eGetSub(EvalJavaService.java:470)
    	at fr.obeo.acceleo.gen.template.scripts.imports.EvalJavaService.eGet(EvalJavaService.java:328)
    	at fr.obeo.acceleo.gen.template.scripts.AbstractScript.eGet(AbstractScript.java:72)
    	at fr.obeo.acceleo.gen.template.expressions.TemplateCallExpression.evaluateSub(TemplateCallExpression.java:281)
    	at fr.obeo.acceleo.gen.template.expressions.TemplateCallExpression.evaluate(TemplateCallExpression.java:204)
    	at fr.obeo.acceleo.gen.template.expressions.TemplateCallSetExpression.evaluate(TemplateCallSetExpression.java:180)
    	at fr.obeo.acceleo.gen.template.expressions.TemplateParenthesisExpression.evaluate(TemplateParenthesisExpression.java:64)
    	at fr.obeo.acceleo.gen.template.statements.TemplateIfStatement.evaluateSub(TemplateIfStatement.java:207)
    	at fr.obeo.acceleo.gen.template.statements.TemplateIfStatement.evaluate(TemplateIfStatement.java:190)
    	at fr.obeo.acceleo.gen.template.Template.evaluate(Template.java:674)
    	at fr.obeo.acceleo.gen.template.scripts.SpecificScript.eGetTemplateSub(SpecificScript.java:1328)
    	at fr.obeo.acceleo.gen.template.scripts.SpecificScript.eGetTemplate(SpecificScript.java:1306)
    	at fr.obeo.acceleo.gen.template.scripts.AbstractScript.eGet(AbstractScript.java:131)
    	at fr.obeo.acceleo.gen.template.expressions.TemplateCallExpression.evaluateSub(TemplateCallExpression.java:281)
    	at fr.obeo.acceleo.gen.template.expressions.TemplateCallExpression.evaluate(TemplateCallExpression.java:204)
    	at fr.obeo.acceleo.gen.template.expressions.TemplateCallSetExpression.evaluate(TemplateCallSetExpression.java:180)
    	at fr.obeo.acceleo.gen.template.statements.TemplateFeatureStatement.evaluateSub(TemplateFeatureStatement.java:82)
    	at fr.obeo.acceleo.gen.template.statements.TemplateFeatureStatement.evaluate(TemplateFeatureStatement.java:69)
    	at fr.obeo.acceleo.gen.template.Template.evaluate(Template.java:674)
    	at fr.obeo.acceleo.chain.impl.spec.CGenerate.evaluate(CGenerate.java:364)
    	at fr.obeo.acceleo.chain.impl.spec.CGenerate.generate(CGenerate.java:288)
    	at fr.obeo.acceleo.chain.impl.spec.CGenerate.generateSub(CGenerate.java:352)
    	at fr.obeo.acceleo.chain.impl.spec.CGenerate.generate(CGenerate.java:341)
    	at fr.obeo.acceleo.chain.impl.spec.CGenerate.generateSub(CGenerate.java:352)
    	at fr.obeo.acceleo.chain.impl.spec.CGenerate.generate(CGenerate.java:341)
    	at fr.obeo.acceleo.chain.impl.spec.CGenerate.launch(CGenerate.java:228)
    	at fr.obeo.acceleo.chain.impl.spec.CActionSet.launch(CActionSet.java:51)
    	at fr.obeo.acceleo.chain.impl.spec.CChain.launchSub(CChain.java:148)
    	at fr.obeo.acceleo.chain.impl.spec.CChain.launch(CChain.java:115)
    	at org.topcased.uml2c.GenCOperation.execute(GenCOperation.java:62)
    	at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:104)
    	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
    	at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:116)
    	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:458)
    	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:366)
    	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
    	at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:275)
    	at org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:1191)
    	at org.topcased.uml2c.GenC.run(GenC.java:207)
    	at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
    	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)
    	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500)
    	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
    	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
    	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
    	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
    	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
    	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
    	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
    	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
    	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
    	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
    	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
    	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
    	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
    	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
    	at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
    Donc voila, ce n'est qu'un extrait car il me sort des erreurs pour plusieurs appels de fonctions que je n'ai pas du tout modifié.

    Quelqu'un aurait une idée ???? Un problème de dépendance ? de réexportation de plugin ? J'ai essayé beaucoup de choses mais je ne trouve toujours pas.
    A L'AIDE !!

    Arnaud

  2. #2
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Salut,
    Tu pourrais poster au moins le code de la partie qui lance l'exception ?

    at org.topcased.uml2c.properties.Uml2CProperties.getIncludePackageNameProperty(Uml2CProperties.java:62)

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Oups désolé !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    public static boolean getIncludePackageNameProperty(IResource model) throws CoreException
        {
            boolean value;
            String stringValue = model.getPersistentProperty(INCLUDE_PACKAGE_NAME_PROPERTY); 
            
            if (stringValue == null)
            {
                value = getDefaultIncludePackageNameProperty();
            }
            else if (stringValue.equals(Boolean.TRUE.toString()))
            {
                value = true;
            }
            else
            {
                value = false;
            }
            return value;
        }
    La ligne incriminée est la ligne rouge bien entendu ...

  4. #4
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Paraît que le paramètre model est null.

    Tu peux retrouver qui appèle cette méthode pour voir comment model est initialisé ?

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Points : 295
    Points
    295
    Par défaut
    et donc j'exporte mon plugin.
    Tu ferais mieux de travailer en mode Runtime ( ne lançant un eclipse de test à partir de ton eclipse de dev)

    As tu testé les templates sans les modifier ?
    Tu as récupérer les sources du cvs ( => en dev pas forcément stable si qq bosse dessus)

Discussions similaires

  1. [CVS] modification d'un plugin de la plateforme d'Eclipse
    Par DonKnacki dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 09/07/2009, 15h13
  2. [Plugin] Créer un Canvas dans un EditorPart
    Par Cyrion dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 07/04/2005, 15h31
  3. Existance de champ dans une page.
    Par Zebulon777 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/03/2005, 11h14
  4. [Q] que faire quand un plugin n'apparait pas dans eclipse
    Par zolive dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 30/08/2004, 23h38
  5. [ plugin ] Répertoire d'images dans une webapp
    Par mille_furies dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 26/03/2004, 15h41

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