2010-11-09 17 views
1

Est-il possible de lire une fonctionnalité comme son possible de lire un plugin utiliser l'API eclipse PDE? Actuellement, j'ai lu les plugins en utilisant:Comment lire une fonction installée (eclipse PDE)?

 Bundle[] bundles = Platform.getBundles(name, version); 
     if (bundles == null) { 
      throw new NullPointerException("No bundle found with ID: " + name 
       + " and version: " + version); 

     } else { 
      for (Bundle bundle : bundles) { 
      System.out.println(bundle.getSymbolicName()); 

      } 

     } 

Mais si je spécifie le nom d'une fonctionnalité installée, je viens d'obtenir null. Y a-t-il un autre moyen de lire les fonctionnalités?

Et quand j'ai lu la fonctionnalité je voudrais itérer tous les plugins qu'il référence.

+1

Les ensembles se réfèrent aux modules externes et non aux fonctions. Les fonctionnalités sont des unités logiques utilisées pour l'installation. – zvikico

Répondre

0

Vous pouvez essayer d'utiliser l'API p2 pour interroger la fonction installée. P2 est le gestionnaire de l'installation d'Eclipse.

// IProvisioningAgent is a OSGi service 
IProvisioningAgent agent = ...; 
IProfileRegistry profileRegistry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME); 
IProfile profile = profileRegistry.getProfile(IProfileRegistry.SELF); 
IQueryResult rt = profile.query(QueryUtil.createIUPropertyQuery("org.eclipse.equinox.p2.eclipse.type", "feature"), null);