2009-09-23 7 views
0

J'ai quelques fichiers xml supplémentaires (contenant des extensions eclipse standard) qui se trouvent en dehors de l'ensemble. Existe-t-il un moyen de contribuer les extns/extnpoints dans ces fichiers au registre des extensions de la plateforme?Pouvons-nous contribuer un nouveau plugin.xml à ExtensionRegistry

J'ai essayé

`Platform.getExtensionRegistry.addContribution(..)` 

Mais la méthode prend un objet masterToken, que je n'ai pas accès, et sans laquelle il me donne une exception.

Répondre

0

Vous devez utiliser des méthodes internes. Voici ce que je fais:

IExtensionRegistry reg = Platform.getExtensionRegistry(); 
    Object ut = ((ExtensionRegistry)reg).getTemporaryUserToken(); 

    IContributor cont = ContributorFactoryOSGi.createContributor(Platform 
      .getBundle(editor.getPluginId())); 


    if (!reg.addContribution(is, cont, false, null, null, ut)) 
     Util.impossible("Contribution not added due to error"); //$NON-NLS-1$ 
+0

Merci Francis, J'utilise aussi quelque chose de similaire. Mais il y a deux problèmes (corrigez-moi si je suis fatigué) ici: a) En utilisant des jetons temporaires, les contributions ne persisteront pas b) Bien que mon système soit un système OSGI, les nouvelles contributions proviennent d'un non-osgi- contributeur de bundle. J'ai créé le contributeur sans utiliser ContributorFactoryOSGi d'une manière ou d'une autre, mais je ne suis pas sûr de savoir comment mélanger les contributeurs osgi et non-sogi. –

+0

Je ne sais pas comment répondre à vos préoccupations. Je posterais dans le newsgroup Eclipse Runtime Equinox (sur eclipse.org - ils ont aussi une interface de forums web) et vous devriez pouvoir obtenir de l'aide. –

+0

pouvez-vous également poster le lien ici, donc je pourrais suivre. Merci. –

Questions connexes