2009-09-23 9 views
0

번들 외부에있는 몇 가지 추가 XML 파일 (표준 Eclipse 확장 포함)이 있습니다. 해당 파일의 extns/extnpoint를 플랫폼의 확장 레지스트리에 제공 할 수있는 방법이 있습니까? ExtensionRegistry에 새 plugin.xml을 제공 할 수 있습니까

나는
`Platform.getExtensionRegistry.addContribution(..)` 

을 시도하지만 방법은 내가 액세스를 해달라고 masterToken 객체를 소요하고있는없이 나에게 예외를 제공합니다.

답변

0

일부 내부 방법을 사용해야합니다. 여기 내가하는 일이 있습니다 :

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

Francis, 나는 비슷한 것을 사용합니다. 하지만 여기에는 두 가지 문제가 있습니다. (worng이면 나에게 맞습니다.) a) 임시 토큰을 사용하면 기여가 지속되지 않습니다. b) 내 시스템이 OSGI 시스템 임에도 불구하고 새로운 기여는 non-osgi- 번들 제공자. ContributorFactoryOSGi를 사용하지 않고 기여자를 만들었지 만 osgi 기여자와 sogi 기여자가 실제로 어떻게 섞여 있는지 잘 모르겠습니다. –

+0

귀하의 우려 사항에 대해 답변하는 방법을 모르겠습니다. Eclipse Runtime Equinox 뉴스 그룹 (eclipse.org)에 게시 할 예정이며, 웹 포럼 인터페이스도 있습니다. 그러면 도움이 될 것입니다. –

+0

당신은 또한 여기에 링크를 게시 할 수 있습니다, 그래서 나는 후속 조치를 취할 수 있습니다. 감사. –

관련 문제